Extreme Planning: Agile turned to the max Exilesoft Johannes Brodwall Exilesoft Chief
What are we going to do?
When will we get done?
How will we be able to do it?
After this talk
Forecast from actual progress
Uncover what needs to be done
Plan ourself out of the rush
But first
Where does the rush come from?
Part I
Yesterday’s weather
“How long will it take to drive to Chicago”
Kandy
t = s/v
After 1 hours, we have only got to Mahara…
v estimate > v measured
Product backlog
8 8
8 weeks?
8 sprints?
5 stories planned
(or 5 stories * 3-8 story points = 25 story points)
5 stories planned
4 stories delivered
6 stories delivered
7 weeks
How many hours?
Cost = (burn rate) * (time) = (team cost) * (backlog) / velocity
6 stories delivered
Architect
The worst way to answer: To estimate hours per task
Actual hours = Σ estimated hours per task * “load factor” * “management overhead” * fudge factor
Actual hours = Σ estimated hours per task * whatever
Part II
Creating the backlog
Vision Usage flow Product backlog
Vision, stakeholder
For Exilesoft Global Employees Who wants to take leave from work The MyLeave Is a responsive web application Which lets them register leave applications and get them approved Unlike current LMS/Standard Systems Our product can be used globally/has the advantage of integratability and flexibility
Usage flow
1.HR admin logs in via Exilesoft SSO (same for the other stakeholders) 2.HR admin navigates to MyLeave 3.HR admin allocates leave quotas based on information in HR database 4.HR admin builds company calendar 5.HR admin adjusts the leave quota for an individual user in HR system 6.HR admin assigns leave approvers from uses in HR system 7.Employee views their available leave 8.Employee submits leave request 9.MyLeave notifies Team leader of a new pending leave request via 10.Team leader or delivery manager views pending leave applications 11.Team leader or delivery manager checks the other leaves in the same time period 12.Team leader or PMO approves leave 13.MyLeave notifies Employee of an update of his leave request via 14.Employee checks status of own leave application 15.Employee cancels own leave 16.PMO views the teams' leave calendar, plans and history 17.PMO may cancel leave if necessary
Minimum interesting demo
1.HR admin logs in via Exilesoft SSO (same for the other stakeholders) 2.HR admin navigates to MyLeave 3.HR admin allocates leave quotas based on information in HR database 4.HR admin builds company calendar 5.HR admin adjusts the leave quota for an individual user in HR system 6.HR admin assigns leave approvers from uses in HR system 7.Employee views their available leave 8.Employee submits leave request 9.MyLeave notifies Team leader of a new pending leave request via 10.Team leader or delivery manager views pending leave applications 11.Team leader or delivery manager checks the other leaves in the same time period 12.Team leader or PMO approves leave 13.MyLeave notifies Employee of an update of his leave request via 14.Employee checks status of own leave application 15.Employee cancels own leave 16.PMO views the teams' leave calendar, plans and history 17.PMO may cancel leave if necessary
Experimental X Simplified X Basic X Complete X Improved X
Demo/deploy/automate Styling Testing Learning
Product backlog
Step 4 Step 3 Step 2
Experimental X Simplified X Basic X Complete X Improved X
Release/ deployment Architecture through spike Technology study
EstimatePlan
Part III
Planning the sprint
Planning the demo
(content)
Experimental submit leave request 1.Go to the front page 2.See that there is a dropdown with possible users and approvers 3.Select a user, approver, start date, end date, reason 4.See that the number of days is updated 5.Click submit 6.See that the data is in the database 7.Submit a request with no start or end date 8.See that there is an error message 9.See that the data is not in the database
Log in using Exilesoft SSO (foreign user story from SSO) 1.Open a new web browser and go to the application 2.Verify that the user is not logged in 3.Click login 4.The user is sent to Exilesoft SSO 5.Verify that the username is correct when the user is returned to application TODO SSO must support cross-domain authentication
Log in using Exilesoft SSO (foreign user story from SSO) 1.Delete any existing permission from 2.Open a new web browser and go to the application 3.If you are logged in, click log out 4.Click login 5.The user is sent to Gmail to autenticate 6.Deny the authentication request 7.Verify that the login button is still displayed 8.Click login again 9.Allow the authentication request in Gmail 10.Verify that the users address is displayed 11.Click log out 12.Verify that user address is no longer displayed
Planning the demo
(time)
Planning the demo (time)
Planning the demo
(practice)
Log in using Exilesoft SSO (foreign user story from SSO) 1.Delete any existing permission from 2.Open a new web browser and go to the application 3.If you are logged in, click log out 4.Click login 5.The user is sent to Gmail to autenticate 6.Deny the authentication request 7.Verify that the login button is still displayed 8.Click login again 9.Allow the authentication request in Gmail 10.Verify that the users address is displayed 11.Click log out 12.Verify that user address is no longer displayed
What are we doing? When are we done?
Cost = (burn rate) * (time) = (team cost) * (backlog) / velocity
Create backlog from usage flow
Track stories per week Forecast Actual
Plan features with demo script
Thank you