Kjetil Moløkken-Østvold – Conceptos Consulting
NDC2010, 16.-18. June, Oslo
• Senior Partner at Conceptos Consulting
• Academic and research background
– PostDoc and Assistant Director at
Simula Research Laboratory (Norway)
– MSc (Siv.Ing.) and PhD from the University of Oslo (Norway)
– Published 23 papers on various topics, including estimation, project management, agile, collaboration, communication, contracts etc.
• Recent commercial projects
– External quality assurance and consulting for several large public sector projects (>500 MNOK)
– Process improvement for financial and telecom companies
Good projects
Better estimation, requirements handling and process
Good collaboration
• Requirement handling and estimation
• The case: Lindorff
– Problem
– Solution
• Results
• Conclusion
• About 70-80% of all projects encounter effort (cost) overruns¹
• The average magnitude of effort overruns is 30-40%
• Similar results for schedule overruns
• No apparent change the past 30-40 years
¹ Moløkken-Østvold, Jørgensen, Tanilkan, Gallis, Lien and Hove. A Survey on Software Estimation in the Norwegian Industry , In 10th International Software Metrics Symposium (METRICS 2004)
• Requirement processes demand
– Structure and a long-term perspective
– Close collaboration with customers/users
• Should you have
– A big up-front requirement process,
– Only one for each iteration, or
– A combination?
• Many have trouble with requirement processes in agile development
• Changed and new requirements are perceived as the customers' most frequent contribution to overruns¹
• Overruns are prevented by the availability of competent customers and capable decision makers
• Avoid the influence of irrelevant and misleading information
¹ S. Grimstad , M. Jørgensen, and K. J. Moløkken-Østvold. The Clients' Impact on Effort Estimation
Accuracy in Software Development Projects, In: 11th IEEE International Software Metrics
Symposium (METRICS 2005), Como, Italy, September 19-22, pp. 3, IEEE, 0 ed.. 0, 2005.
• Previous studies have found communication to be important for project success
• Frequent communication can be used to prioritize features, set focus on bug-fixing or include more functionality (Beck and Fowler,
Planning Extreme Programming , 2001)
• Motivated in part by Cockburn ¹
, we explored the frequency of communication between the contractor and the customer
¹
Cockburn, "The End of Software Engineering and the Start of Economic-Cooperative Gaming,"
ComSIS , 2004.
2,0
1,5
1,0
0,5
0,0
Boxplot of BREBias by Communication frequency Level
Daily
Not Daily
Mean
0.09
0.58
Median
Daily
Communication frequency
Not daily
• A Kruskal-Wallis test for difference results in p=0.023
• The corresponding size of effect is d=1.25, indicating a large size of effect
0.19
0.35
Increases
Characteristics
Business goals
Requirements
(coarse-grained)
User stories (etc.)
(Development) tasks
Functions (etc)
Levels Roles
”-the concept of an overrun is not one typically found in agile development processes themselves, and precision estimation up front is not typically seen as a priority.”
-
Comment from anonymous reviewer,
Agile 2007, research track.
• It appears as if many books, papers and tutorials in the Agile community assumes:
– A customer with no need for budget or schedule when starting a project
– No need for long term planning within the development team(s)
– That minor estimates derived as you go (e.g. for sprints) are sufficient
• Agile projects are hardly immune to overruns, delays and bad business decisions based on poor estimates
• “Planning Poker” or similar techniques for estimating sprints or releases are important, but not sufficient
• It is often necessary to provide a relatively accurate estimate of total project delivery schedule and costs at en early stage, due to:
– Bidding
– Budgeting
– Staffing
– Scheduling
– Release planning
– All of the above…
• Several studies have found that combination of estimates may reduce overoptimism and overruns¹
• True for both contract work and in-house development
• Combination in itself may be more important than the method chosen
¹ K. J. Moløkken-Østvold, N. C. Haugen, and H. C. Benestad. Using Planning Poker for Combining
Expert Estimates in Software Projects , Journal of Systems and Software 81(12):2106-2117,
2008.
• Obtain knowledge from various sources
• Avoid extreme decisions
• Synchronize perceptions about estimates and work at hand
• Create ownership of estimates
• Remove irrelevant information (if using moderator)
• Introduce a ”devil’s advocate”
• Passive participants
• Depending on chosen method: political pressure
(groupthink)
• Requires good moderators and experts
• Time-consuming and costly (?)
Method
Delphi
Structure Anonymity Interaction Overhead
Heavy Yes No Major
Wideband Delphi Moderate Limited Limited Moderate
Planning Poker Light No Yes Limited
Unstructured groups Light
Statistical groups Light
No
Yes
Yes
No
Limited
Limited
Decision markets Heavy Yes No Moderate
• A release for NextLevel
• Six estimators representing development and business
• Release was broken down to a set of requirements (about 30 elements to estimate)
Overall estimates Round 1 (hours) Round 2 (hours) Change (%)
Average (mean)
Median
Most optimistic
Most pessimistic
677
577
470
1027
936
991
770
1056
38,2 %
71,9 %
63,8 %
2,8 %
• Estimation, prioritization and planning of requirements provides new information
• Several roles should be involved in the estimation
– Consider involving the customer as well
• Estimation should happen at several ”levels”
(ref. the pyramid) in order to verify and triangulate
• A study found that effort overruns differed significantly depending on project process¹
– Sequential (waterfall): 55%
– Flexible (agile, iterative): 24%
• Projects with a flexible process ranked higher on:
– Good requirements
– Good collaboration between developers and business/customer
¹ Moløkken-Østvold and Jørgensen, "A Comparison of Software Project
Overruns“, IEEE Transactions on Software Engineering, 2004.
• Having some meetings while not sitting down
• Moving yellow notes around a whiteboard
• Using strange job titles
• Developing and prioritizing requirements
• Providing (accurate) estimates
• Collaborating between developers and customers
• Lindorff Group is a leading outsourced receivables management company in Europe and on a global basis
• Lindorff has approximately 2200 employees
• Offices in Denmark, Estonia, Finland, Latvia, Lithuania,
Germany, the Netherlands, Norway, Spain, Russia and
Sweden
• Purpose of project
– To deliver a new .NET GUI on an existing debt collection application
– Re-write business logic from Powerhouse to
PL/SQL and .NET
• Distributed participants
– Developers in Oslo and Bø
– Testers and business developers in Oslo,
Røyken and Trondheim
– Users/customers in Røyken, Oslo, Trondheim and other locations
• Poor routines for communicating and prioritizing requirements
• Effort overruns
(about 25%)
• Internal collaboration rated as average
Describing, refining, prioritizing and communicating requirements is difficult for business people
Understanding, estimating and developing requirements is difficult for software developers
• Implement a flexible sharing regime for requirements, prioritization and estimates
• Lindorff joined a project financed by
Innovation Norway
• Main development partner was
Symphonical
• Symphonical is a webtool that takes you from idea to action
• It incorporates document handling, group collaboration and simple task tracking using digital post-it notes (information containers) on walls
• Cloud based (Amazon) since 2008
• Spin-off from Simula
Research Laboratory
• Allows for synchronized collaborative work
– Actions performed by one person is shown in real-time to others logged in
• Used in
– Requirement workshops
– Requirement reviews
• Used when the meeting is held in more than one location
• Share one or more information containers
(notes) with collaborators
• Used in
– Requirement specification
– Requirement quality assurance
• Used to get input from resources outside the project
– Sporadic contributors
• Used for estimating requirements/user stories in collaboration
– Used in advance of the developers estimation meeting, i.e. the first estimation iteration
– Used in the estimation meeting to administrate estimation iteration 2 (and if needed; iteration 3)
• Can also be used to prioritize requirements etc.
• A history of in-context discussions, replaces mail etc.
• Used through out the requirement process, from the initial workshop to the final quality assurance
• Helps keep track of the evolution of the requirements
• A default text on notes (requirements/user stories)
• Used
– in order to make sure the requirements are expressed in a format that makes sense to the developers
– to ”force” the requirement handlers to provide mandatory information
• Reuse settings/templates
• Used in order to be able to reuse structures and default text on notes in later projects/deliveries
• Supports the use of the chosen methodology
• Lindorff improved on all studied areas
• Respondents provided ratings (1-5, 1=best)
Selected areas 2007
Collaboration business/IT 2,4
Requirement handling
Estimation process
3,0
3,3
2009
1,9
1,9
2,2
• Effort overrun (perceived) was reduced from an average of 25% to 12%
• Requirement handling o All respondents (IT and business) reported that use of
Symphonical had greatly improved how requirements were specified, refined and communicated
• Estimation o About half reported that Symphonical had improved the estimation process o The other half reported no discernible impact from
Symphonical by itself (though it could have played a role along with other improvements) o Responses to a large extend depended on company role, with business perceiving most value
• “I perceive [the change to Symphonical] as positive [...] better than Excel [...] having every requirement as a use case is good. Structure, retrievability and traceability is much better than in Word and Excel.”
• “It is easier to get input from more people now [...] it is easier to concentrate on one single requirement at a time.”
• ”… Previously, one studied and estimated in meetings.
Now it is possible to prepare, estimate and think [...] one can view average values and there is traceability .”
• Analyze your situation regarding quality of requirements and magnitude of effort overruns
• Get rid of static documents (Word, Excel etc.) shared via email and informal communication (calls, notes on desk etc.)
• Implement a web-based collaboration platform
• Contact information:
– Presentation: http://www.conceptos.no/
– Email:
– Please visit our stand here at NDC!
• This research project was
– Funded by Innovation Norway
– Conducted in collaboration with Dr. Kjetil Kristensen, founder and Principal Consultant of Kristensen Consulting
• Caveat Emptor: the author of this presentation is a member of the board of directors at Symphonical, and has ownership interests in the company