49
Technology Supported Requirement Handling and Estimation Kjetil Moløkken-Østvold – Conceptos Consulting NDC2010, 16.-18. June, Oslo

Technology supported requirement handling an estimation

Embed Size (px)

DESCRIPTION

Lindorff Group is a leading outsourced receivables management company in Europe, and one of the leading on a global basis. For the past three–four years, they have increasingly adopted agile practices, especially in a large scale project converting and improving an old system written in Powerhouse to new .Net–technology. The results from adopting agile practices have been mostly positive, however, there were challenging issues related to requirement handling and estimation that needed attention. In 2008, Lindorff joined a project with Symphonical funded by Innovation Norway. The purpose of the project was to develop software for requirements handling, estimation and knowledge management for the Symphonical platform. Symphonical is a flexible web–based collaboration platform, where users can brainstorm, plan, organize and coordinate any process. This talk presents results from a case study detailing the challenges faced by Lindorff as they simultaneously adopted agile practices and introduced a new system for requirement handling and estimation. According to the respondents of the case study, Lindorff appears to have improved on two of the main points of concern presented in the 2007 study: requirement handling and estimation. Many users report that the introduction of agile methods and the platform Symphonical has improved the quality of important work processes. Furthermore, they report that the introduction of Symphonical has provided a framework for structured discussions regarding individual requirements, which helps maintaining the focus of IT projects. Furthermore, the flexible sharing regime where one can easily share information to external participants improves the effectiveness and efficiency of collaboration with all project contributors.

Citation preview

Page 1: Technology supported requirement handling an estimation

Technology Supported Requirement Handling and Estimation

Kjetil Moløkken-Østvold – Conceptos ConsultingNDC2010, 16.-18. June, Oslo

Page 2: Technology supported requirement handling an estimation

About the speaker: Kjetil Moløkken-Østvold

• 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

Page 3: Technology supported requirement handling an estimation

Today’s message

Good projectsBetter estimation,

requirements handling and process

Good collaboration

Page 4: Technology supported requirement handling an estimation

Contents

• Requirement handling and estimation• The case: Lindorff

– Problem– Solution

• Results• Conclusion

Page 5: Technology supported requirement handling an estimation

Requirement handling and estimation

Page 6: Technology supported requirement handling an estimation

Software Project Overruns

• 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)

Page 7: Technology supported requirement handling an estimation

Is requirement handling important?

• 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

Page 8: Technology supported requirement handling an estimation

Requirement handling

• 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.

Page 9: Technology supported requirement handling an estimation

Frequent communication

• 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.

Page 10: Technology supported requirement handling an estimation

Contact frequency and overruns

• 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

Communication frequency

BREB

ias

Not dailyDaily

2,0

1,5

1,0

0,5

0,0

Boxplot of BREBias by Communication frequency Level Mean Median

Daily 0.09 0.19

Not Daily 0.58 0.35

Page 11: Technology supported requirement handling an estimation

The requirement pyramid ©

Pro

ject

man

ager

s

Dev

elop

ers

and

test

ers

Cus

tom

ers

End

-use

rs

Inte

ract

ion

desi

gner

s

Levels RolesCharacteristics

Pre

cisi

on

Com

mun

icat

ion

cost

s

Abs

trac

tion

Increases

Business goals

Requirements (coarse-grained)

User stories (etc.)

(Development) tasks

Functions (etc)

Page 12: Technology supported requirement handling an estimation

Agile development and estimation?

”-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.

Page 13: Technology supported requirement handling an estimation

Main challenge

• 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

Page 14: Technology supported requirement handling an estimation

Estimating Agile projects

• 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…

Page 15: Technology supported requirement handling an estimation

Combination of estimates may reduce overruns

• Several studies have found that combination of estimates may reduce over-optimism 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.

Page 16: Technology supported requirement handling an estimation

Why combine estimates?

• 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”

Page 17: Technology supported requirement handling an estimation

Pitfalls when combining estimates

• Passive participants• Depending on chosen method: political pressure

(groupthink)• Requires good moderators and experts• Time-consuming and costly (?)

