If you’d like to boost your performance, you simply must keep up with the best and most commonly used methodologies of project management.
There are many such methodologies to choose from, so some people – especially non-technical professionals or beginners in the IT industry – might get confused.
In this article, I’ am going to give you a comprehensive overview of the best best methodologies, together with information about their advantages and shortcomings to help you make the right choice.
First things first, I would like to clarify what exactly is an IT project management methodology.
A methodology is a set of values that describe different ways of realizing tasks in an IT project that are related to:
A project is a temporary activity with one goal: to create a unique solution. Each IT project includes activities such as:
Many of companies claim to use Agile as their primary methodology for developing IT projects, but ask anyone what exactly Agile is, don’t count on getting a satisfying answer.
In fact, most companies that claim they use Agile tend to miss the point about gile and what it actually is. Agile is a collection of beliefs that teams can use for making decisions about how to carry out projects for developing software.
Let’s examine the differences between Agile and its traditional alternative – the waterfall methodology.
Waterfall methodology assumes in advance that your idea about software is accurate and verification of the solution to check whether it suits your customers’ needs takes place once the entire product is ready. However, this way of thinking might cause problems later on, as a lot of applications don’t initially meet their recipients needs or the requirements of the project might change over time. When that happens, the IT team would have wasted a lot of time, causing the company to lose time and money.
That is why an increasing number of companies turn to Agile.
In a nutshell, the Agile methodology splits the entire work into iterations. Each iteration is a single step in development and lasts 1-3 weeks during which teams work on particular features, testing and verifying them immediately.
This approach helps companies to adjust their product exactly to the specific needs of their customers, and in many cases apply corrections in real time to save time and money, all the while boosting their performance.
Published in 2001, and read by millions of people, the Agile Manifesto states:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
That is, while there is value in the items on the right, we value the items on the left more.”
Here are 12 principles of Agile:
The Agile methodology commonly uses:
User stories should be:
Now that we understand what Agile actually is, we can delve a little more into its methodologies.
The picture below shows the most popular methodologies that belong to the Agile family.
Lean Software Development is a methodology that belongs to the Agile family. It is a way of looking at how we carry out work in projects that aims to reduce resource waste.
The main goal of Lean Software Development is delivering maximum value to customers as quickly as possible in the most efficient way. In the end, the customers get the most valuable product.
To understand Lean Software Development properly, you need to grasp its rules:
Lean Software Development uses Deming cycle that requires constant planning, doing, checking, and acting – as you can see in the picture below.
The name Kanban comes from Japanese and means information board that is often used in connection with another Agile methodology.
Kanban focuses on:
Kanban has no iterations, it is a permanent process that helps teams work in a clear way and become more productive. Kanban makes the entire working process more understandable because everyone knows what must be done and what work is in progress.
Below you can see what a Kanban board looks like.
Extreme programming focuses on the best developer practices. It is intended for for small or medium-sized developing teams. XP allows to change product requirements flexibly, deal with obstacles, and adjust software accurately.
The main values of Extreme Programing are:
Developers who work in accordance with this methodology usually work in pairs. Partners can learn from another, share their ideas, test the parts of the code, and carry out code review constantly, therefore it allows to create clean code with a smaller number of mistakes.
Scrum is one of the most popular methodologies for delivering software nowadays.
It allows to deliver software gradually. The main feature of Scrum are sprints thanks to which teams can deliver software that matches customer needs.
Each sprint lasts 2-4 weeks and its goal is to implement some features that were planned before sprint started. This approach allows to:
Scrum use a very similar board to Kanban that shows tasks in three statuses:to do, in progress and done. That helps to clarify the process. Moreover, daily team meetings allow to sort out a lot of problems and bring up important issues.
Agile methodologies might seem difficult in the beginning, but a short introduction is enough to make them more understandable.
Plenty of companies all over the world use Agile in order to match their products to customers’ needs and become more efficient. In comparison to traditional waterfall approach, Agile offers many advantages to businesses that carry out projects in dynamic environments.
Even though Agile has its own rules, teams can easily adjust the methodology to their needs, and not adjust their needs to the Agile methodology.
If you are interested in improving your team performance with tailored software, especially JIRA, feel free to contact me on LinkedIn.