Implementing Agile 101
Any organisation planning to implement Agile must be prepared to face the challenges ahead. While it has proven to provide an advantage to most startup companies, the more established organisations have faced more challenges in achieving their desired objectives.
Agile is often misunderstood as an approach to managing projects. Actually, agile methodology entails practices that encompass a change in the organisation's culture and a shift to a new management style. If your organisation is planning a shift to Agile, below is a simple guide to fast-track your transition.
Be prepared to change mindset
A change of mindset is crucial in Agile transition. Organisational values must be transformed to align with the agile manifesto and principles. These manifesto and principles are the driving forces in every successful agile implementation. It is imperative that the agile mindset is inculcated in all levels of the organisation.
The Agile Manifesto prioritises individuals and interaction, working software, customer collaboration, and responding to change. The manifesto is supplemented with the Agile principles to make sure that products are developed iteratively to satisfy the customer requirements.
Individuals and interaction
With Agile, there is an emphasis on team collaboration, learning, empowerment, and customer interaction. You need to give up the hierarchy style of management where the team waits for the manager to make decisions. Leaders must be the first to accept that the old culture must go, and let the new culture of empowerment develop in the organisation.
Ideally, members of the Agile team are co-located for easy collaboration. With Agile, face-to-face conversation is considered as the best way to communicate. Individuals and interaction are given priorities over processes and tools. The team is empowered to self-organise, and with trust in place, they are free to examine their own mistakes and continue to learn.
A working software is the primary measure of progress in Agile. A comprehensive software documentation is not required. When the product vision is defined and the core features are identified, the software development can commence. When one iteration is complete, the customer provides feedback. The feedback is added to the next iteration, and the process goes on until the product becomes a minimum viable product.
There is no detailed planning with Agile. A product owner is assigned to define the vision and the roadmap of the project. Priority is given to important features, and the rest are considered in the later iterations. In Agile, simplicity is considered essential. However, there is a wrong notion that Agile is a haphazard methodology. Even with fast-track Agile software development, technical excellence and good architecture design are still considered of utmost importance.
Putting an emphasis on customer satisfaction is not something new. Agile, however, explicitly put the customer in the middle of the software development to give feedback. This is to make sure that the created product in a particular iteration is acceptable.
Incrementally delivered working product and continuous customer input would mean that a much better version is released after every iteration. An Agile-mindset customer understands the agile principles, and not fixated on the accuracy of project estimates.
Responding to change
Change is constant and that is welcomed in Agile. Even with very comprehensive software requirements, change requests are usually difficult to manage. In Agile, sometimes the original product idea is not the actual product you delivered. Since the customer is allowed to give feedback, it is also expected that the outcome will change. The change may be internal, customer-driven or market-driven. Sometimes the direction changes based on market trends or availability of project budget allocation.
Plan your Agile transition
Transitioning to Agile is not as easy as throwing all your scheduling Gantt charts and start using post-it in managing your projects. There is a need to understand the reasons for the transition, and the preparations to embark in such an endeavour. It is worth asking some of these questions before making a decision to shift:
A concrete reason for the transition is a good foundation for starting the Agile transition. For example, some companies aim to have better products while others want to develop a better culture.
When do we start?
Defining how soon you want to implement Agile determines the level of your transition preparation. It will help you define your implementation strategy.
What is our strategy?
Starting the transition in your IT department as a pilot is a good start, but make sure that the endeavour is publicised organisation-wide. With top-level management involvement, the Agile transition will be considered a major initiative that warrants support from everybody.
What resources are needed?
The availability of appropriate Agile tools provides a backbone environment in your transition. Assess if your current tools can support the common Agile practices. For example, it would be good to have tools with a Scrum board, Kanban board, and Burndown chart features. When it comes to human resources, you might want to hire Agile coaches to conduct training and mentoring.
Are we ready for Agile?
Conduct an honest discussion about whether the organisation is ready to let go of the old processes and practices. If pure Agile is not realistic, you may decide to apply hybrid agile. You retain some of your processes, but you start practising some of the Agile practices. With Agile, there are no fixed processes. Your company can slowly evolve your practices to achieve your goals. Adaptation means continuous improvement in terms of culture, practices, product, services, and other aspects of the organisation.
With software development, make sure that the software engineering practices are retained. Agile or not, always remember that analysis, design, coding, testing, and deployment practices are the core processes in developing software.
Will it impact our current clients?
Also, consider how to manage clients once you transition to Agile. Training may be provided, if necessary. An agile mindset alignment with your client optimises the productivity of an Agile team.
Execute and learn to adapt
There are many different approaches to implementing Agile, but you can define your strategy with the support of an Agile coach:
With piloting, you are implementing Agile in selected teams or departments. A coach or a mentor is assigned to make sure that the agile practices are followed. The teams are groomed to be self-organising and empowered to make decisions. The agile coach usually observes and gives feedback for improvement. However, the team is expected to assess their own performance and decides to improve further.
Having agile evangelists is advantageous in spreading out the agile concepts across the organisation. For example, the scrum masters may conduct training to share their experiences with others. This would be a good venue to answer questions and apprehensions about the agile methodology.
The success of your Agile transition is in your ability to adapt, meaning in your ability to recognise your weaknesses and correct them. Usually, there is a retrospective meeting for the team to discuss the good practices and their points for improvement. The team examines how their team operates, inspects the product status, and assesses how they perform in their agile practices. The retrospective results serve as input to the next iteration planning.
In summary, when transitioning to Agile you must not ignore the importance of the cultural and change-management implications. The culture shift affects all levels of the organisation, including a change in how the executive level operates. Top management involvement usually increases support and lessens the change resistance. Moreover, the success of your Agile transition depends on your adaptability to change, and your ability to adjust practices for continuous improvement.