agile planning and estimating
TRANSCRIPT
AGILE PLANNING & ESTIMATINGLaurynas AntanavičiusProduct Manager @ Data Dog2014.10.01
ABOUT US• Custom web development and support
• Cloud-based application and software development• B2B, B2C eCommerce solutions
• Specialised in PHP• Over 35 developers• Wide base of clients: UK, US, UAE, Canada, Luxembourgh,
France…
http://vimeo.com/107405318
OUR TEAM
• Crypto-Currency exchange / Forex market• 6 members in the development team• Agile - Scrum, TDD, CI, CD• PHP & GO• Write tests before each line of code (TDD & CI)• Ship the feature as soon as it is ready (CD)• Focus on performance & quality
https://www.youtube.com/watch?v=fYGd6Eo1aUw
https://www.youtube.com/watch?v=F9bqA3JfSBc
AGILE PLANNING & ESTIMATING
And why this is contradictory
FEATURES
COST SCHEDULE
Fixed
Estimated
PLAN DRIVEN
(WATERFALL)
FEATURES
COST SCHEDULE
Fixed
Estimated
VALUEDRIVEN (AGILE)
Customer collaboration over
Contract negotiation
Instead of saying “We will deliver these features probably at this price and
probably at this deadline”
We can say “We will work until this deadline at this price and we will deliver the features that bring the most value
for the business”
AGILE PLANNING
AGILE VALUE DRIVEN DEVELOPMENT
How do we determine value?
You have to know what it is about and why it is valuable for the business.
Project summaryProject objectives
Business requirements / limitations
1
Project summary: The website will act as the primary source of information and point of contact for any matters relating to the university business incubator. The main problem with the current website is that it lacks flair and is not easy to maintain and/or update.
The key aim of the hub is to: Showcase events organised through the platform. Advertise companies with which it has partnered.
Present case studies from researchers carrying out secondments in industry. Links to research centres and groups in the university, particularly within the departments of Electronic & Electrical Engineering and Computer Science.
The key measurable objectives are: Increase the number of enquiries about the hub and its offerings via the website.
Gain press attention.
Set it with the Project Owner, write it down and check it periodically.
2
Prepare a Product Backlog with PO3
Prioritised feature listMimimally Marketable Feature
Very detailed for the most important features that are next in development
Working software over
Comprehensive documentation
Progressive elaboration -top priority upcoming items must be defined in detail
Define the length of the next iterration
4
TimeboxingSeparate budget, schedule, deliverables
It is advisable to keep it fixed
Plan the upcoming iterration by choosing the amount of work for
development5
The team must be clear about comitments“These are the features that we will deliver in the
next iterration”
HOW DO WE KNOW HOW MUCH WE CAN DELIVER?
AGILE VALUE DRIVEN DEVELOPMENT &
ESTIMATING
We must understand that estimates are just estimates and they can be
fundamentally wrong.
twitter.com #NOESTIMATES
ESTIMATING
DELIVERY
! But how do we tell the client the project end date?
We can set the maximum number of weeks that we will
work on the project that is reasonable within the scope
! But how do we tell the PO about the difficulty of the task?
Let’s go back to some of the Agile iterration planning
techniques
Stickies are your best friend!
Relative sizing / story points1
Relative sizing is more precise than hours (A – C is twice as far as A – B)
Estimating relative size is much quickerIt shows the measure of relative size / complexity
It is a universal number for everyone
As a visitor, I need to see an error message if I entered my login credentials incorrectly.
As a visitor, I need to subscribe to the newsletter.
As an administrator, I need to edit newsletter subscription message template.
As an administrator, I need to set the price margin for each order in the market
Wideband Delphi / planning poker2
Consensus-based technique for estimating effortEach estimator gets a deck of cards with values:
0, 1, 2, 3, 5, 8, 13, 20, 40, and 100High and low estimates are discussed for the
reasons why their estimates are different
Affinity estimating3
Affinity Estimating is a technique many teams use to quickly and easily estimate (in Story Points) a
large number of user stories.
User Stories are put into groups that require a similar effort to produce.
Ideal time4
Ideal Time excludes non-programming time“Ideal time” – time spent exclusively on the taskWhen you bill the client, you have to take into
account the real time
Used to check if the amount of work in the upcoming sprint is adequate
Measures performanceAcknowledges that performance is not fixed to 40h
per week
Sum of Story points = Team capacity
TEAM CAPACITY
First iterrationThe amount of work chosen in story points = Capacity
Next iterationCapacity of the previous iterration + additional work done*
* Can be equal or higher, because our productivity is constantly increasing
AGILE VALUE DRIVEN DEVELOPMENT &
DELIVERY
Responding to change over
Following a plan
WAIT FOR IT..Questions?