Agile frameworks:
Ø eXtreme Progamming (XP)
Ø Agile Unifies Process (AUP)
Ø Scrum
Ø Crystal
Ø Feature Driven Development (FDD)
Scrum-Agile is most popular framework.
Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
As a first step, inputs arrive to Product owner from customer and managers.
The product owner creates prioritized product backlog. Most important on top
This list may change after each iteration
This is then broken into stories.
Story describes:
Ø Who does story?
Ø What they will do?
Ø Why they will do?
SPRINT = basic unit of development
Range => 1 week to 1 month
Many Sprints per projects typically
2nd step is Sprint meeting: Team commits amount of work they can complete in one Sprint
Work is sized using one of several Agile estimation techniques
There are task break-outs.
This is not a guess game
The people who estimate work lower than team or higher than team justify the efforts.
The amount of work (to be) done by team, per Sprint is called Velocity of team.
Good teams never commit more than their normal velocity.
The team recognizes importance of priorities of tasks.
3rd step is actual work:
Iteration is the time team spends working on stories.
Each day team does Scrum meetings for 5 to 15 minutes, where each team member describes
- What they have done
- What they will do
- Whether there are any impediments (blocking tasks)
Roles:
Ø Product owner
- Define the features of the product
- Decide on release date and content
- Be responsible for the profitability of the product
- Adjust features and priority every iteration
- Accept or reject work results
Ø Scrum master
- Represents management to project
- Responsible for enacting Scrum values and practices
- Removes impediments
- Ensure that team is fully functional and productive
- Enable close cooperation across all roles and functions
- Shield the team from external interferences
Ø Team:
- The business sets priorities. Teams self-organize to determine the best way to deliver the highest priority features.
- The Scrum team typically consists of 4(min) to 12(max) members.
- The team is cross functional. Eg: it may consist og one developer, one BA, one DBA.
Activities:
Ø Sprint planning
Ø Spring Review/ Sprint Demo:
- Important
- Improves product
- Shows product owner/ client what team has accomplished
- Thus, client sees results
- Client can provide feedback on what they see
Ø Sprint Retrospective
- Final piece of process in Sprint
- Improves the team and process
- Brings success and failures in team. Objective is to improve who team works together.
- Empowers team to be successful
- This is last process, but most important thing here is having ‘Finished Work’ available here, that can be demonstrated and usable. It may or may not be ready for product release.
Ø Daily Scrum meeting (exposes risk and tells how far/near we are near definition of done)
Artifacts:
Ø Product backlog
Ø Sprint backlog
Ø Burndown charts