DEV Community

Cover image for What is Agile methodology?
Alan Liew
Alan Liew

Posted on • Edited on

What is Agile methodology?

Have you search over the web and realize everyone are talking about agile methodology ? Well, rest assured I will try my best to make things easier to understand, and you will be confident to tell what is agile after this articles. 

Why Agile ?

Let's try to understand WHY before we explain what is agile. Why agile is being introduced in the first place? 

Now, let's imagine you are the creator of banking app. You have all these basic features, for example: fund transfer, bill payment and etc.  

However, there are still lot of features to roll out, lot of minor bugs are still hanging around, and you're on tight timeline now. What would you do ? 

Well, you can wait until every features are documented, created , tested and deployed. BUT, keep in mind this will keep adding up. Your product manager want to add one more features, your client want to change the icon of the website, etc etc.. 

So , when is the end of the cycle ? You can't handle that much of workload when things are keep pilling up and you are way behind the schedule now. 

This leads to software development crisis. 

In 70s, 80s, and 90s was to create more elaborated plan, more sophisticated processes , longer documentation and tighter contracts.Here is why Agile being introduced. 

Agile is an Iterative and Incremental Process. 

✅ With agile methodology, we develop, test and release piece of software to the customer with few numbers of features, and eventually we add it up by releases. 

✅ We can accommodate change request from the client and can solve the bugs in next releases. Requirement changes are allowed in any stage of development. This is why we can see software are with "version" / "releases" nowadays. 

✅ Not only that, duration of the completion of software for client or customers are decrease significantly.

Well, the only disadvantage that Agile methodology was light-weight documentation since we focus on deliver software faster. 

What else?

 

Now, we know agile methodology are so important for software development process. But how are we going to execute it ? Who are responsible to govern the process ? 

Now, we will talk about SCRUM..

Scrum is a framework through which we build software product by following Agile Principles. 

✅ Scrum involves group of people called scrum team. 

✅ A sprint is a whole process of , Plan -> Design -> Develop ->Test -> Deploy ->Review, and this take around 2 weeks / 14 days to complete (usually).

✅ Scrum team consists of Product Owner, Scrum Master, Dev team, and QA team.

Responsibilities:

  1. Product Owner : Define the features of product/software, prioritize features according to market value, adjust features prioritization every sprint. He/She got the rights to accept / reject work results.
  2. Scrum Master : The key person who facilitating and driving the agile process, host for daily stand up for development process, negotiating the workload / task / features that is going to release in next sprint with Product Owner. 
  3. Developers and QA : Develop and test the software. 

Let's recap : 

🚀 Agile is a Iteration and Incremental process. 

🚀 Scrum is a framework through which we build software product by agile principles.

❤️

Related Articles:
1. Cloud Computing , let’s talk about it [Part 2]
2. AWS ! the terms you must know 🤫
3. ISTQB 🧙🏻‍♀️The software testing Myth, do you need that?
4. Why Software Testing is necessary in the first place?👀

❤️

Connect with me in Linkedin !

Top comments (0)