In my last post, I explained that each presentation should always start with the “Why”, (read it here). Following my own advice, this post will start with the “Why” of management methodologies with a focus on Agile methodologies.
Before to get started, this post is not a presentation dedicated to Agile methodologies, you absolutely won’t learn how to implement Agile methodologies reading this page.
This post will rather compare two representatives of the two most used movements in software product development, Agiles methodologies and the traditional methodologies (“Waterfall” and “V-Cycle”). But it will also help you to understand which powerful benefits Scrum could bring to your seed idea to transform it into a tremendous success.
It will help you to understand in which cases Agile methodologies will benefit your project during the development phase instead of the traditional well-known models (For example, Waterfall or V-cycle models).
Below, I chose to compare the famous SCRUM framework to represent Agile models and the well-known “V-Cycle” to represent traditional models.
A few years ago, large software projects tended to finish way too late and therefore over budget.
This was due to some limitations of methodologies used at this time, the Waterfall or the V model of project management. Both models are now often considered not suitable for large projects as they both requires upfront, extensive planning. However, those models remain extremely effective for small static projects (defined upfront).
A bit of definition :
The Waterfall methodology is based on a linear-sequential life cycle model. This means, each phase must be completed fully before the next phase can begin.
Requirements : Gather and document requirements
Design : UX and UI
Execution : Code and unit test
Testing : Perform system testing
Release :Deliver the finished product
The V-Model is based on a V-Shaped life cycle and provides a sequential path of execution of processes.
Find below, the 3 main phases of V-cycle management and the order of the sequential steps necessary before completing a release ready product.
- Verification Phase :
High Level Design
Validation Phase (Quality Assurance) :
Waterfall or V models are perfect methodologies for small or medium static software projects but they have dramatic consequences on larger software projects where requirements can drastically evolve over time making new born product already outdated.
With the Waterfall model, a medium software project, that is supposed to take 10 months to complete, will approximately start its development after 4 months of gathering requirements and producing design, development will last eventually 8 months and 3 additional months will be necessary to test the completeness. At the end, 1.5 years will have passed, and the software release will be outdated because the requirements will have changed.
Aware of dramatic and chaotic results that produced the Waterfall methodology over large software projects, a few people started questioning the Waterfall model.
Instead of a top-down defined process, Ikurjiro Nonaka and Hirkotaka Takeuchi proposed in 1986 an alternative in which they exposed a new project management method focused on speed and flexibility.
If you are interested in reading more about this history, they wrote an essay about their theory in the Harvard Business Journal “New Product Development Game” (https://hbr.org/1986/01/the-new-new-product-development-game)
In their essay, they published a very clear diagram showing the advantages of overlapping versus sequential phases of development. In this diagram, you can instantly visualize that Type C (Overlapped phase) will release a product faster than Type A (Strictly Sequential Phase).
This essay launched the beginning of Agile methodologies era. Of course, the principle behind the theory have evolved many times since 1986 and the original essay has been transformed before giving birth to Scrum in the early 1990s.
Go to market quickly!
Scrum main goal is to quickly provide a business oriented product to confront a market as fast as possible.
Therefore, if you need a functional prototype to present rapidly to your users. Scrum is, without a doubt, the better choice.
Iterating with Scrum will define requirements and specifications thanks to user’s feedbacks gathered after each iteration.
Scrum will force you automatically to prioritize the development of most important features with strongest business values. Those priorities will also evolve, iteration after iteration, constantly modifying user requirements to precisely follow user’s needs.
Therefore, you will quickly get a minimalist viable product ready to be presented to its market.
Bring Wellbeing at work.
Scrum core values are based upon commitment, respect, courage, focus and openness. This means Scrum will help promoting an atmosphere of transparency and trust among team members. The model will allow scientific analyses after each iteration and therefore enhance individual retrospection of each member of your team. Team members will efficiently progress in multiple areas and this will continuously contribute to improve productivity of your project.
Moreover, Scrum retrospectives measure team morale. Therefore, Scrum will, not only, let you continuously improve your product but also your team happiness level. All of those values will drastically engage your employees over time which will, for sure, benefits your project and organisation over time.
Scrum has been designed to promote an atmosphere of trust, a culture of continuous improvement and clear common goals.
I discovered SCRUM a few years ago being a member of a SCRUM project and I really enjoyed the flexibility and the power of transparency that Scrum provided to the project and team. This post will definitely not be my last post about the subject, I will try from time to time to go deeper into SCRUM core and will share best practices.
Scrum is really popular those years, the community is divided in two parts, the lovers and the haters. A lot of people are convinced that Agile is THE new revolutionary methodology and that it should be applied for every software development project.
Even if I recommend Scrum and Agile methodologies (I currently use it myself with my IT team), I remain convinced that it can’t be applied to all projects.
Be aware that Scrum model is difficult to setup, it requires rigoreus and a lot of learnings before to know how to apply it correctly. Don’t hesitate to get help, reading internet theory won’t be sufficient to understand every concept and receive every benefic aspect on your project.
Learn more about Scrum here : http://www.scrumguides.org/scrum-guide.html