There is a lot of talk about Agile Methodology.
And with good reason.
Because teams that want to keep up with trends, keep their customers happy in the long term, evolve. And don’t forget that team member satisfaction is just as important.
So fast product delivery, low costs, happy customers and a happy team.
What does that mean?
Agile methodology is a way of managing a project by dividing it into phases. It involves constant collaboration with stakeholders and continuous improvement at each stage. Once work begins, teams go through a process of planning, execution and evaluation. Continuous collaboration is vital, both with team members and project stakeholders.
The ultimate value in applying the Agile Methodology is that it enables teams to deliver value faster, with greater quality and predictability, and with improved abilities to respond to change. Scrum and Kanban are two of the most widely used Agile methodologies.
Learn how to apply Agile tools to get projects off the ground quickly and enjoy a high success rate by joining the team on the course: Agile Methodology, where you will receive a program tailored to your company’s specific business.
WHAT ARE THE BENEFITS OF AGILE METHODOLOGY?
- For customers. They find that the vendor is more responsive to development requests. High-value features are developed and delivered faster, with shorter cycles compared to the long cycles that apply with traditional waterfall methodologies.
- For vendors. Vendors reduce waste by focusing development effort on high-value features thereby reducing time-to-market. As a result, costs are reduced and efficiency increases. As a result, improved customer satisfaction leads to increased customer retention and positive vendor referrals.
- For the development team. Team members enjoy development work and like to see their work used and appreciated. Scrum benefits team members by reducing unproductive work (e.g., writing specs or other artifacts that no one else uses) and giving them more time to do the work they enjoy. Team members also know that their work is appreciated because requirements are chosen to maximize value for customers.
- For Product Managers. Product Managers, who typically fill the role of Product Owner, are responsible for making customers happy by ensuring that development work is aligned with customer needs. Scrum makes this alignment easier by providing frequent opportunities to re-prioritize work to ensure delivery of the product with maximum value.
- For Project Managers. Project Managers in the ScrumMaster role find that planning and tracking are easier and more concrete compared to waterfall processes. The focus on tracking task accomplishment, the use of Burndown Charts to show daily progress, and daily Scrum meetings all together provide the project manager with tremendous awareness of the project status at any given moment. This awareness is essential for monitoring the project and quickly identifying and addressing issues.
- For PMO and C-level managers. Scrum provides high daily visibility into the development status of a project. External stakeholders, such as C-level directors and PMO staff, can use this visibility to plan more effectively and adjust their strategies based on more solid information and with less speculation.
What is SCRUM?
Scrum is a subset of Agile. It is the most widely used and lightweight process framework for agile development.
A “process framework” is a particular set of practices that must be followed for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so on.)
“Lightweight” means that the overall cost of the process is kept as low as possible to maximize the amount of productive time available for doing useful things.
A Scrum process is distinguished from other Agile Methodology processes by specific concepts and practices, divided into the three categories of roles, artifacts, and timeboxes. These terms and others used in Scrum are defined below. Scrum is most often used to manage complex software and product development, using iterative and incremental practices, but it can be applied to other domains as well. Scrum significantly increases productivity and reduces the time it takes to realize benefits compared to traditional “waterfall” processes. Scrum processes enable organizations to seamlessly adapt to rapidly changing requirements and produce a product that meets business objectives. An agile Scrum process benefits the organization by helping it to:
- Increase the quality of deliverables;
- Cope better with change;
- Deliver better estimates while spending less time creating them;
- Have control over project schedule and status.
WHAT ARE THE SCRUM REQUIREMENTS?
Scrum doesn’t define exactly what form the requirements should take, but simply says that they are collected in the Product Backlog and generically referred to as “Product Backlog Items” or “PBI” for short. Given the time-framed nature of a Sprint, we can also deduce that each set of to-do items should take no more time to implement than the duration of the Sprint itself. Most Scrum projects borrow the “XP” (extreme programming) practice of describing a feature request as a “User Story”, although a minority use the older concept of “Use case”.
User Story
A User Story describes a desired feature (functional requirement) in narrative form. User Stories are usually written by the Product Owner and are the responsibility of the Product Owner. The format is not standardized, but typically has a name, descriptive text, references to external documents (such as screenshots) and information about how the implementation will be tested.
Story
Not all requirements for new product/project development are features that end users will use, but they represent significant work that still needs to be done. These requirements often, but not always, represent work that needs to be done to support the features needed by end users. We call them “Technical Stories.” They have the same elements as User Stories, but they do not need to be transformed into narrative form if there is no benefit in doing so. Technical stories are usually written by team members and added to the Product Backlog. The Product Owner must be familiar with these stories and understand the dependencies between them and the User Stories in order to categorize (sequence) all the stories for implementation.
Default
A defect or bug report is the description of the product’s inability to behave as expected. Defects are stored in an error tracking system, which may or may not be the same system used for storing User Stories i.e. the Product Backlog. If not, then someone (usually the Product Owner) has to enter each Defect into the Product Backlog, for sequencing and scheduling.
WHAT ARE THE SCRUM ROLES?
The three roles defined in Scrum are the ScrumMaster, the Product Owner and the Team (which is made up of the team members). The people who fulfill these roles work closely together every day to ensure the smooth flow of information and rapid problem resolution.
ScrumMaster
The ScrumMaster (sometimes spelled “Scrum Master”, although the official term has no space after “Scrum”) is the owner of the process. The ScrumMaster is responsible for keeping the process running smoothly, removing obstacles that affect productivity, and organizing and facilitating critical meetings. ScrumMasters responsibilities include:
- Teaches the Product Owner how to maximize return on investment (ROI) and achieve their goals through Scrum.
- Enhances the life of the development team by facilitating creativity and empowerment.
- Improves development team productivity in every possible way.
- Improves engineering practices and tools so that every increment of functionality can be delivered.
- Keeps team progress information up-to-date and visible to all parties.
In practical terms, the ScrumMaster needs to understand Scrum well enough to train and mentor other roles, as well as educate and help other stakeholders who are involved in the process. The ScrumMaster should maintain a constant awareness of the state of the project (its progress to date) in relation to expected progress, investigate and facilitate the resolution of any bottlenecks that impede progress, and generally be flexible enough to identify and resolve any issues that arise in any way that is necessary. The ScrumMaster must protect the Team from disruption from other people, acting as an interface between them. The ScrumMaster does not assign tasks to Team members, as task assignment is a Team responsibility. The ScrumMaster’s overall approach to the team is to encourage and facilitate their decision-making and problem-solving skills so that they can work with increasing efficiency and decreasing need for supervision. The goal is to have a team that is not only empowered to make important decisions, but to do so well regularly and consistently.
Product Owner
The Product Owner is the keeper of the requirements. The Product Owner provides the “single source of truth” for the team regarding requirements and the planned order of their implementation. In practice, the Product Owner is the interface between the business, the customers and their product-related needs on the one hand and the Team on the other hand. The Product Owner protects the Team from feature and bug-fix requests coming from multiple sources and is the single point of contact for all questions about product requirements. The Product Owner works closely with the team to define user and technical requirements, document requirements as needed, and determine the order of implementation. The Product Owner maintains the Product Backlog (which is the repository for all product related requirements), keeping it up to date to the level of detail and quality required by the Team. The Product Owner also sets the schedule for releasing completed work to customers and makes the final call to determine if the implementations have the features and quality required for release.
Team
The team is a self-organized and cross-functional group of people who do the hands-on product development and testing work. Since the team is responsible for producing the product, it must also have the authority to make decisions about how the work is done. Therefore, the team is self-organizing: team members decide how to divide the work into tasks and how to assign tasks to individuals throughout the Sprint. Team size should be kept in the range of five to nine people, if possible. (A larger number hinders communication, while a smaller number leads to low productivity and fragility.) Note: A very similar term, “Scrum Team,” refers to the Team plus the ScrumMaster and Product Owner.
WHAT ARE THE AGILE METRICS THAT CAN BE USED FOR REPORTING?
What to measure in Agile is the long-standing question. There should be two primary filters we need to ask ourselves as questions before we measure something; “Will this metric accelerate value delivery?” and “Will this measurement increase trust?”.
Below is an example of the right agile measurement. Typically, an organization will set a goal to increase the speed of fulfillment of a User Story, it would seem that this is rational as we always strive to deliver more where possible. However, however, this perspective is still looked at from the wrong angle, because what we want is higher value, not increased productivity. And these things are not one and the same; one is focused on outcome, and the other is focused on productivity. Agile methodology emphasizes delivering the result; which means more value, but not productivity. If we look at things from the perspective of faster delivery, it means the following; teams are not working hard enough, and productivity equals value. From which both assumptions are usually untrue.
We should use velocity to drive our business; a velocity can be used to distribute User Stories from the Backlog and plan an approximate date when certain functional product features will be available to our customers. What we need to do is to increase stability in velocity, not the velocity itself changing or in flux. In a world where there are incentives to increase velocity, teams will feel compelled to deliver higher velocity User Stories. They will increase the reward in faster realization of User Stories, which in turn reduces our ability to drive the business, because in such a situation velocity loses its meaning.
If we were to parse what I’ve said in a slightly different way, we could measure the statement by the fulfillment of User Stories in the sprint. We could focus on how many User Stories were accomplished in a Sprint versus how many were planned from the start. As a result, the incentive will be to create stability in predicting task fulfillment, which gives the company the ability to more accurately predict when products, projects will be released to market.
The first perspective tells teams about distrust in themselves and deteriorates their perception of value, while the second variant promotes both value as a result and stability in the speed of task fulfillment. The second variant also surprises teams with the fact that they are doing well, as their estimations come true and convert into performance. Switching to say zero gives the business the ability to pick up speed as well as build trust within the organization. Everyone wins; our customers, our organization and the team.
Example of operational metrics
- Lead Time
- Cycle Time
- Burndown Charts
Sample output values
- Throughput
- Agility Assessment Model
- Technical quality / defect measurements / code coverage
- # of features, etc.
Sample result/value
- Team morale
- Customer satisfaction / NPS
- Business value
WHAT IS THE BEST HOLISTIC APPROACH TO ADOPTING AGILE METHODOLOGY?
Often when an organization adopts the Agile Methodology, the focus is on the engineering services group, with marginal collaboration with the product management department. This pattern is pervasive and usually explains why companies don’t feel they are getting the benefits they expect from a methodology adoption, promoting the assumption that the methodology doesn’t work.
Business needs, company size, organizational structure, and a host of other considerations create the necessary context for Agile Methodology adoption. By far, the leading system for success requires the inclusion of all aspects of the business. Systems thinking, is to understand that all areas of the business are about delivering value, are aligned and working together. Therefore, if you ask the engineering department, with some support from the management department to adopt the Agile methodology, then you will certainly fail.
Unfortunately, the business will more than likely have to consider restructuring and changing management styles to achieve organizational alignment. The best results occur when teams go all-in analyzing collaborative possibilities with an open mind.
Some examples are when the accounting department moves from Cost Accounting to Lean Accounting. Another example is when the HR department considers moving to OKR and eliminating MBO and KPI. Enterprise Value focuses on metrics that correlate to delivering value versus output.
The best approach when considering an Agile Methodology adoption is to consider the context of your organization as described above. Then, be inclusive of your leadership team and their areas of focus, emphasizing accelerated value delivery versus production and utilization.