Page 18: Technology supported requirement handling an estimation

Some methods for combining estimates

Method Structure Anonymity Interaction OverheadDelphi Heavy Yes No Major

Wideband Delphi Moderate Limited Limited Moderate

Planning Poker Light No Yes Limited

Unstructured groups Light No Yes Limited

Statistical groups Light Yes No Limited

Decision markets Heavy Yes No Moderate

Page 19: Technology supported requirement handling an estimation

Delivery (release) estimated with Wideband Delhi

• 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) 677 936 38,2 %

Median 577 991 71,9 %

Most optimistic 470 770 63,8 %

Most pessimistic 1027 1056 2,8 %

Page 20: Technology supported requirement handling an estimation

Estimation should be an integrated part of the requirement process

• 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

Page 21: Technology supported requirement handling an estimation

Project processes• 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.

Page 22: Technology supported requirement handling an estimation

The easy part when implementing agile processes

• Having some meetings while not sitting down

• Moving yellow notes around a whiteboard• Using strange job titles

Page 23: Technology supported requirement handling an estimation

The hard part when implementing agile processes

• Developing and prioritizing requirements• Providing (accurate) estimates• Collaborating between developers and

customers

Page 24: Technology supported requirement handling an estimation

The hard part is even harder in a distributed

environment

Page 25: Technology supported requirement handling an estimation

The case: Lindorff

• 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

Page 26: Technology supported requirement handling an estimation

NextLevel Project

• 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

Page 27: Technology supported requirement handling an estimation

NextLevel Project

• 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

Page 28: Technology supported requirement handling an estimation

Internal improvement study Q4 – 2007, findings:

• Poor routines for communicating and prioritizing requirements

• Effort overruns (about 25%)

• Internal collaboration rated as average

Page 29: Technology supported requirement handling an estimation

Describing, refining, prioritizing and communicating requirements is difficult for business people

Understanding, estimating and developing requirements is difficult for software developers

Page 30: Technology supported requirement handling an estimation

Problem: inefficient communication

Page 31: Technology supported requirement handling an estimation

Solution

• Implement a flexible sharing regime for requirements, prioritization and estimates

• Lindorff joined a project financed by Innovation Norway

• Main development partner was Symphonical

Page 32: Technology supported requirement handling an estimation

About 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

Page 33: Technology supported requirement handling an estimation

Example features used by Lindorff

Page 34: Technology supported requirement handling an estimation

Live

• 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

Page 35: Technology supported requirement handling an estimation

Sharing

• 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

Page 36: Technology supported requirement handling an estimation

Voting/estimation

• 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.

Page 37: Technology supported requirement handling an estimation

Voting/estimation (cont.)

Page 38: Technology supported requirement handling an estimation

Conversations

• 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

Page 39: Technology supported requirement handling an estimation

Template

• 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

Page 40: Technology supported requirement handling an estimation

Tool

• 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

Page 41: Technology supported requirement handling an estimation

Results

Page 42: Technology supported requirement handling an estimation

• Lindorff improved on all studied areas• Respondents provided ratings (1-5, 1=best)

Main results (two years after)

Selected areas 2007 2009

Collaboration business/IT 2,4 1,9

Requirement handling 3,0 1,9

Estimation process 3,3 2,2

• Effort overrun (perceived) was reduced from an average of 25% to 12%

Page 43: Technology supported requirement handling an estimation

Responses from Lindorff

• Requirement handlingo All respondents (IT and business) reported that use of

Symphonical had greatly improved how requirements were specified, refined and communicated

• Estimationo About half reported that Symphonical had improved the

estimation processo 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

Page 44: Technology supported requirement handling an estimation

Respondent quotes

• “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.”

Page 45: Technology supported requirement handling an estimation

Conclusion

Page 46: Technology supported requirement handling an estimation

Lessons learned

• 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

Page 47: Technology supported requirement handling an estimation

The future of work?

Page 48: Technology supported requirement handling an estimation

Q&A

Page 49: Technology supported requirement handling an estimation

Thank you!

• 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