Absolute estimating of programming tasks proves to be challenging in (too) many cases. When development takes longer than foreseen, any or several of the following areas are impacted: quality, finances, resource planning and client satisfaction. Studies reveal that 2 out of 3 software development projects are unsuccessful because they are over budget, late, missing function or a combination – in short: estimating fails frequently enough.
Agile Estimating is a methodology for project managers to better plan their projects in advance and to keep their planning up-to-date and accurate throughout the development process. Estimates of tasks are done on a relative basis using an independent unit instead of hours or days. As the team progresses on its tasks, indicators such as the actual business situation, the constitution of the team, the learning progress of the team members and the feedback of the client are tracked. These indicators are fed back into an updated planning allowing for more accurate forecasts and giving a better basis for decision making.
As the TYPO3 community is transitioning into greater possibilities and chances to establish itself increasingly in the enterprise CMS sector (keyword: TYPO3 Phoenix), new technical complexities will have to be faced and overcome. New business requirements and better interoperability with other systems is going to put high demands on project teams. Strong project management capabilities need to be acquired alongside the technological advancements within the community and with the different services providers to sustain the reputation of TYPO3 services as enterprise solutions.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Better Plan TYPO3 Projects with Agile Estimating
1. Better Plan your
TYPO3 Projects with
Agile Estimating
Violeng Mam
violeng@web-essentials.asia
Dominik Stankowski
dominik@web-essentials.asia
2. Dominik Stankowski
● Software Engineer
● TYPO3 certified Integrator
● Online media expert, has worked
for the Swiss news portal
www.swissinfo.ch
● Owner and CEO of Web Essentials
● 4 years outsourcing experience in Cambodia
3. Violeng Mam
● BA in Computer Sciences
● TYPO3 certified Integrator
● Project Manager and Team leader
Project Managers Team
● Senior Manager at Web Essentials
● 3 years experience working with
international clients
5. Why Plan?
● Keep due dates and budget
● Manage resources
● Build trust with clients
● Reduce risks and last minute surprises
● Create a basis for decision making
→ Control the outcome/future of a project
6. Problems with Estimations
● It's hard to know exactly how long a task will take
● People are not very good at giving accurate estimates
● Sometimes we get interrupted, it takes longer than thought
● Sometimes we find unexpected problems
● People get sick, take holidays...
● Planning by hour or day gives wrong incentive
● Activities are interdependent
13. Activity: Country Sizes
Cambodia: 181,035 km2
Laos: 236,800 km2
Thailand: 513,120 km2
Vietnam: 329,560 km2
Myanmar: 676,578 km2
Source: wolframalpha.com
14. Activity: Country Sizes
Cambodia: 181,035 km2
Laos: 236,800 km2
Thailand: 513,120 km2
Vietnam: 329,560 km2
Myanmar: 676,578 km2
Germany: 357,022 km2
Switzerland: 41,277 km2
Source: wolframalpha.com
15. Activity: Country Sizes
Cambodia: 1 country pt.
Laos: ?
Thailand: ?
Vietnam: ?
Myanmar: ?
Source: wolframalpha.com
16. Activity: Country Sizes
Cambodia: 1 country pt.
Laos: 1 cpt.
Thailand: 3 cpts.
Vietnam: 2 cpts.
Myanmar: 4 cpts.
Germany: 2 cpts.
Switzerland: ¼ cpts.
Source: wolframalpha.com
17. Activity: Country Sizes
It is easier to compare in country points than in actual sizes.
→ Relative Estimations
18. Relative Estimations
It does not matter what unit we use to measure the size:
● Country Points
● Ideal days
● Bananas...
It is important that the estimates are consistent:
Same sizes get same number of points
21. Relative Estimations
Building estimates on facts:
If an activity takes longer the chances are high that a similar
activity takes longer, too.
→ Velocity will define the time needed
22. Velocity
● Velocity is the number of 'country points' or 'ideal days' we
can do in a set time (e.g. a week)
● Things like interruptions, meetings, infrastructure failures will
lower our velocity
● As long as our estimate of a task is consistent with our
estimate for the other tasks, we can use velocity to tell us
when we will be finished
23. Example Project
Image Contest
● Users can upload images
● Users can view uploaded images and rate
● The Winners are displayed and notified
24. Example Project
Picture Detail
Concept, Generate (Lightbox)
Data Model Extension & TCA Picture Gallery
Load more when
scrolling down
Vote & Comment
Functionality Highscore Send Email
Image Functionality
Upload
25. Velocity
Simplified: All 9 tasks are the same size
Assume: After 1 week, 3 tasks finished
(simplified) Velocity = 3 tasks / 5 days = 0.6 tasks / day
26. Velocity
When will we finish?
● Remaining: 6 tasks
So we can complete (simplified):
6 tasks / 0.6 tasks/day = 9 days*
*if we continue with the same velocity, but:
Velocity will get more reliable if tracked over longer period
27. Example Project
Picture Detail
Techn. Concept, Generate (Lightbox)
Data Model Extension & TCA Picture Gallery
1 ½
View 1
2
Load more when
scrolling down
Vote & Comment
Functionality Highscore Send Email 1
Image
2 Upload 1
Functionality
2 2
28. Velocity
Total number of points: 12.5
Assume:
● 3.5 points finished
● 3 days elapsed
(simplified) Velocity = 3.5 points / 3 days = 1.2 points / day
29. Velocity
When will we finish?
● Remaining: 9 points
So we can complete (simplified):
9 points / 1.2 points/day = 7.5 days → 8 days
Proposition: It is better to track the points we can
complete/week than the remaining days.
30. Increase accuracy
● Involve the whole team in estimating
● Use non-linear sequences for points such as e.g. Fibonacci:
0, (½), 1, 1, 2, 3, 5, 8, 13, 21, …
● Man-days instead of elapsed time for velocity calculation
● Clearly define what means a task is complete
● Verify velocity on a regular basis
● Re-estimate stories if needed (but only if the relative size is
wrong – absolute errors will be corrected by velocity)
31. Our Experience
Planned and actual completion and scope
180
160
140
120
100 Total Planned Capacity
Total Scope
Points
80 Total Dev Complete
60
40
20
0
0 1 2 3 4 5 5 5 6 7 8 9 10 11 12 13 14 15 16 16 17
Iteration
32. How to decrease 'time to finish'
Monitor effects on velocity regularly and make necessary
changes:
● Less interruptions and less multi-tasking (velocity +)
● Give team members more time on project (man days +)
● Add skilled developer to the team (velocity +, man days +)
● Reduce scope of features or project (points -)
33. Summary
Estimating is a continuous process as we understand more
about how we perform
→ agile = flexible, well coordinated, quick to move
34. Summary
Agile Estimating will make your planning more accurate
because:
● The whole team is involved
● Estimates of size and duration are separated
● Estimates and plans are based on facts
● Learning and adjusting is fostered
→ Accurate estimates allow for better decision making