SlideShare a Scribd company logo
1 of 49
Technology Supported Requirement Handling and Estimation Kjetil Moløkken-Østvold – Conceptos Consulting NDC2010, 16.-18. June, Oslo
Aboutthe 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
Today’s message
Contents Requirement handling and estimation The case: Lindorff Problem Solution Results Conclusion
Requirement handling and 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)
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
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.
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.
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
The requirement pyramid © Project managers Customers End-users Interaction designers Developers and testers Precision Communication costs Abstraction Increases Levels Roles Characteristics
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 anonymousreviewer, Agile 2007, researchtrack.
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
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…
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.
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”
Pitfalls when combining estimates Passive participants Depending on chosen method: political pressure (groupthink) Requires good moderators and experts Time-consuming and costly (?)
Some methods for combining estimates
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)
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
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.
The easy part when implementing agile processes Having some meetings while not sitting down Moving yellow notes around a whiteboard Using strange job titles
The hard part when implementing agile processes Developing and prioritizing requirements Providing (accurate) estimates Collaborating between developers and customers
The hard part is even harder in a distributed environment
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
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
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
Internal improvement study Q4 – 2007, findings: 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
Problem: inefficient communication
Solution ,[object Object]
Lindorff joined a project financed by Innovation Norway
Main development partner was Symphonical,[object Object]
Example features used by Lindorff
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
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
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.
Voting/estimation (cont.)
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
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
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
Results
[object Object]
Respondents provided ratings (1-5, 1=best) Main results (two years after) ,[object Object],[object Object]
All respondents (IT and business) reported that use of Symphonical had greatly improved how requirements were specified, refined and communicated
Estimation
About half reported that Symphonical had improved the estimation process
The other half reported no discernible impact from Symphonical by itself (though it could have played a role along with other improvements)
Responses to a large extend depended on company role, with business perceiving most value,[object Object]

More Related Content

What's hot

IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSIT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSijseajournal
 
ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...
ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...
ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...ijseajournal
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...zillesubhan
 
Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...
Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...
Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...Jan De Winter
 
Productivity Factors in Software Development for PC Platform
Productivity Factors in Software Development for PC PlatformProductivity Factors in Software Development for PC Platform
Productivity Factors in Software Development for PC PlatformIJERA Editor
 
Information Technology Project Management - part 05
Information Technology Project Management - part 05Information Technology Project Management - part 05
Information Technology Project Management - part 05Rizwan Khurram
 
Information Technology Project Management - part 12
Information Technology Project Management - part 12Information Technology Project Management - part 12
Information Technology Project Management - part 12Rizwan Khurram
 
Abb case study 1
Abb case study 1Abb case study 1
Abb case study 1apn18
 
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape DesignsAn Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape DesignsGregor Polančič
 
AN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT ESTIMATION
AN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT  ESTIMATIONAN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT  ESTIMATION
AN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT ESTIMATIONLava Kafle
 
Chap011
Chap011Chap011
Chap011IIUM
 
Testability measurement model for object oriented design (tmmood)
Testability measurement model for object oriented design (tmmood)Testability measurement model for object oriented design (tmmood)
Testability measurement model for object oriented design (tmmood)ijcsit
 
A GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESS
A GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESSA GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESS
A GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESSijseajournal
 
Information Technology Project Management - part 01
Information Technology Project Management - part 01Information Technology Project Management - part 01
Information Technology Project Management - part 01Rizwan Khurram
 
Chapter 3: The Project Management Process Groups: A Case Study
Chapter 3:The Project Management Process Groups: A Case StudyChapter 3:The Project Management Process Groups: A Case Study
Chapter 3: The Project Management Process Groups: A Case StudyShahid Riaz
 
Writing evaluation report of a project
Writing evaluation report of a projectWriting evaluation report of a project
Writing evaluation report of a project03363635718
 
Information Technology Project Management - part 08
Information Technology Project Management - part  08Information Technology Project Management - part  08
Information Technology Project Management - part 08Rizwan Khurram
 

What's hot (20)

IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSIT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
 
ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...
ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...
ENHANCING DELPHI METHOD WITH ALGORITHMIC ESTIMATES FOR SOFTWARE EFFORT ESTIMA...
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
 
Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...
Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...
Re-engineering the design phase of appreciative inquiry_WAIC2015_workshop pap...
 
