In this blog I will try to explain, in the most simplest of ways how software delivery can be done in a fast and efficient way using Agile Methodology. So, if you are new to Agile methodology this blog will surely be helpful. This blog will also be helpful to understand all the agile methodology steps which will be useful clear basic agile methodology interview questions. So let’s start.
Agile Methodology meaning:
The term Agile generally means fast way to respond to a request. Or we can also define agile as readiness for motion.
Agile Methodology Definition:
It is a methodology to develop a software at a very high speed with benefits like:
- More clarity in requirements since interaction happens frequently.
- Requirement changes exists. (Major difference waterfall methodology vs agile)
- Less communication gap between team members.
- Customers interaction exists in all stages.
In this blog we will have a detailed explanation on how this four points can be achieved by implementing agile development methodology.
There are multiple methodologies which comes under Agile, but one of the most popular methodology is the Agile Scrum Methodology. Here in this blog, we will discuss how by implementing Scrum Methodology we can get all the benefits that were mentioned above.
It is a methodology of software development under Agile. In case of Scrum Methodology first the product owner who is basically the voice of the customer prepares the Product Backlog. Product Backlog consists of all the requirements given by the customer in priority order. From the product backlog, we will derive the sprint backlog. Sprint backlog are the set of requirement for that particular Sprint.
Now let’s learn what is a Sprint
Sprint is the time taken to develop certain set of requirements present in the sprint backlog. Each sprint backlog requirements are known as User Stories. Software is developed sprint wise and are given to the customer sprint by sprint.
Scrum Team follows Scrum Methodology. Scrum Master heads the Scrum Team. He or She is basically the captain or leader of the team who is responsible for the development of software under Scrum Methodology.
The size of the Scrum Team should vary between 5-9 members and the skill of the team should be cross skill. By cross skill I meant there is no separate team of Architect, Developers or Test Engineers. It is a single team having members with different skillset under one umbrella. The time duration to develop a sprint generally varies from 7 days or 15 days or 30 days.
The Product Owner and the customers are called Passive Participators and the Scrum Team is known as Active Participator.
Agile project management methodology (Scrum Projects) consists of three types of meetings.
- Sprint Planning Meeting or Project Kickoff meeting
- Daily Stand-Up Meeting
- Sprint Retrospect Meeting
In the Sprint Planning or Project Kick off meeting the scrum master explains the requirement to the team. After that the team identifies their task.
- Designers identifies their task according to designing knowledge
- Developers identifies their task according to coding knowledge
- Test Engineers identifies their task according to Testing Knowledge
Daily Stand up meetings are the daily meetings. Here we discuss the following points:
- What we did yesterday?
- Work Plan for today?
- What is the planning for next day?
- Any impediments scrum team is facing?
Sprint Retrospect Meetings/Project Closure meetings are held after development of the Sprint. Here we discuss the following points:
- What went Right in the Sprint?
- What went wrong in the Sprint?
- Any scope of improvement which can be implemented are also discussed during this period.
So that’s it for this blog. Here we learned the basics of Agile software development methodology and I hope you got an idea at a basic level how this software development methodology works. You can also learn about the 12 principles behind the Agile Manifesto which will also help to give a good idea about agile methodology process. So stay tuned for the next blog were we will describe about Software Test Lifecycle in details.
Happy Reading!!! 🙂