Module 8: Agile Project Management
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Project Management •
Project management is a combination of art and science both
•
You should be well versed with the principals of the project management
•
At the same time you should be practical while taking decision and understanding circumstances
•
Agile project management is more about empowerment
•
Agile projects are not lead by individual like project manager.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Project Management •
Rather projects are lead by the whole team
•
Agile projects works on simple processes that anyone can follow
•
Who manage the agile projects? •
Project are mainly managed by both Product Owner and Scrum Master together
•
Product owner is responsible for managing business aspects
•
Scrum Master is responsible for implementing agile custom software development processes. http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Project Phases •
There are 5 distinct phasesfor any project,
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Agile Project Phases Initiation
>> Product Backlog
Planning
>> Sprint Planning
Executing
>> Sprint
Monitoring & Controlling
>> Manage Sprint
Closing
>> Close Iteration & Release Planning
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Planning (Sprint Planning) Inputs
1 Product Backlog (Prioritized)
Tools & Techniques
1 Sprint Planning Meeting
Outputs
1 Sprint Goals 1 Sprint Backlog
2 Velocity Achieved 2 Estimating in Points 1 User Stories Selected Previously (Fibonacci) 2 User Stories (Draft) 2 Team
Members’ Availability
2 Planning Poker
1 Task Breakdown Estimates
and
1 Team’s Commitment 1 Cards on Whiteboard
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Execute Iteration (Sprint) Inputs
Tools & Techniques
1 Collaboration
1 Selected User Stories (represented by Cards on Whiteboard)
1 Test Driven Development
2 Task Breakdown
1 Automated Testing 1 Continuous Integration or Daily Build
1 Test Early & Often
Outputs
1 Working Software for Selected User Stories 2 Test Confirmations 2 Automated Tests
2 Any Related Documentation
1 Pair Programming 1 Refactoring http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Monitor & Control Iteration (Manage Sprint) Inputs
Tools & Techniques
1 Work Completed Yesterday
1 Cards on Whiteboard
Outputs 1 Final Burn down or Burnup Chart
1 Daily Scrum/Standup
2 Work Planned Today
2 Velocity Achieved 1 Daily Burn down or Burnup Chart
2 Impediments Affecting Progress
2 Working Software for User Stories Completed So Far
1 Review Product Frequently / Active User Involvement
1 Address Impediments 1 Definition of Done http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Close Iteration (Manage Sprint) Inputs
Tools & Techniques
1 Work Completed Yesterday
1 Cards on Whiteboard
Outputs 1 Final Burn down or Burnup Chart
1 Daily Scrum/Standup
2 Work Planned Today 2 Impediments Affecting Progress
2 Working Software for User Stories Completed So Far
2 Velocity Achieved 1 Daily Burn down or Burnup Chart 1 Review Product Frequently / Active User Involvement
1 Address Impediments 1 Definition of Done http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Velocity • • •
Velocity means to find how much work you can commit in a sprint It better helps to estimating the features and providing commitments How to measure velocity – i. Select a sprint as unit to measure velocity ii. Add the estimation of all the tasks of the sprint iii. At the end of the sprint add the hours of the tasks that are completed fully iv. Tasks that are not completed will be considered as zero v. At the end of the sprint the hours you got is your velocity.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Scrum Of Scrum •
Scrum of Scrum is analogues to Daily Stand upmeetings (Daily Scrum Meetings)
•
Large Scale projects when there are multiple sprint teams available, each team identifies one person to attend Scrum of Scrum
•
Decision of who to send is belongs to the team
•
Usually theperson chosen should be technical – programmer, designer, tester
•
Generally product owner or scrum master does not selected
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Scrum Of Scrum Meeting Agenda • •
Scrum of scrum meeting agenda is similar to daily scrum with one more additional question. The questions to be asked are, i. What has your team done since we last met? ii. What will your team do before we meet again? iii. Is anything slowing your team down or getting in their way? iv. Are you about to put something in another team’s way?
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Scrum Of Scrum Example (Large Scale Project) •
Total Resources: 243 People
•
Team size: 9 People in each team
•
Total Sprint Teams: 27 Sprint Teams
•
Scrum of Scrum meetings are held for monitoring and helping cluster of teams
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Scrum Of Scrum Example (Large Scale Project)
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
How agile are you or your team? •
Questionnaire to ask the team members
•
42 questions present in it
•
Give answer as 1 if you are 100% doing it else 0
•
Take the average of the score of each team member.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test 1. 2.
3. 4. 5. 6.
The team is empowered to make decisions. The team is self-organizing and does not rely on management to set and meet its goals. The team commits and takes responsibility for delivery and is prepared to help with any task that helps the team to achieve its goal. The team knows who the product owner is. Each sprint/iteration has a clear goal. All team members, including testers, are included in requirements workshops.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test 7. 8. 9. 10. 11. 12.
Requirements documentation is barely sufficient and the team collaborates to clarify details as features are ready for development. Test cases are written up-front with the requirements/user story. There is a product backlog/feature list prioritized by business value. The product backlog has estimates created by the team. The team knows what their velocity is. Velocity is used to gauge how many user stories should be included in each sprint/iteration.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test 13. Sprints/iterations are time boxed to four weeks or less. 14. Sprint budget is calculated to determine how many
15. 16. 17.
18.
product backlog
items/features can be included in the sprint/iteration. The sprint/iteration ends on the agreed end date. All tasks on the sprint backlog are broken down to a size that is less than one day. Requirements are expressed as user stories and written on a card. The team estimates using points which indicate the relative size of each feature on the product backlog/feature list.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test The team generates burn down charts to track progress daily. Software is tested and working at the end of each sprint/iteration. The team is not disrupted during the sprint/iteration. Changes are integrated throughout the sprint/iteration. Automated unit testing is implemented where appropriate. There is an automated build and regression test. Stretch tasks are identified for inclusion in the sprint/iteration if it goes better than expected 26. The Product Owner is actively involved throughout each sprint. 27. All code changes are reversible and it is possible to make a release at any time. 19. 20. 21. 22. 23. 24. 25.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test 28. Testing is integrated throughout the life cycle and starts on delivery of the first
29. 30.
31. 32. 33.
feature. Impediments that hold up progress are raised, recorded on the whiteboard and resolved in a timely fashion. When someone says ‘done’, they mean DONE! (i.e.shippable). The team uses the whiteboard to provide clear visibility of progress and issues on a daily basis. The sprint/iteration goal(s) is clearly visible on the board. All user stories and tasks are displayed on the whiteboard for the duration of the sprint/iteration. http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test 34. Daily scrums happen at the same time every day – even if the scrum master isn’t 35. 36.
37. 38. 39.
present. The daily scrum is restricted to answering the standard 3 scrum questions and lasts no more than 15 minutes. There is a product demonstration/sprint review meeting at the end of each sprint/iteration. All team members, including testers and Product Owner, are included in the sprint/iteration review. The sprint/iteration review is attended by executive stakeholders. There is a sprint retrospective at the end of each sprint/iteration. http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
42 Points Test 40. Key metrics are reviewed and captured during each sprint retrospective. 41. All team members, including testers, are included in the sprint retrospective
meeting. 42. Actions from the sprint retrospective have a positive impact on the next sprint/iteration.
http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development
Disadvantage Of Agile 1. 2. 3.
4. 5. 6.
7. 8. 9.
Active user involvement and close collaboration Requirements emerge and evolve Agile requirements are barely sufficient Testing is integrated throughout the life cycle Frequent delivery Sustainable pace System structure tends to degrade as new increments are added Regular changes usually corrupts the structure unless time & money spent on refactoring Has the potential to degenerate into a build & fix model. http://www.ifourtechnolab.com https://www.ifourtechnolab.com/custom-software-development