Agile Methodology in Software Development Life Cycle
Now a day’s most of the companies are looking for Agile methodology because it is light weight and faster delivery. We can say if we not mentioned Agile in our resume we may not get calls from the interviewer also.Let us discuss what is Agile methodology and advantages
What are the differences between Waterfall and Agile Methodology?https://www.bacareers.in/differences-between-waterfall-and-agile-methodology/
What is Agile Methodology in Software Development Life Cycle
Agile is one of the methodologies under which we will develop a software/application in incremental base and deliver it in small chunks.
Scrum: Scrum is not a methodology, Scrum is a framework. That means it provides opportunity to work as per the project needs or requirements with cross functional team to reach the project goals.
Mostly it will use in implementation of projects.
Product Backlog :
Need to prepare the product backlog, it contains the list of user stories, user story is nothing but requirements.
Once we prepare the Product backlog, will prioritize the user stories which can be implemented in this Sprint.
- Product Owner(PO) : He will decide what needs to done in this sprint/project and he is the responsible for managing the product backlog. He will be the responsible person for product like how product should be and all. He interacts with Business Analysts and Customers. This role may be played by BA or any person who is having strong knowledge on product and who works with end users for a long time. Depends on the project client also may play this role.
- Scrum Master (SM) : He will monitor the performance of the team within the sprint. Team will raise all their concerns and issues to scrum master. He is responsible to provide solutions to the team. He will interact with the stake holders to address the issues and concerns raised by the team. This role can be played by any person in team usually Business Analyst will play this role.
- Development Team ( Cross functional team who are self organized)
Scrum Team : Resources who are working in this project are formed as Scrum team which comprises of Business Analyst, Developers and Testers.
In this phase all the stakeholders will join in meeting, and we have high level requirements in this phase.
Based on the requirements Product backlog will be created
Product backlog will have user stories (user stories means Requirements.).
Once Product backlog is prepared, there will be 3 activities performed
(a) along with core team – Scrum master will conduct story point estimation session. In this session team will discuss on prioritized requirements, how many man days needed and how to do and all.
(b) Team will prepare high level architecture document
(c) Release Planning
Sprint : Sprint is nothing more than that set period of a time to complete the prioritized requirements, usually sprint duration is two weeks. It may vary based on the product and project. Usually for banking project they scheduled for 4 weeks.
Assigned work should be completed within the sprint and it should be ready for product owner to review the completed task.
Before development starts, team will do sprint planning. i.e how many sprints are required to complete the project? Which stories will go under which sprint?
Usually sprint duration will be ranging from 2-4 weeks maximum.
During sprint, we will take the user stories Design>> Develop>>Test>> Integrate
We will have ‘Show & Tell’ Session. Product owner will give his feedback in this session. If any rework to be done based on feedback, we will take those points and add it to next sprint. (these points to be updated in Product backlog as user stories)
Participants : Client, developers, testing team and Business Analyst.
Business Analyst will split the requirements and prepares the product backlog.
Will discuss with the client regarding backlog, then client will prioritize the requirements which we need to deliver on priority. So, team will first work on prioritized requirements only.
For example, out of ten requirements client prioritized 1,2 and 3.
So, in this sprint planning session we will discuss about 1,2 and 3 only even though we have 10 requirements in backlog.
Business analyst will write user stories; user story is nothing but requirement.
Will discuss about how much effort needed to complete this prioritized user stories.
Will use the JIRA tool to track the requirements.
Release testing is done by product owner. This is similar to UAT phase of Waterfall.
Product owner will test the functionality and ensure all the stories are covered. If any defects that will be taken care from core team
Release & Deploy/Go live/Implementation:
In the typical waterfall, we will have one release. In agile project there can be multiple releases.
Releases are done based on the release planning. Release decision will be Product owner decision.
We can group sprints under release-1, release-2, release-3 based on the need and we implement as per release plan.
Support and Maintenance:
As per the alignment, there will be warranty of 6 months, 12 months , 2 years or more. Core team will support during this period and once warranty is done. Project will be closed.
Daily Scrum Meeting: This happens every day where team will just discuss on 3 questions. Everyone should participate in this meeting, and meeting should be completed in 15 to 30 minutes.
- What you do today?
- What will you do tomorrow?
- Is there any impediments stopping you?
Sprint Review Meeting: This will happen at the end of the sprint where team will give demo on completed stories to product owner.
Sprint retrospective Meeting: This will happen at the end of the sprint where team will answer these 3 questions.
- What went well in the sprint?
- What did not go well?
- What are the required areas of improvements in next sprint?
Business Analyst Role in Agile Scrum:https://www.bacareers.in/business-analyst-role-in-agile-project/
To start with, once a project kicked off, BA does the requirement planning, then conducts various requirement gathering sessions and analyses the requirement.
Then the requirement is listed as “Feature List” This feature list is drafted by Business Analyst and he will discuss with product owner. This feature list will have all enhancements and existing features.
From the Feature list, BA identifies the Epic and breaks them as Themes and then to User Stories.
User story will have below information:User Stories
As a <user>
I want to <What is the purpose>
So that <What you gain by this story>
Ex : As a customer
I want to login to the net banking
so that I can perform banking activities.
Acceptance Criteria: This area will have mandatory information that is needed for this user story.
Then Business Analyst briefs the story to development team and regularly supports the team for development.
And Business Analyst also does the integration Testing and system testing to ensure the system performs as per requirement.
What are the 12 Principles of Agile?
Satisfy the Customer. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome Change. Welcome changing requirements, even late in development. …
Deliver Frequently. …
Work Together. …
Build Projects. …
Face-To-Face Time. …
Measure of Progress. …
What is agile and how it works?
Agile is a process that helps teams provide quick and unpredictable responses to the feedback they receive on their project. It creates opportunities to assess a project’s direction during the development cycle. Teams assess the project in regular meetings called sprints or iterations
What is the difference between Scrum and agile?
Difference Between Agile and Scrum. Agile describes a set of guiding principles that uses iterative approach for software development, while Scrum is a specific set of rules that are to be followed while practicing the Agile software development.
What are the 4 values of agile?
individuals and interactions over processes and tools;
working software over comprehensive documentation;
customer collaboration over contract negotiation; and.
responding to change over following a plan.
What is agile tool?
Jira Software is an agile project management tool that supports any agile methodology, be it scrum, kanban, or your own unique flavor. From agile boards to reports, you can plan, track, and manage all your agile software development projects from a single tool
What is Agile SDLC?
Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods break the product into small incremental builds.
Why Agile is used?
and Why Do We Use It? Agile Methodology is a type of project management process. The agile method anticipates change and allows for much more flexibility than traditional methods. Clients can make small objective changes without huge amendments to the budget or schedule