This document covers estimation techniques for software projects. It discusses estimating the size of a project using methods like top-down, bottom-up, analogy, and algorithmic measures like function points. It also discusses estimating the effort required using models like COCOMO that take into account factors like project size, type of application, and team abilities. Key challenges with estimation are noted, like the lack of historical data for many projects and the subjective nature of software development. Accurately estimating remains difficult given variability in projects and changing technologies.
The second lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano. It illustrates McConnell’s Anti-Patterns (see also http://www.stevemcconnell.com/rdenum.htm)
The second lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano. It illustrates McConnell’s Anti-Patterns (see also http://www.stevemcconnell.com/rdenum.htm)
Microsoft SQL Server Seven Deadly Sins of Database DesignMark Ginnebaugh
This slide show focuses on the seven most common mistakes software developers make while designing databases and how to correct them.
The good news is that following some simple data modeling fundamentals can lead to a high-functioning database. Solomon Waters of Embarcadero Technologies demos these important fundamentals using ER/Studio.
You will learn:
•The basics of normalization and data modeling
•How to define consistent data definitions
•Best practices for designing quality database applications
Contextually-Driven System Architecture ReviewsTechWell
When the World Trade Center collapsed, the telephone switching systems in the basement correctly diagnosed which lines were still working and continued to connect calls for several days using backup power. One factor contributing to this remarkable product reliability was the AT&T/Bell Labs practice of early systems architecture reviews. Michael Dedolph shares an architecture review method based on the Bell Labs Systems Architecture Review Board (SARB) process and discusses how that method was institutionalized and managed. The review method is a team process that uses a problem statement developed by the project as the basis for the review. The method is "low tech" and portable. SARB-style architecture reviews can be easily and flexibly tailored to your context. The flexibility of the method makes it suitable for many kinds of systems and problem domains. Take away an appreciation for the method and see if it might be useful in your organization.
The ninth lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano
The seventh lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano.
Microsoft SQL Server Seven Deadly Sins of Database DesignMark Ginnebaugh
This slide show focuses on the seven most common mistakes software developers make while designing databases and how to correct them.
The good news is that following some simple data modeling fundamentals can lead to a high-functioning database. Solomon Waters of Embarcadero Technologies demos these important fundamentals using ER/Studio.
You will learn:
•The basics of normalization and data modeling
•How to define consistent data definitions
•Best practices for designing quality database applications
Contextually-Driven System Architecture ReviewsTechWell
When the World Trade Center collapsed, the telephone switching systems in the basement correctly diagnosed which lines were still working and continued to connect calls for several days using backup power. One factor contributing to this remarkable product reliability was the AT&T/Bell Labs practice of early systems architecture reviews. Michael Dedolph shares an architecture review method based on the Bell Labs Systems Architecture Review Board (SARB) process and discusses how that method was institutionalized and managed. The review method is a team process that uses a problem statement developed by the project as the basis for the review. The method is "low tech" and portable. SARB-style architecture reviews can be easily and flexibly tailored to your context. The flexibility of the method makes it suitable for many kinds of systems and problem domains. Take away an appreciation for the method and see if it might be useful in your organization.
The ninth lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano
The seventh lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano.
Planning Phase Part I - Project Phases and Lifecycle PlanningEmanuele Della Valle
The fifth lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano.
The introductory lesson to my Planning and Managing Software Projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) course at Politecnico di Milano
The third lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano.
This is a demo presentation prepared for the recruitment of Lecturer in CSE at Green University. In this presentation, an introduction to Software Development Life Cycle is demonstrated in an intuitive way.
This slide is for software engineering subject which may help you to better understanding. You can also gain knowledge in software engineering subject.
Data streams take many forms and their velocity is hard to tame. They can be myriads of tiny flows that you can collect to tame with Time-series Databases; continuous massive flows than you cannot stop to tame with Data Stream Management Systems; Continuous numerous flows that can turn into a torrent to tame with Event-based Systems; and myriads of continuous flows of any size and speed that form an immense delta to tame with Event-Driven Architectures. Enjoy this introductory talk!
This is the presentation that I did for PoliMI Data Scientists on Stream Reasoning, an approach to blend Artificial Intelligence and Stream Processing.
While the state of the art in Machine Learning offers practitioners effective tecniques to deal with static data sets, there are only accademic results tailored to data streams. In this presentation for the 4th Stream Reasoning workshop, I report on an effort of Alessio Bernardo (a student of mines) to set up a benchmark enviroment to (i) repeat academic results, (ii) perform studies on real data for confirming the academic results, and (iii) study the research problem of "incremental rebalancing learning on evolving data streams".
HiPPO and Flipism are no longer the only way to take decisions. In the Big Data / Data Science era one can dream of data-driven organization. If the data were "oil", Big Data technologies extract, transport, and store it, while Data Science methods provide the a way to "refine the crude oil". This presentation elaborates on the Ws (What, Why, When, Who and How) of Big Data and Data Science.
From the semantic interoperability problem to Google's knowledge graph passing from the Semantic Web, Linked Data, Yahoo! search monkey, Facebook Open Graph, and schema.org.
La Città dei Balocchi, con le sue luci, è un evento chiave nel panorama dell'offerta turistica Natalizia Lombarda. La presentazione riporta i risultati di un'analisi di chi è venuto e quando.
Realizzato da Fluxedo srl e Olivetti spa per il Consorzio Como Turistica, con la collaborazione di Politecnico di Milano, TIM e Comune di Como, nel contesto del progetto CrowdInsights finanziato da EIT Digital.
Stream Reasoning: a summary of ten years of research and a vision for the nex...Emanuele Della Valle
Stream reasoning studies the application of inference techniques to data characterised by being highly dynamic. It can find application in several settings, from Smart Cities to Industry 4.0, from Internet of Things to Social Media analytics. This year stream reasoning turns ten, and this talk analyses its growth. In the first part, it traces the main results obtained so far, by presenting the most prominent studies. It starts by an overview of the most relevant studies developed in the context of semantic web, and then it extends the analysis to include contributions from adjacent areas, such as database and artificial intelligence. Looking at the past is useful to prepare for the future: the second part presents a set of open challenges and issues that stream reasoning will face in the next future.
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Emanuele Della Valle
Big Data tech can tame volume and velocity. Taming Variety in presence of volume and velocity is the real challenge. I’ve been working on taming variety and velocity simultaneously (Stream Reasoning) for 10 years, now. In this talk, I give you some examples of application domains where this is necessary. I explain where the Stream Reasoning community went so far in theory, applications and products. In particular I focus on my applications and my startup Fluxedo, which is offering real-time social media analytics across social networks. I conclude the talk discussing what comes next: 1) the need to focus on languages and abstractions able to easily capture user needs; 2) the need to find the sweet-spot between scalability and expressive semantics; 3) the need to used semantics to model more than the data access; and 4) the need to get over imperfect data. If you are exited, I did my job for today!
Every body talks about Big Data, but why? Do it create value? Do it enable some paradigmatic shifts in the way we work with data? This talk I did at ComoNext research and technological park cast some light on those questions.
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Emanuele Della Valle
The digital reflection of our cities is sharpening and it is tracking their evolution with a decreasing delay. However, we risk that data piles up without easing decision making. This key note, which I gave at the 12th Semantic Web Summer School, presents how stream reasoning (an approach to tame simultaneously the variety and velocity dimensions of Big Data) and advance visual analytics can support decision makers and discusses the lesson learnt.
The forth lecture of the course I'm giving on "Interoperability and Semantic Technologies" at Politecnico di Milano in the academic year 2015-16. It presents an introduction to RDF. It starts presenting the data model. Then it presents the turtle serialization. It compares XML vs. RDF. Finally, it provides few informations about RDFa and Linked Data.
The third lecture of the course I'm giving on "Interoperability and Semantic Technologies" at Politecnico di Milano in the academic year 2015-16. It presents an introduction to the Semantic Web taking a brief walk through in this 15 years of research, standardisation and industrial uptake.
The second lecture of the course I'm giving on "Interoperability and Semantic Technologies" at Politecnico di Milano in the academic year 2015-16. It discusses interoperability using HL7 v2 and v3 as examples of syntactic and semantic interoperability, respectively.
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Emanuele Della Valle
More and more applications require real-time processing of heterogeneous data streams. In terms of the “Vs” of Big Data (volume, velocity, variety and veracity), they require addressing velocity and variety at the same time. Big Data solutions able to handle separately velocity and variety have been around for a while, but only Stream Reasoning approaches those two dimensions at once. Current results in the Stream Reasoning field are relevant for application areas that require to: handle massive datasets, process data streams on the fly, cope with heterogeneous incomplete and noisy data, provide reactive answers, support fine-grained information access, and integrate complex domain models. This talk starting from those requirements, frames the problem addressed by Stream Reasoning. It poses the research question and operationalise it with four simpler sub-questions. It describes how the database group of Politecnico di Milano positively answered those sub-questions in the last 7 years of research. It briefly surveys alternative approaches investigated by other research groups world wide and it elaborates on current limitations and open challenges.
The 10 minutes presentation I gave at my PhD defence on 21.9.2015 in Amsterdam. Prof. Frank van Harmelen was my promoter. Prof. Ian Horrocks, prof. Manfred Hauswirth, prof. Geert-Jan Houben, Peter Boncz and prof. Guus Schreiber were my opponents.
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Emanuele Della Valle
The digital reflection of our cities is sharpening and it is tracking their evolution with a decreasing delay. This happens thanks to the pervasive deployment of sensors, the wide adoption of smart phones, the usage of (location-based) social networks and the availability of datasets about urban environment. So while data becomes every day more abundant, decision makers face the challenge to increase their capability to create value out of the analysis of this data. This key note presents how advance visual analytics, ontology base data access and information flow processing methods can help in making sense of Social Media Streams and Call Data Records from Mobile Network Operators during city scale events. Real-world deployments demonstrate the ability of those methods to advance our ability to feel the pulse of our cities in order to deliver innovative services.
C’è un modo di raccontare un evento che passa attraverso la lettura dei flussi social che genera. Quella traccia digitale che ogni partecipante lascia sui social network quando condivide la sua partecipazione o la sua opinione. E’ possibile fondere e interpretare in tempo reale tali tracce utilizzando tecnologie d’analisi d’avanguardia e modelli avanzati di visualizzazione dei dati. Nel 2014 in collaborazione con StudioLabo e Telecom Italia, il Politecnico di Milano ha realizzato CitySensing, per mostrare l’impronta lasciata dal FuoriSalone sui social network. Focalizzando, in seguito, CitySensing sulle esigenze del gestore dell’evento, il Politecnico di Milano ha mostrato la potenzialità dell’approccio per il Festival della Comunicazione di Camogli e per il Festival delle Letterature di Pescara. La soluzione è ora offerta da Fluxedo.
C'è un modo di racocontare la città che passa attraverso la lettura dei flussi di dati che essa genera. Quelle tracce digitali che ciascuno di noi lascia ogni volta che compie un piccolo gesto quotidiano, come fare una telefonata o inviare un tweet.
In City Data Fusion, il Politecnico di Milano e Telecom Italia raccontano le città fondendo, interpretando e visualizzando i Big Data, ovvero quell'enorme e continuo flusso di tracce digitali che i loro abitanti e visitotori lasciano utilizzando il proprio smartphone o i servizi della città.
Questa presentazione vi introduce all'osservazione alcune città italiane in una prospettiva nuova.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Leading Change strategies and insights for effective change management pdf 1.pdf
Estimation
1. Planning and Managing Software Projects 2011-12
Class 8
Estimation
Emanuele Della Valle
http://emanueledellavalle.org
2. Credits 2
§ This slides are largely based on Prof. John Musser
class notes on Principles of Software Project
Management
§ Original slides are available at
http://www.projectreference.com/
§ Reuse and republish permission was granted
Planning and Managing Software Projects – Emanuele Della Valle
3. Agenda 3
§ Last Class
• Review Classes 5 and 6
• Work Breakdown Structures (WBS)
§ Today
• Brief Class 7 review
• Estimation
Planning and Managing Software Projects – Emanuele Della Valle
4. Class 7 Review
Estimation 4
§ Predictions are hard, especially about the future
- Yogi Berra*
* http://en.wikipedia.org/wiki/Yogi_Berra
Planning and Managing Software Projects – Emanuele Della Valle
5. Class 7 Review
Planning, Estimating, Scheduling 5
§ Plan:
• Identify activities. No specific start and end dates.
§ Estimating:
• Determining the size & duration of activities.
§ Schedule:
• Adds specific start and end dates, relationships, and
resources.
Planning and Managing Software Projects – Emanuele Della Valle
6. Class 7 Review
WBS 6
§ Hierarchical list of project s work activities
§ WBS becomes input to many things
• Network scheduling
• Costing
• Risk analysis
• Organizational structure
• Control
• Measurement
§ What hurts most is what s missing
Planning and Managing Software Projects – Emanuele Della Valle
7. Class 7 Review
WBS Types and Formats 7
§ Types:
• Process
• Product
• Hybrid
• Less frequently used ones: organizational and
geographic
§ Formats:
• Outline
• graphical (similar to an organizational chart)
Planning and Managing Software Projects – Emanuele Della Valle
8. Class 7 Review
WBS Levels 8
§ Up to six
§ Usually 3-6
§ Level 1-3: Managerial
• Level 1: authorizations
• Level 2: budgets
• Level 3: schedules
§ Level 4-6: Technical
Planning and Managing Software Projects – Emanuele Della Valle
9. Class 7 Review
WBS Guidelines 9
§ List of Activities, not Things
§ Describe activities using bullet language
• Meaningful but terse labels
§ All WBS paths do not have to go to the same level
§ Do not plan more detail than you can manage
Planning and Managing Software Projects – Emanuele Della Valle
10. Class 7 Review
WBS Techniques 10
§ Top-Down
§ Bottom-Up
§ Analogy
§ Brainstorming
§ Rolling Wave
Planning and Managing Software Projects – Emanuele Della Valle
11. Class 7 Review
Homework – 2: WBS 11
§ Create a WBS for your project
§ Guidelines
• Do it at managerial level (see slide 14)
• Choose the type of WBS among process, product or
hybrid approach
• Follow the standard hierarchical numbering scheme for
WBS structures
• Use outline format
§ Submission
• Use the tool you prefer between Notepad/Word/Excel
• Add homework-2 to the appropriate folder in the
dropbox folder of your project
Planning and Managing Software Projects – Emanuele Della Valle
12. Estimations
Introduction 12
§ Very difficult to do, but needed often
§ Created, used or refined during
• Strategic planning
• Feasibility study and/or SOW
• Proposals
• Vendor and sub-contractor evaluation
• Project planning (iteratively)
§ Basic process
• Estimate the size of the product
• Estimate the effort (man-months)
• Estimate the schedule
• NOTE: Not all of these steps are always explicitly
performed
Planning and Managing Software Projects – Emanuele Della Valle
13. Estimations
Introduction (cont.) 13
§ Remember, an exact estimate is an oxymoron
§ Estimate how long will it take you to get home from
class this afternoon
• On what basis did you do that?
• Experience right?
• Likely as an average probability
• For most software projects there is no such average
§ Most software estimations are off by 25-100%
Planning and Managing Software Projects – Emanuele Della Valle
14. Estimations
Target vs. Committed Dates 14
§ Target:
• Proposed by business or marketing
• Do not commit to this too soon!
§ Committed:
• Team agrees to this
• After you ve developed a schedule
Planning and Managing Software Projects – Emanuele Della Valle
16. Estimations
Size 16
§ Small projects (10-99 FPs), variance of 7% from post-
requirements estimates
§ Medium (100-999 FPs), 22% variance
§ Large (1000-9999 FPs) 38% variance
§ Very large (> 10K FPs) 51% variance
Planning and Managing Software Projects – Emanuele Della Valle
17. Estimations - Size
Methodologies 17
§ Top-down
§ Bottom-up
§ Analogy
§ Expert Judgment
§ Priced to Win
§ Parametric or Algorithmic Method
• Using formulas and equations
Planning and Managing Software Projects – Emanuele Della Valle
18. Estimations - Size
Top-down Estimation 18
§ Based on overall characteristics of project
• Some of the others can be types of top-down
(Analogy, Expert Judgment, and Algorithmic methods)
§ Advantages
• Easy to calculate
• Effective early on (like initial cost estimates)
§ Disadvantages
• Some models are questionable or may not fit
• Less accurate because it doesn t look at details
Planning and Managing Software Projects – Emanuele Della Valle
19. Estimations - Size
Bottom-up Estimation 19
§ Create WBS
§ Add from the bottom-up
§ Advantages
• Works well if activities well understood
§ Disadvantages
• Specific activities not always known
• More time consuming
Planning and Managing Software Projects – Emanuele Della Valle
20. Estimations - Size
Expert Judgment 20
§ Use somebody who has recent experience on a similar
project
§ You get a guesstimate
§ Accuracy depends on their real expertise
§ Comparable application(s) must be accurately chosen
• Systematic
§ Can use a weighted-average of opinions
Planning and Managing Software Projects – Emanuele Della Valle
21. Estimations - Size
Estimation by Analogy 21
§ Use past project
• Must be sufficiently similar (technology, type,
organization)
• Find comparable attributes (ex: # of inputs/outputs)
• Can create a function
§ Advantages
• Based on actual historical data
§ Disadvantages
• Difficulty matching project types
• Prior data may have been mis-measured
• How to measure differences – no two exactly same
Planning and Managing Software Projects – Emanuele Della Valle
22. Estimations - Size
Priced to Win 22
§ Just follow other estimates
§ Save on doing full estimate
§ Needs information on other estimates (or prices)
§ Purchaser must closely watch trade-offs
§ Price to lose?
Planning and Managing Software Projects – Emanuele Della Valle
23. Estimations - Size
Algorithmic Measures 23
§ Lines of Code (LOC)
§ Function points
§ Feature points or object points
§ Other possible
• Number of bubbles on a DFD
• Number of of ERD entities
• Number of processes on a structure chart
§ LOC and function points most common
• (of the algorithmic approaches)
§ Majority of projects use none of the above
Planning and Managing Software Projects – Emanuele Della Valle
24. Estimations - Size
Code-based Estimates 24
§ LOC Advantages
• Commonly understood metric
• Permits specific comparison
• Actuals easily measured
§ LOC Disadvantages
• Difficult to estimate early in cycle
• Counts vary by language
• Many costs not considered (ex: requirements)
• Programmers may be rewarded based on this
– Can use: # defects/# LOC
• Code generators produce excess code
Planning and Managing Software Projects – Emanuele Della Valle
25. Estimations - Size
LOC Estimate Issues 25
§ How do you know how many in advance?
§ What about different languages?
§ What about programmer style?
§ Stat: avg. programmer productivity: 3,000 LOC/yr
§ Most algorithmic approaches are more effective after
requirements (or have to be after)
Planning and Managing Software Projects – Emanuele Della Valle
26. Estimations - Size
Function Points 26
§ Software size measured by number & complexity of
functions it performs
§ More methodical than LOC counts
§ House analogy
• House s Square Feet ~= Software LOC
• # Bedrooms & Baths ~= Function points
• Former is size only, latter is size & function
§ Three basic steps
Planning and Managing Software Projects – Emanuele Della Valle
27. Estimations - Size
Function Point Process 27
1. Count # of biz functions per category
• Categories: outputs, inputs, db inquiries, files or data
structures, and interfaces
2. Establish Complexity Factor for each and apply
• Simple, Average, Complex
• Set a weighting multiplier for each (0->15)
• This results in the unadjusted function-point total
3. Compute an influence multiplier and apply
• It ranges from 0.65 to 1.35; is based on 14 factors
4. Results in function point total
• This can be used in comparative estimates
§ For a tutorial: http://www.devdaily.com/FunctionPoints/
Planning and Managing Software Projects – Emanuele Della Valle
28. Estimations - Size
Wideband Delphi 28
§ Group consensus approach
§ Rand corp. (http://www.rand.org/) used original
Delphi approach to predict future technologies
§ Present experts with a problem and response form
§ Conduct group discussion, collect anonymous opinions,
then feedback
§ Conduct another discussion & iterate until consensus
§ Advantages
• Easy, inexpensive, utilizes expertise of several people
• Does not require historical data
§ Disadvantages
• Difficult to repeat
• May fail to reach consensus, reach wrong one, or all may
have same bias
Planning and Managing Software Projects – Emanuele Della Valle
29. Estimations - Size
Parametric Method Issues 29
§ Remember: most projects you ll run into don t use
these
§ Which is normal , so don t be surprised
• Or come-in to new job and say Hey, let s use
COCOMO
§ These are more effective on large projects
• Where a past historical base exists
§ Primary issue for most projects are
• Lack of similar projects
– Thus lack of comparable data
Planning and Managing Software Projects – Emanuele Della Valle
30. Estimations - Size
Code Reuse & Estimation 30
§ Does not come for free
§ Code types: New, Modified, Reused
§ If code is more than 50% modified, it s new
§ Reuse factors have wide range
• Reused code takes 30% effort of new
• Modified is 60% of new
§ Integration effort with reused code almost as
expensive as with new code
Planning and Managing Software Projects – Emanuele Della Valle
31. Estimations
Effort Estimation 31
§ Now that you know the size , determine the effort
needed to build it
§ Various models: empirical, mathematical, subjective
§ Expressed in units of duration
• Person-Months (or Man-Months, less politically correct)
Planning and Managing Software Projects – Emanuele Della Valle
32. Estimations
Effort Estimation 32
§ McConnell shows schedule tables for conversion of size
to effort
§ As with parametric size estimation, these techniques
perform better with historical data
§ Again, not seen in average projects
§ Often the size and effort estimation steps are
combined (not that this is recommended, but is what
often is done)
§ Commitment-Based Scheduling is what is often done
• Ask developer to commit to an estimate (his or her
own)
Planning and Managing Software Projects – Emanuele Della Valle
33. Estimations - Efforts
COCOMO 33
§ COnstructive COst MOdel
§ Allows for the type of application, size, and Cost
Drivers
§ Outputs in Person Months
§ Cost drivers using High/Med/Low & include
• Motivation
• Ability of team
• Application experience
§ Biggest weakness?
• Requires input of a product size estimate in LOC
Planning and Managing Software Projects – Emanuele Della Valle
34. Estimations
Issues 34
§ Quality estimations needed early but information is
limited
§ Precise estimation data available at end but not
needed
• Or is it? What about the next project?
§ Best estimates are based on past experience
§ Politics of estimation:
• You may anticipate a cut by upper management
§ For many software projects there is little or none
• Technologies change
• Historical data unavailable
• Wide variance in project experiences/types
• Subjective nature of software estimation
Planning and Managing Software Projects – Emanuele Della Valle
35. Estimations - Issues
Over and Under Estimation 35
§ Over estimation issues
• The project will not be funded
– Conservative estimates guaranteeing 100% success may
mean funding probability of zero.
• Parkinson s Law: Work expands to take the time allowed
• Danger of feature and scope creep
• Be aware of double-padding : team member +
manager
§ Under estimation issues
• Quality issues (short changing key phases like testing)
• Inability to meet deadlines
• Morale and other team motivation issues
Planning and Managing Software Projects – Emanuele Della Valle
36. Estimations
Estimation Guidelines 36
§ Estimate iteratively!
• Process of gradual refinement
• Make your best estimates at each planning stage
• Refine estimates and adjust plans iteratively
• Plans and decisions can be refined in response
• Balance: too many revisions vs. too few
Planning and Managing Software Projects – Emanuele Della Valle
37. Estimations
Know Your Deadlines 37
§ Are they Real Deadlines ?
• Tied to an external event
• Have to be met for project to be a success
• Ex: end of financial year, contractual deadline, Y2K
§ Or Artificial Deadlines ?
• Set by arbitrary authority
• May have some flexibility (if pushed)
Planning and Managing Software Projects – Emanuele Della Valle
38. Estimations
Presentation 38
§ How you present the estimation can have huge impact
§ Techniques
• Plus-or-minus qualifiers
– 6 months +/-1 month
• Ranges
– 6-8 months
• Risk Quantification
– +/- with added information
– +1 month of new tools not working as expected
– -2 weeks for less delay in hiring new developers
• Cases
– Best / Planned / Current / Worst cases
• Coarse Dates
– Q3 2009
• Confidence Factors
– April 1 – 10% probability, July 1 – 50%, etc.
Planning and Managing Software Projects – Emanuele Della Valle
39. Estimations
Other Estimation Factors 39
§ Account for resource experience or skill
• Up to a point
• Often needed more on the low end, such as for a new
or junior person
§ Allow for non-project time & common tasks
• Meetings, phone calls, web surfing, sick days
§ There are commercial estimation tools available
• They typically require configuration based on past data
Planning and Managing Software Projects – Emanuele Della Valle
40. Estimations
Other Estimation Notes 40
§ Remember: manage expectations
§ Parkinson s Law
• Work expands to fill the time available
§ The Student Syndrome
• Procrastination until the last minute (cram)
Planning and Managing Software Projects – Emanuele Della Valle
41. Optional Reading 41
§ McConnell: 9, Scheduling
§ Schwalbe: 5, Project Time Management
Planning and Managing Software Projects – Emanuele Della Valle
42. Comix 42
Planning and Managing Software Projects – Emanuele Della Valle
43. Questions? 43
Planning and Managing Software Projects – Emanuele Della Valle