Measuring and managing organizational AGILE Maturity

Measuring and managing organizational AGILE Maturity

The need for adaptation of AGILE methodologies picked up a lot from the late 90’s, even though the pain was being felt since almost 2 decades before. It was finally put together in the AGILE Manifesto in 2001. Today, almost every business is pursuing to bring in significant levels of improvement to the overall Agility. Agility, in simple terms, is the ability to respond to change. Agility, as defined on Wikipedia, is the body’s ability to respond to change utilizing a combination of balance, speed, strength, limb coordination in a controlled fashion. Business Agility refers to the ability of the business and it’s processes to respond to changing market conditions, end user preferences, business challenges and market competition. This same capability of being Agile is the intense focus of many organizations to transition their Software and Product Development into a more Agile way.

While there are many AGILE methodologies available to explore and adapt that provide detailed frameworks on how to run your software development in an AGILE way. However, the bigger question that comes in is how to measure the AGILE readiness or AGILE maturity at a point in time. This may be before starting the AGILE transformation, during or after. While converting the daily development procedures to follow iterations and AGILE engineering practices is good, the question still remains – are we there (AGILE enough) yet? 

AGILE principles are not just a set of guidelines or framework, these are rather a mindset. Guidelines can be taught in a classroom, whereas the mindset develops over a period of time through practice, success, failure and continuous learning. Typically, the stakeholders and technology leaders of large organizations would raise the questions about an AGILE Maturity Model. A model that has specific measurable criteria to assess the maturity of their organization on AGILE principles.

Below sections talk about various Subject Areas of AGILE development that can help measure and manage the AGILE maturity of an organization over a period of time.

Collaboration & Team Culture

Collaboration is at the heart of AGILE principles. Its all about the team members and teams working cohesively in cadence. Interaction frequency, quality of interaction and transparency all contribute towards the collaboration within the teams. Customer and stakeholder involvement is another aspect that plays a crucial role in overall collaboration. The key practices include:   

  • Cross-functional teams: Full complementary teams working to “get the job done”.
  • Co-located teams: Team members working from one location enabling frequent and real-time communication.
  • Real customer involvement: Continuous customer feedback loop, customer participation and partnership during development cycles.
  • Standup meetings: Regular meetings to keep progress in check, address issues on time.
  • Information radiators: Transparent information sharing at all levels from teams all the way up to stakeholders.

Planning and Tracking

No AGILE model is successful without proper planning and tracking in place. Transparency in planning and commitments, tracking on a regular basis with visibility at all levels is the key to a matured AGILE implementation. As the planning and commitments are done at the team level, delivery becomes predictable. The key practices include:

  • Product vision: Definition of a clear vision and roadmap of the product being built.
  • Release planning and predictability: Planning for releases with a roadmap, enabling stakeholders with some predictability.
  • Team planning: Team level planning activities with common estimation techniques, understanding team capacity and velocity.
  • Risk planning: Planning for the unknowns around longer term commitments or product features.
  • Reporting: Reporting of data at all levels on a real time basis.
  • Iteration demos: Includes a demo to stakeholders enabling immediate feedback.
  • Retrospectives: Analysis, inspection and improvement activities.

Development and Testing

Best practices around Development and Testing areas are a big enabler for an AGILE team to succeed. The emerging trends around reusable components, automated testing, automated deployment, failovers etc. enable the development teams to respond faster, better at cheaper costs. The key practices include:

  • Test Driven Development: Core part of XP practices, enables high quality code production.
  • Refactoring: Enables developers to revisit their code for possible improvements without changing behavior, making it compatible with future changes.
  • Integration: Continuous integration of code to avoid later merging issues challenging code quality.
  • Deployments: Continuous deployments at a regular interval to minimize environmental or compatibility issues.
  • Automated Testing: Testing made part of the Integration and deployment activities to ensure high quality code availability and reduction in production bugs.
  • Performance optimization: Performance testing done at regular intervals integrated within the development cycle.

Release and AGILE Engineering practices

Engineering practices are the enablers of sustainable high quality code delivery on a regular basis. These are a set of practices established over a period of time easily available for reference. Teams implement these practices within their development cycles, mature them with more control and collaboration. Teams also need support from Engineering Leaders and Sponsors in terms of timely tools availability. The key practices include:

  • Definition of done: Ensure that all work done actually complies with the checklist of getting it done before releasing, including functional and technical checkpoints.
  • Version control: Important tooling for developers for collaboration and source control supporting development and support activities.
  • Continuous Integration: All code from developers is integrated and tested on a regular basis to ensure early detection of code quality issues.
  • Continuous Delivery: Delivery of code to an advanced environment (e.g. Staging) to detect any deployment or environment related issues early.
  • DevOps: An engineering discipline combining Integration, Delivery, Infrastructure setup and maintenance, failover and recovery practices.
  • Lightweight documentation: Reduced cost while ensuring documentation accuracy.
  • Set based design: Keeping multiple design options open to fall back on the best option as the architecture and design emerge.

Happy Sprinting!

要查看或添加评论,请登录

社区洞察

其他会员也浏览了