Agile Development: Getting started in 6 steps
Agile Transformation — Part I
Our Director of Technology, Kumar Madhavan, is sharing his experience as part of transitioning various programs and projects in adopting agile principles, which in part or in total made them successful. This blog series will give a guideline of steps for an organization to successfully start Agile Transformation from scratch, from having no understanding of agile to being a successful team in delivering the objectives of the project.
Agile transformations in organizations require meticulous planning, execution, training, and continuous coaching. While doing such transformations, training the team throughout the agile journey is critical. What’s important to note here is that it is also equally important to train management and customers throughout the transformation process.
As you shift to agile, each project-whether it’s traditional software development for inhouse or a cloud-based application, or new infrastructure-will be unique in their transformation and no two projects, product, or team journey will be identical. The experience of leading the transformation is quite unique and can deliver high risks and high rewards for the agile transformation.
A well-thought-out transformation can result in on or before-time delivery, meeting and exceeding customer expectations, high quality product, and just enough documentation. Whereas a poorly executed transformation can lead to significant loss of reputation and see a dent in employee morale.
The beginning: Your checklist for a successful transformation
Undergoing major transformations often requires a starting point. I’ll talk about the set of activities that should be considered to begin the transformation process. In order to successfully shift to agile, you need the following things in place. Each one will be discussed in detail below.
1. Candidate project
I suggest you start with one project and scale agile by replicating success and lessons learnt. Identifying the right candidate project is critical, and this can determine the success or failure of the agile transformation. The project or product you’ve identified for such transformation should have clearly defined objectives, is sufficient to market, has identified value, is sufficiently budgeted, and has a dedicated team. The customer or client involved in the project should also be willing to transition to this new methodology of working. This would allow your team, including the customer and vendor teams, to adapt and accept the new ways of working. In future sections, to avoid confusion between project or product, I will refer it as project.
2. Candidate team
In any agile journey, you should form a team that consists of customers, business analysts, the software or application development team, testers, and the management team. The team should have a mindset to continuously adapt, be open to challenge, be willing to change the current ways of working, and have a strong commitment to deliver the identified project.
Make sure to choose the team members wisely. For a successful transformation, I suggest you hand-pick and mix-and-match members who are highly motivated, have technical knowledge, and have a can-do attitude. I also recommend you have one-on-one discussions with each individual member to understand their aspirations. Aligning the organizational objectives with individual objectives can significantly affect the success of the transformation. In addition to establishing why the journey is being taken, the one-on-one can also be an ice-breaking session to connect with members at a professional and personal level.
Must-read: AI in HR: Helping human resources be more human
3. Agile coach
The agile coach is another key player who can help ensure a smooth transformation. This is a role that should be carefully chosen. An effective agile coach has sufficient experience and knowledge in agile, has the ability to carry out such transformations, and can motivate people. On top of training the team on agile principles, the coach can also act as a liaison between the candidate team, customers, and management. During the initial days, the coach needs to be part of the team’s everyday activities — basically be part of the team — to continuously mentor what they should do and to ensure adherence to agile principles.
4. Training for the team
After identifying the right agile coach who can help with the transformation, another key aspect you should take care of is training. The goal is to understand the current challenges faced by the team. Additionally, the coach should ensure that at least one solution can be given for every challenge raised. The discussion may also bring to light the team’s managerial, organizational, interpersonal, and technical shortcomings.
At the minimum, the Business Analyst, Technical Team, and Testing team should participate. Throughout the training, everyone should adopt a mature outlook for continuous learning.
The training sessions should cover the Software Development Lifecycle Methodologies and its differences, the Agile Manifesto, the empirical process, and the chosen agile methodology. For our implementation, we chose Scrum, so we also covered Scrum Methodology and the various Scrum Roles, Artefacts, and ceremonies. The training should also cover the steps to preparing for the first sprint (Sprint 0/Sprint zero), generic guidelines on the team ground rules, the definition of ready, and the definition of done.
The training can end with an open discussion on how agile can be implemented and what challenges the team might face. This will give a clear picture of the expectations of various team members in making the agile transformation successful. This will also help to give a safe and secure environment to openly discuss the challenges.
Must-read: 5 application security risks telcos should look out for
5. Training for senior management and customers
Once the team is sufficiently trained, the summary of the discussion and approach should be presented to both the senior management and customers for them to understand what lies in the road ahead. An indicative timeline for transitioning the team can also be shared. You should also establish the need for a periodic touchpoint meeting with both senior management and the customers as the transition progresses.
One of the common misunderstandings of Agile is that the projects do not have a defined end date and the requirements can be introduced anytime in the project. Like any project Agile projects are executed with a fixed budget with:
- Either the time is flexible when the scope is defined. There is probability of budget overrun which has to be managed.
- The scope is flexible that the project will be delivered on a given date with a flexible set of features.
6. Alignment session
Last but not the least, you need an alignment session with the team before starting Sprint 0. An open discussion on how the challenges identified in step 4 can be resolved with volunteers to resolve them. Get agreements on the Sprint 0 ground rules, technology training required, definition of ready, definition of done, iteration burn down chart, and release burn-down chart. This will help the team understand the tasks they have to accomplish for the Sprint 0.
Stay tuned for the next articles in the “Your Guide to Agile Development” series:
Part II — Now that we’re ready, what’s next?
Part III — Beginning the first iteration
Part IV — Taking the iteration forward
Part V — The role of the Product Owner
Part VI — The role of the Scrum Master
Part VII — Understanding and working on challenges
Originally published at https://blog.ducenit.com.