AGILE PLANNING & ESTIMATING Laurynas Antanavičius Product Manager @ Data Dog 2014.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
Fixed FEATURES
PLAN DRIVEN (WATERFALL)
COST
SCHEDULE Estimated
Fixed COST
SCHEDULE
VALUE DRIVEN (AGILE)
FEATURES Estimated
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?
1
You have to know what it is about and why it is valuable for the business. Project summary Project objectives Business requirements / limitations
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.
2
Set it with the Project Owner, write it down and check it periodically.
3
Prepare a Product Backlog with PO
Prioritised feature list Mimimally 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
4
Define the length of the next iterration Timeboxing Separate budget, schedule, deliverables It is advisable to keep it fixed
5
Plan the upcoming iterration by choosing the amount of work for development
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!
1
Relative sizing / story points
Relative sizing is more precise than hours (A – C is twice as far as A – B) Estimating relative size is much quicker It 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
2
Wideband Delphi / planning poker
Consensus-based technique for estimating effort Each estimator gets a deck of cards with values: 
 0, 1, 2, 3, 5, 8, 13, 20, 40, and 100 High and low estimates are discussed for the reasons why their estimates are different
3
Affinity estimating
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.
4
Ideal time
Ideal Time excludes non-programming time “Ideal time” – time spent exclusively on the task When you bill the client, you have to take into account the real time
TEAM CAPACITY Used to check if the amount of work in the upcoming sprint is adequate Measures performance Acknowledges that performance is not fixed to 40h per week 
 Sum of Story points = Team capacity
First iterration The amount of work chosen in story points = Capacity Next iteration Capacity 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?