Agile Scrum in DevOps Ecosystems, Part One
Thusi Hettigama is a Manager in the Project Management Office at Green House Data and a DevOps enthusiast. Follow him on LinkedIn.
In early 2001 I was involved in a software development project on integrating bolt-on application to a JD Edwards ERP software platform. The team completed the initial requirements collection and developed a comprehensive Business Requirement Document (BRD), investing roughly two to three months. The team had multiple review sessions to identify gaps in the requirements process and after a few cycles received approvals to proceed to the development phase.
While development was in progress, some of the EDI-based vendor data sources changed the mapping. This situation created chaos in the project. The management team decided to hold off the development phase. The project had to go through the requirements cycle again to identify the gaps. This situation impacted the schedule and budget, creating massive frustration in the organization. The first six months of the project investment was on hold. The sequential software development process we followed did not allow the flexibility to deliver any incremental value to the organization since the beginning of the project.
If we had followed an agile approach, this challenging outcome might have resolved in a different manner. The short intervals of development would have produced incremental value to the organization. Therefore we would have minimized the organizational concerns of not providing any value for six long months.
Here's how agile practices, Scrum, and DevOps all work together. Learn how to overcome adoption obstacles and several keys to Scrum success in this two-part blog series.
Scrum, Agile, and DevOps
The demand for agility is becoming critical to succeed in fast-paced business environments. Within software development, the replacement of infrastructure with infrastructure as code has become remarkably important. The DevOps concept allows organizations to achieve agility goals. Agility, focusing on planned work, reducing batch size, working on intervals to increase the speed of delivery, amplified feedback loops, and continuous deployment capabilities are some of the key contributors from DevOps that helps organizations to be at the top.
In the Agile world, experts acknowledge that Scrum is a proven and widely adopted framework for achieving agility. Scrum helps to identify planned work. Also, by reducing the batch size and the intervals of work, project teams increase the velocity of delivery. Scrum provides a strong feedback loop where necessary corrections can be continually applied while delivering incremental value to the organization. Scrum is a repeatable process that can go until all the outstanding user stories completed, the budget is depleted, or the deadline reached.
In 1995, Jeff Sutherland and Ken Schwaber jointly presented a paper called "The Scrum Development process" at Object-Oriented Programming Conference in Austin, Texas. This paper essentially gave birth to the 'Scrum' Development methodology. The word "Scrum" was used based on the Harvard Business Review article "The New Product Development Game (1986)", authored by Takeuchi and Nonaka. The authors compared high-performing, cross-functional product development teams to rugby teams using the Scrum formation.
Scrum concepts will not work if you don't have agile teams. Just changing the roles and responsibilities based on Scrum theory will not make a truly agile team. It needs a complete mindset change, continuous practice on self-organizing work, and the ability to tolerate changes during the cause of the project.
Being agile in a non-agile organization can be an arduous task to achieve. Most difficult is the shift in mindset to follow agile principles. This change needs a commitment from the organization top-down. Also, this is not an overnight shift. It is a gradual transformation.
The Scrum framework is not a prescriptive process, either. Experts generally refer to it as guardrails. The guardrails will not define your driving habits, the way you drive, or the destination. They protect you within the road boundaries; similarly, Scrum helps you to be on track, and that will result in a successful project. You must decide how you implement agility within those Scrum guardrails.
Essential Roles for Scrum Agility
The Scrum approach delivers incremental results in two to three week intervals. Therefore, the team is aware of whether they on track or not sooner than the traditional approach. The assessment of whether the team is on track or not is derived from the fast feedback loop. To facilitate this, the project needs to have access to the right business owner to help guide project decisions. The Scrum framework solved this by introducing a role called Product Owner.
The Product Owner is the business representative committed full time to the project team. They discusses details with relevant business partners and identify work items for the project backlog. These backlog items build as a user story, and at the same time, the Product Owner determines the acceptance criteria for each backlog item to be successful.
The team reviews the backlog items and decides what they can accomplish in the next two to three weeks. The team develops its solution and tests to ensure the solution meets the acceptance criteria set by the Product Owner. At the end of the two to three weeks, the team demonstrates its accomplishments to the Product Owner. The team also discuss lessons learned and decide the next steps to improve their work practices.
The other crucial role Scrum introduced is the person who facilitates day to day challenges and change management. This role is called the ScrumMaster. The authority of the ScrumMaster is indirect. The ScrumMaster brings Scrum framework knowledge to the team, coaching the team on Scrum rules and practices. This role is different from the traditional Project Manager. The ScrumMaster is a dedicated full-time role.
Now that you know the basics behind agile Scrum practices and how they can apply to your IT lifecycle, the second part of this series takes a look at the four key values of agile methodology and describes how to change your mindset to accomodate Scrum.