Why Be Agile?
Until the late '90s, Waterfall was very popular in the software development world. Businesses used to give requirements upfront and IT teams developed software based on these requirements. Projects could go on for months or years as teams faced the challenges of adapting to changing market dynamics. Budget and schedule overrun were some of the big hurdles facing development companies, and most of the time leadership learned about these challenges quite late in the process.
Business needs are changing very fast and software development has become extremely complex due to data privacy, technology shift, and rapid business expansion across the globe. IT is enabling function and the challenges we face are far greater than they were previously. Over time, software development expectations have changed and IT and business have had to increase their effectiveness in order to stay competitive in the market.
Agile came into the picture to overcome software development challenges, and, over the past several years, it has become a very popular way of developing software. In my mind, it is not just a software development approach, but also a way to approach your other goals in life. The Agile Manifesto is very powerful if thoroughly understood.
How to Kick Start Agile Development?
Many organizations or teams think about going Agile but struggle with various challenges. These challenges, however, can be easily conquered, even if the organization or team has very little knowledge of Agile. Please note that in this article, I have assumed the use of Scrum.
To kick start your Agile adoption journey, here are six simple steps:
Step 1: Determine Goals
It is extremely important to define clear measurable goals about what you are trying to achieve as an organization or team by shifting to Agile. Organizations and teams have their own unique goals and reasons behind adopting Agile. In this activity, a member from each area of senior leadership, the technical team, and an Agile Coach should work together to determine a clear goal. Once goals are defined, they should be communicated to everyone.
Here are sample goals:
Goal 1: “As an organization, we want to release new features to our customers every month.”
Goal 2: “As an organization, we want to reduce software development re-work by 60%.”
Goal 3: “As an organization, we want the ability to change development priorities based on market dynamics.”
Step 2: Form a Team
Based on the goals you defined in Step 1, it becomes very easy to identify what types of team members are needed to have an effective Scrum team. A normal Scrum team consists of 7 + 2 people. This team should consist of Developers, Testers, a Scrum Master and a Product Owner who is going to liaison between the Business Unit and the Scrum team.
Step 3: Setting Expectations
Once your team members are identified, it is extremely important to have the right expectations in place.
Here are some of the examples:
Leadership Expectations – Let the leadership team know that it is common that Scrum teams struggle in their initial days and it will take at least 4 to 5 Sprints before they become mature in the process and communicate clearly on when they can expect to produce deliverable code.
Business Expectations – Let the Business Unit know what to expect in demos and how to collaborate with the Product Owner. Meeting at a set time on a regular basis is an important factor in getting business objectives aligned with IT.
Product Owner Expectations – Set an expectation with the Product Owner about continuous backlog grooming. Along with the Scrum team, identify criteria for the Definition of Ready and this will give the Product Owner a clear idea of how to prepare for the upcoming Sprint planning phase.
Scrum Master Expectations – Sit down with the Scrum Master and hash out what is expected from them in their role. Send for formal coaching and this will certainly help the person to come onboard and perform up to expectations.
Scrum Team Expectations – Set an expectation with the Scrum team about Extreme Programming and all ceremonies.
It is extremely important that expectations are set based on the goals defined in step 1.
Step 4: Ceremonies
Define required ceremonies. In my opinion, at a bare minimum, you should include Sprint planning, a daily stand up, a mid-Sprint review, a Sprint demo, and a Sprint retrospective. All these ceremonies should be pre-defined and should be on everyone’s calendar before the Sprint begins. The business team and senior leadership should also be aware of each of these ceremonies. In my opinion, if all ceremonies are not clearly defined and pre-booked in the calendar, the team will struggle to stay disciplined.
If all ceremonies are not sincerely followed then everyone will eventually start feeling frustrated.
Development Team – “There is always chaos, so why we are still following Agile processes?”
Business Team – “What IT is doing? We are not seeing working software and we were told we would see working software more frequently.”
Leadership – “We were anticipating an early return on investment but we are not seeing frequent releases.”
Step 5: Scrum Board
Many tools are available and can easily replace a Scrum board, but it is always good to have a Scrum board where a team can track their stories along with dependencies, conduct daily stand-ups, and update the board accordingly. This board will be one central location for all information needed for the Sprint and current progress on Sprint goals.
Step 6: Leadership Communication
If leadership has no or very limited knowledge about Agile then it becomes very crucial to have ongoing communication with the leadership. On a regular basis, guide leadership about how they can measure productivity. Define matrices they can regularly see and help them to interpret metrics.
Every organization and team has their own learning path, and, eventually, they will figure out how to excel with Agile. It is all about the commitment to being Agile, embracing the change and challenges that come with this commitment, and, in the end, most of the team cherishes their journey and won't want to go back to the old way of operating. The steps I have discussed in this article will give you a foundation on which to start the entire process.