Agile - when and why should it be used in IT projects?

Agile

What is Agile? - In a nutshell

Agile - methodology in project work. Agile is based on the fact that the created project allows the achievement of the expected results, with less effort from the team at the same time. It emphasizes self-organization in the project, adaptive planning, continuous change, rapid delivery of results, and flexible development. 

Agile in practice

Let's imagine the following situation: We have a great idea for a mobile application, everything seems to have been thought out, and a software house has been selected to do the project, nothing but to start. However, the application is your "baby" and you would like to be able to watch the progress of the work and make sure that for sure everything is done as it should be.

That's why, before starting work, it's worth considering which approach to project management will be most suitable.

There are two most popular approaches to software development:

  • Classic, also known as Waterfall
  • Agile

Execution of projects in the classical approach has been known for years, and three phases can be separated here:

  • Planning
  • Implementation
  • Delivering

In a nutshell, at the beginning we spend a great deal of time analyzing and planning the project - we think about all the functionalities of the project, the possible cases, what can go wrong, and what needs to happen at what point to complete the project on time. All possible scenarios will be thought through and planned. 

Depending on the complexity and length of the project, planning can take days, weeks, or months. Then we move to the execution phase, which takes a correspondingly long time, and at the end, we see the results of the work.

Some time ago, in the case of the IT industry, it was noticed that this approach to software development was not working due to changing requirements, market needs or at least technology, and what was valid during planning, when the project was delivered was often no longer so. That's when the agile approach to product development based on transparency, inspection, and adaptation (today's pillars of Scrum) began to take hold, i.e., we deliver frequently, in small packages, at intervals and check that what we've done is actually what the market/customer needs.

When to use Agile in IT projects?

It is not that one approach is better and the other is worse. It all depends on many factors as to which way of software development will work better in our situation.

But how do we know which type of approach to a project will be appropriate? Stacey's Model comes with the answer.

Ralph D. Stacey was a British professor of management at the University of Hertfordshire, best known for his theory of managing organizations. By putting together requirements and knowledge of technology, he created a model for classifying issues.

When starting a project, it is important to know what needs to be done and how to do it. Depending on the level of uncertainty of both factors - requirements (what) and technology (how), Stacey grouped the issues into 4 different segments:

  • Simple - The scope is well described and we know how to make them(what technology to use). With an experienced team and a good plan, we can start right away. This is how all traditional waterfall approaches work (which is not to say that an agile approach won't work here)

  • Complicated - scope not so clear, it needs to be detailed, thought, and planned, but after these steps, you can act. Large and accurate planning is needed if we want to work with the classic approach. When we do not have months to plan the work - an agile approach to product development will be as suitable as possible

  • Complex - With a lot of unknowns: scope and technology(what to do and how to do it). In addition, changing requirements come into play and with that, the level of knowledge of how to perform particular tasks also changes. We learn what the requirements are and how to respond to them as they are performed. The agile approach is the best solution here.

  • Chaotic - The so-called YOLO development. We don't have information about the requirements and how to deal with them Additionally. We don't know what to expect completely, we wander (both us and the customer). Again, an agile approach will be the best solution here as an adaptive and innovative approach seems to be the only way to bite this problem(inspect + adapt)
agile 4 segments

This provides a fairly obvious answer as to why the agile approach to software development has been so popular in software houses in recent years. 

Stacey's model directly suggests to be most effective one must be responsive to change.

And in our Qarbon experience, even projects that can be described as "easy" according to the above breakdown, in a rapidly changing world, require changes and improvements, to which the agile approach is ideally suited.

I hope this article has helped clear up a few doubts or helped you understand why an agile approach can be valuable for your product.

However, if you are still unsure what segment to assign your project to, get back to us - we can help.

click here to view the contact form

Content

Got a project?

Let's talk!

__wf_zastrzeżone_dziedziczyć
Offtop
GITEX Global 2024: Insights
arrow icon
10.25.2024
1 min read
Code
What is JSON?
arrow icon
10.29.2024
2 min read
Code
Code refactoring – What is it?
arrow icon
10.24.2024
4 min read
AI
Secure AI - Advantages
arrow icon
7.12.2024
2 min read
Technologies
What is AWS?
arrow icon
4.1.2024
2 min read
Technologies
What is HTML?
arrow icon
3.21.2024
2 min read
Technologies
What is TypeScript?
arrow icon
3.20.2024
3 min read
Technologies
What is PHP?
arrow icon
3.19.2024
1 min read
Technologies
What is Swift?
arrow icon
3.18.2024
5 min read
Technologies
What is Kotlin?
arrow icon
3.16.2024
4 min read
Technologies
What is JAVA?
arrow icon
3.13.2024
2 min read
Technologies
What is React Native?
arrow icon
3.13.2024
3 min read
Technologies
What is React.js?
arrow icon
3.13.2024
2 min read
Technologies
What is Node.js?
arrow icon
3.13.2024
1 min read
Technologies
What is JavaScript?
arrow icon
3.13.2024
1 min read
Knowledge hub
What is a fullstack developer?
arrow icon
3.13.2024
1 min read
Knowledge hub
What is frontend?
arrow icon
3.13.2024
2 min read
Knowledge hub
What is backend?
arrow icon
3.13.2024
2 min read
IT
How to get started in IT?
arrow icon
3.6.2023
7 min read
IT
WEB3 - What is it? Introduction
arrow icon
2.21.2023
4 min read
UX/UI
UX Design - a guide for programmers
arrow icon
1.18.2023
4 min read
Business
Team Augmentation- Benefits!
arrow icon
1.4.2023
11 min read
Business
How to choose a programming company?
arrow icon
12.22.2022
8 min read
IT
How do programmers test?
arrow icon
12.18.2022
2 min read
IT
How to find good programmers?
arrow icon
12.15.2022
4 min read
Startup
What is a startup?
arrow icon
12.7.2022
7 min read
Code
Rust is the future of Server Side
arrow icon
12.1.2022
1 min read
IT
How to make a mobile app?
arrow icon
11.30.2022
5 min read
Business
How to work in various time zones?
arrow icon
11.27.2022
7 min read
Business
Where to Invest money in 2021?
arrow icon
10.31.2022
4 min read
IT
IT outsourcing – what is it?
arrow icon
10.25.2022
4 min read
Code
Why am I NOT a fan of TypeScript
arrow icon
10.23.2022
3 min read
Code
React Basics - State and useState
arrow icon
10.18.2022
5 min read