Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile Manifesto introduced the term in 2001.
Phases in Agile Model:
There are three phases in Agile model.
Planning:
This is a continuous phase involving activities related to discussing and prioritizing Product
Improvement requests and adhoc requests and developing a comprehensive product backlog (PBL)
. Key activities performed in this phase include creation of backlog items & prioritization of Product
Backlog, resource planning, scope and time lines agreement for releases and their iterations .
Improvement requests and adhoc requests and developing a comprehensive product backlog (PBL)
. Key activities performed in this phase include creation of backlog items & prioritization of Product
Backlog, resource planning, scope and time lines agreement for releases and their iterations .
Sprints(Development):
This phase involves all activities related to a project development such as analysis and design,
reviews, coding, unit testing, integration testing, deployment to target environment and
demonstration of functionality to customer through a small time frame called a sprint.
This phase involves all activities related to a project development such as analysis and design,
reviews, coding, unit testing, integration testing, deployment to target environment and
demonstration of functionality to customer through a small time frame called a sprint.
Closure Phase:
This phase involves activities related to Release in to the target/ production environment. Key
activities performed in this phase include Release level Testing, release notes and training.
activities performed in this phase include Release level Testing, release notes and training.
Roles in Scrum:
Product Owner:
- The customer/sponsor of the project(MIS Steering committee )
- Defines and prioritizes the functionality to be delivered by execution of the project
- Defines the end goal of each sprint and reviews the sprint outcome at end of every sprint
- Takes inputs from end customers and other stakeholders while defining the Product Backlog
- and reviewing the Sprint goal upon completion.
Scrum Master:
- The manager of the Scrum Team
- Acts 50% as process coach and 50% as a developer
- Assures that the Daily Scrum Meetings are conducted as planned
- Maintains the focus of the Scrum Meeting to the sprint goal
- Decides to remove the road blocks discovered during the Scrum Meeting
- Enables action for removal of impedances reported in the last Scrum Meeting before the next
- Scrum Meeting
- Assures that no new task is added from outside of the Scrum Team unless there is equal
- amount of time and effort made available by removing some other task
- Acts as the firewall (Scrum Master Firewall) for the Scrum Team against the other stakeholders
- of the system.
- Participates in Sprint planning and Retrospective meetings.
- All roles (Designers, DBAs, Developers, Testers, Network Engineers, and Hardware Engineers
- etc)
- Contribute to the project execution Work collectively to achieve the sprint goal of implementing
- all features listed in the Sprint Backlog.
- Update the Sprint Backlog on daily basis to record the progress.
- Customer's organization, business stakeholders and end customers of the project.
- Not allowed to speak/interrupt/suggest while the Scrum Team conducts the Scrum Meeting,however, they can observe the proceedings and provide their inputs at later point in time.