Maintaining the Agile discipline and balance
The main purpose of Agile is that one should start delivering business value (vertical slices) of the solution on a continuous basis with Program Increment (PI) and two to three week Scrums. Agile is like any other technology. It can be used to great effect, or abused to dismal failure. There are many reasons why this is so.
The Scaled Agile Framework (SAFe) provides a benchmark to allow Agile to scale with the effective use of Scrum, Development, Continuous Integration and Continuous Deployment (CI/CD). Where Agile has failed is primarily on account of ineffective Product Ownership. This is a crucial element of the team alongside the Scrum Master and Scrum Team that determines success or failure.
- Needs to be extremely knowledgeable about the Domain, be a Subject Matter Expert and a Problem Solver in the business area for which the software is being designed and implemented
- Needs to be highly available to answer questions. Needs to communicate during background grooming and Sprint planning meetings. And while working on the story, needs to get questions answered
- Needs to respond quickly and get back to the team with decisive answers
The terms “Definition of done” and “Acceptance Criteria” need to be clearly understood.
“Definition of Done” means the story has been completed, the unit tests have been run, there are no bugs in the code, the code has been checked in, it has been peer-reviewed, and because Security is paramount – the checklists on Security have been documented. “Acceptance Criteria” needs to be very clear in terms of its business value. This section of the log book needs to be completed, and the code should be compiling and tested. This is where Product Owners and Scrum teams get together!
It is imperative to have a lot of good stories, with three points or less. One needs to break the stories down into something one can actually visualize. For instance, if one begins a 5-point story in the second week, one ought not to get any credit for that. Stories should get done within the Sprint, and shouldn’t be leaked into the next Sprint. Stories get completed during the retrospective part of the Sprint.
Keys to make Agile Successful
- Management buy-in – the entire Development Team needs to be on the same clock. Every Scrum team should ideally start and end on the same day
- Effective Product Owners
- Good self-organizing/governing teams
- Backlog grooming: going over upcoming stories, spending time as a team and discussing stories. During Sprint planning, one should not be discussing the stories, and the meeting can realistically get done in half an hour. Any new requirements and scope-creep go into the backlog
- Training helps a lot in order to get things structured. There ought to be two training sessions – one while going through the process, followed by one to develop one’s own team experts, and subsequently a re-evaluation after 4 to 6 months
- Cannot do Scrum without a dedicated Scrum Master; cannot double up a Scrum as a Scrum Master. Two weeks of Scrum is required – one day of Sprint review, followed by one day of Sprint
In the final blog on this subject, we will cover the importance of team cohesion in Agile.