To the uninitiated, agile may seem like nothing more than a buzzword for fast-moving and innovative companies. Actually it's a tangible methodology for business and operations management that started as a software development manifesto.
If your company hasn't already begun the transition from traditional practices to agile, you're falling behind. If you'd like to avoid becoming a victim to "digital Darwinism" it's high time you learn about agile project management.
Comparing Waterfall Methods with Agile Methods
Traditionally, software development and project management in the business world have been accomplished in a series of steps called the "waterfall method." This approach still works for some companies, but the vast majority are switching to agile.
In a nutshell, agile project management espouses greater flexibility. The traditional waterfall method uses a staged development process, with lots and lots of documentation. The stages of waterfall look like this:
From idea to finish, the waterfall method is long and strict, without much room for change. The stakeholders are not very involved except for the sign-off. The stages of work follow a set sequence. Finally, testing takes place only at the very end of the project. In all of these aspects, agile is nearly the polar opposite.
Implementing Agile Project Management
Agile emphasizes continuous delivery of working software. That means an MVP (minimal viable product) is delivered to stakeholders asap rather than waiting for the project to be finished before sharing. This means feedback and changes galore, all the while providing fast and efficient software and project results.
Agile is more sustainable in the modern market, where organizations demand faster results at a lower cost. Switching from waterfall to agile means shifting from documentation to people, which has pros and cons; hence, some companies are still using waterfall. For example, with agile, people learn on-the-job, and there is a risk of loss of tacit knowledge without rigorous documentation.
The generic stages of agile look like this:
Imagine the waterfall method as cascading steps, vertical and linear, and agile as a circle or cycle without a definite start/stop. With an agile workflow, working software is the primary measure of progress. A team maintains a constant pace, indefinitely — which generally results in fewer overtime hours worked versus waterfall — and therefore happier employees.
At regular intervals, the team gets together and reflects on how to improve. This method cultivates teamwork and regular customer/stakeholder input. Additionally, every release or iteration improves upon the last. So, it's easier to show results and productivity.
Putting User Stories to Use
There is a change in terminology from waterfall to agile - switching from "requirements" to "user stories." Instead of often misinterpreted traditional requirements, the user story is from the perspective of the end-user or customer, which looks like this:
As a [user] I can [do a thing] because [reason I need this].
Replace the brackets accordingly, and you have a "user story." For example, if you have an e-commerce store you might have a rudimentary user story like this: "As a customer, I want to be able to purchase from the website so that I can get the product I want."
The Role of Scrum in Agile
We cannot discuss agile without scrum, which is a method of development that uses principles of agile. The name was borrowed from rugby, first used in a 1986 paper by Hirotaka Takeuchi and Ikujiro Nonaka, "The New New Product Development Game."
A team using scrum will have a Product Owner, who is the "Keeper of Stories," or a backlog of requirements. A Scrum Master facilitates all the meetings and activities. Also, the scrum team, which are the people doing the bulk of the work, tend to wear many hats without a clearly defined role. The cyclical workflow for scrum looks like this:
- Story time
- Sprint demo
With scrum, there are daily and weekly team meetings. Each week the team is assigned a story (user requirement) to tackle, and by the end of the week, there is a deliverable functional piece of software. You can imagine how productive and gratifying this process must feel for the team involved and the customer. Each development cycle (usually one week) is called a "sprint."
This is a fundamental understanding of the Agile method and scrum workflow, and there are entire books on each. In summary, the Agile method is more people-oriented rather than process. It involves rapid feedback and changes. This is a very different approach to project management and software development than the traditional waterfall method.
For any organization approaching the digital frontier, it's critical to adopt agile workflows to successfully undergo a digital transformation. Enlist the help of IT experts, such as EmergeITs consulting service, when transitioning to agile. Industry 4.0 is here, and agile is a significant part of the evolutionary tech puzzle.