Productivity Factors in Software Development for PC Platform
Productivity Factors in Software Development for PC PlatformProductivity Factors in Software Development for PC Platform
Productivity Factors in Software Development for PC Platform
 
International Journal of Engineering Inventions (IJEI),
International Journal of Engineering Inventions (IJEI), International Journal of Engineering Inventions (IJEI),
International Journal of Engineering Inventions (IJEI),
 
Information Technology Project Management - part 05
Information Technology Project Management - part 05Information Technology Project Management - part 05
Information Technology Project Management - part 05
 
Information Technology Project Management - part 12
Information Technology Project Management - part 12Information Technology Project Management - part 12
Information Technology Project Management - part 12
 
Abb case study 1
Abb case study 1Abb case study 1
Abb case study 1
 
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape DesignsAn Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
 
50120130405029
5012013040502950120130405029
50120130405029
 
AN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT ESTIMATION
AN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT  ESTIMATIONAN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT  ESTIMATION
AN EMPIRICAL STUDY ON SOFTWARE TEST EFFORT ESTIMATION
 
Chap011
Chap011Chap011
Chap011
 
Testability measurement model for object oriented design (tmmood)
Testability measurement model for object oriented design (tmmood)Testability measurement model for object oriented design (tmmood)
Testability measurement model for object oriented design (tmmood)
 
A GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESS
A GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESSA GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESS
A GROUNDED THEORY OF THE REQUIREMENTS ENGINEERING PROCESS
 
Information Technology Project Management - part 01
Information Technology Project Management - part 01Information Technology Project Management - part 01
Information Technology Project Management - part 01
 
Chapter 3: The Project Management Process Groups: A Case Study
Chapter 3:The Project Management Process Groups: A Case StudyChapter 3:The Project Management Process Groups: A Case Study
Chapter 3: The Project Management Process Groups: A Case Study
 
D0704014018
D0704014018D0704014018
D0704014018
 
Writing evaluation report of a project
Writing evaluation report of a projectWriting evaluation report of a project
Writing evaluation report of a project
 
Information Technology Project Management - part 08
Information Technology Project Management - part  08Information Technology Project Management - part  08
Information Technology Project Management - part 08
 

Similar to Technology supported requirement handling an estimation

Is5540 course review
Is5540 course reviewIs5540 course review
Is5540 course reviewAsa Chan
 
Project management by hamidun
Project management by hamidunProject management by hamidun
Project management by hamidunDr Hamidun Jaafar
 
Agile Customer Engagement A Longitudinal Qualitative Case Study
Agile Customer Engagement  A Longitudinal Qualitative Case StudyAgile Customer Engagement  A Longitudinal Qualitative Case Study
Agile Customer Engagement A Longitudinal Qualitative Case StudyJackie Taylor
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overviewcford1973
 
Pm0011 project planning and scheduling
Pm0011  project planning and schedulingPm0011  project planning and scheduling
Pm0011 project planning and schedulingsmumbahelp
 
PPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software ProjectsPPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software ProjectsSudipta Das
 
(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptx(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptxgarkapifye
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)IAESIJEECS
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)IAESIJEECS
 
Amrapali sawant résumé
Amrapali sawant résuméAmrapali sawant résumé
Amrapali sawant résuméAmrapali Sawant
 
Lect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost EstimationLect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost EstimationMubashir Ali
 
Microsoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by AtidanMicrosoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by AtidanDavid J Rosenthal
 
Roadmap planning approach
Roadmap planning approachRoadmap planning approach
Roadmap planning approachRobert Mobley
 
Amrapali sawant résumé
Amrapali sawant résuméAmrapali sawant résumé
Amrapali sawant résuméAmrapali Sawant
 

Similar to Technology supported requirement handling an estimation (20)

Is5540 course review
Is5540 course reviewIs5540 course review
Is5540 course review
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
 
Sivaprasad_resume
Sivaprasad_resumeSivaprasad_resume
Sivaprasad_resume
 
Project management by hamidun
Project management by hamidunProject management by hamidun
Project management by hamidun
 
