There are various things to consider when choosing to develop a project using Agile methodology.
Roles:
Product Owner:
- Defines features of the product
- Decide on release date and content
- Prioritizes and adjusts features every sprint
Scrum Master (typically a developer):
- Manages the project
- Ensures team is fully functional
- Enables close cooperation across all roles and functions
- Shields team from external interferences
Ideal Scrum team size ~7 people.
Stages:
1) Create a product backlog (list of user stories):
- Using a list of requirements given by the client, create a list of user stories.
2) Conduct a planning poker session:
- Only developers are involved in this session, clients may watch but cannot interact.
- The purpose of planning poker is to assign a "Story point" value to easy of the user stories.
- A story point value is the estimated "effort" of developing a story.
- Set up a series of poker cards that range from 0 to 100, the series of cards I am familiar with are 0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40 and 100.
- Each developer is given a series of poker cards. A user story is read aloud to the group and each person will have a few seconds to pick a story point value. Values picked are shown at the same time. If a consesus has been reached, move onto the next story. If not, there should be a quick discussion on why you picked your value, and another round of planning poker begins.
- If a poker value selected is greater than 20, you should consider breaking the user story down into small stories.
3) Sprint planning:
- Sprint Backlog is created
- Team selects items from product backlog which they can commit to completing
- Tasks are identified and each is estimated
4) Sprint:
- Ideal duration = 2-4 weeks
- Daily scrum meeting:
Ideally early in the day. Stand-up, quick meeting. Managed by Scrum Master. 3 questions are asked each meeting; What did you do yesterday? What are you going to do today? Is there anything in your way?
- Design, development and testing done throughout sprint.
5) Sprint review:
- Scrum team present what they accomplished during the sprint (demo new features)
- Attendees - Scrum Team, Product owner, stackholders
- What went well, problems, how problems were resolved
- Demonstrate what user stories are "done done"
- Receive feedback from Product Owner
6) Sprint Retrospective:
- Occurs after Sprint Review and planning for next sprint
- Look at what is and isn't working
- Inspect how the Sprint went
- Create plan for making improvements on how the scrum team operates
- Develop better processes/practices
7) Repeat Stage 3
- Plan next sprint using same processes as before.