Agile Customer Engagement A Longitudinal Qualitative Case Study
Agile Customer Engagement  A Longitudinal Qualitative Case StudyAgile Customer Engagement  A Longitudinal Qualitative Case Study
Agile Customer Engagement A Longitudinal Qualitative Case Study
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overview
 
01 itpm6
01 itpm601 itpm6
01 itpm6
 
Pm0011 project planning and scheduling
Pm0011  project planning and schedulingPm0011  project planning and scheduling
Pm0011 project planning and scheduling
 
PPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software ProjectsPPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software Projects
 
(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptx(Fall2016)Lecture1.pptx
(Fall2016)Lecture1.pptx
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
 
Amrapali sawant résumé
Amrapali sawant résuméAmrapali sawant résumé
Amrapali sawant résumé
 
Adi CV Tech Manager
Adi CV Tech ManagerAdi CV Tech Manager
Adi CV Tech Manager
 
Lect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost EstimationLect-5: Work Breakdown Structure and Project Cost Estimation
Lect-5: Work Breakdown Structure and Project Cost Estimation
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
Microsoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by AtidanMicrosoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by Atidan
 
Roadmap planning approach
Roadmap planning approachRoadmap planning approach
Roadmap planning approach
 
LGarfinkel resume 5516
LGarfinkel resume 5516LGarfinkel resume 5516
LGarfinkel resume 5516
 
Amrapali sawant résumé
Amrapali sawant résuméAmrapali sawant résumé
Amrapali sawant résumé
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Technology supported requirement handling an estimation

  • 1. Technology Supported Requirement Handling and Estimation Kjetil Moløkken-Østvold – Conceptos Consulting NDC2010, 16.-18. June, Oslo
  • 2. Aboutthe 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
  • 4. Contents Requirement handling and estimation The case: Lindorff Problem Solution Results Conclusion
  • 6. 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)
  • 7. 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
  • 8. 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.
  • 9. 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.
  • 10. 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
  • 11. The requirement pyramid © Project managers Customers End-users Interaction designers Developers and testers Precision Communication costs Abstraction Increases Levels Roles Characteristics
  • 12. 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 anonymousreviewer, Agile 2007, researchtrack.
  • 13. 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
  • 14. 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…
  • 15. 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.
  • 16. 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”
  • 17. Pitfalls when combining estimates Passive participants Depending on chosen method: political pressure (groupthink) Requires good moderators and experts Time-consuming and costly (?)
  • 18. Some methods for combining estimates
  • 19. 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)
  • 20. 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
  • 21. 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.
  • 22. The easy part when implementing agile processes Having some meetings while not sitting down Moving yellow notes around a whiteboard Using strange job titles
  • 23. The hard part when implementing agile processes Developing and prioritizing requirements Providing (accurate) estimates Collaborating between developers and customers
  • 24. The hard part is even harder in a distributed environment
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. Internal improvement study Q4 – 2007, findings: Poor routines for communicating and prioritizing requirements Effort overruns (about 25%) Internal collaboration rated as average
  • 29. Describing, refining, prioritizing and communicating requirements is difficult for business people Understanding, estimating and developing requirements is difficult for software developers
  • 31.
  • 32. Lindorff joined a project financed by Innovation Norway
  • 33.
  • 34. Example features used by Lindorff
  • 35. 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
  • 36. 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
  • 37. 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.
  • 39. 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
  • 40. 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
  • 41. 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
  • 43.
  • 44.
  • 45. All respondents (IT and business) reported that use of Symphonical had greatly improved how requirements were specified, refined and communicated
  • 47. About half reported that Symphonical had improved the estimation process
  • 48. The other half reported no discernible impact from Symphonical by itself (though it could have played a role along with other improvements)
  • 49.
  • 51. 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
  • 52. The future of work?
  • 53. Q&A
  • 54. 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

Editor's Notes

  1. Kjetil
  2. Hans
  3. KjetilMulig noe mer tekst?Gode diskusjoner Bevissthet hos kundesideIdentifikasjon av feil/mangler I spesifikasjon
  4. Kjetil
  5. 1 – Svært god2 – God3 – Middels 4 – Dårlig 5 – Svært dårligX – Vet ikke