380 likes | 410 Views
Explore the importance of Use Case Points in software development projects for accurate effort estimation. Learn the principles of Use Case 2.0, including lightweight and scalable features, and how they adapt to agile methodologies. Discover the calculation of Use Case Points and its impact on estimating completion dates and release planning. Dive into the key components influencing Use Case Points, such as complexity of use cases, actors, non-functional requirements, and project environment. Gain insights into unadjusted Use Case Weight, Actor Weight, Technical Complexity Factors, and Environmental Complexity. Follow a step-by-step guide to calculate Use Case Points to achieve optimal software size estimation.
E N D
Use-Case Points for Estimating Software Size EECS/IT811: IT Project Management Sairath Bhattacharjya March 21, 2019
Organization • Introduction • What is use case? • Use case 2.0 • Basic principle of application of use case • Software effort estimation • Use case points calculation • Usage of UCP • The agile way • Conclusions • Question & Answer
Resources Used • All resources shared by Professor Saiedian (on class website) • Book chapters • White papers • Articles • Wikipedia
Why I chose the use-case point topic? • Use case is a very popular method for requirement gathering • Ties the triple constrains (scope, time and cost) really well • Considers non-functional and environmental factors for software development • A more scientific method for estimation • Leads towards agile development
What is a use case? [1 of 4] A use case is all the ways of using a system to achieve a particular goal for a particular user. Taken together the set of all the use cases gives you all of the useful ways to use the system, and illustrates the value that it will provide. Source: https://www.ivarjacobson.com/sites/default/files/field_iji_file/article/use-case_2_0_jan11.pdf
What is a use case? [2 of 4] • A popular approach of collecting the requirements • A user-centric approach: a specific situation in which a product or service could potentially be used by a user • Can be developed to tell a story of how the system will be used from the perspective of each actor
Use case 2.0 [1 of 2] • A scalable, agile practice that uses use cases to capture a set of requirements • Drive the incremental development of a system • Features of use case 2.0: • Lightweight • Scalable • Versatile • Easy to use
Basic principle of application of use case • Keep it simple by telling stories • Understand the big picture • Focus on value • Build the system in slices • Deliver the system in increments • Adapt to meet the team’s needs
Software effort estimation • Objective: estimate the most realistic amount of efforts to complete a project • There are many methods • Expert judgment • Analogy-based estimation • Size-based models • Function points • Feature points • Use case points • Story points • …
Use case points [1 of 2] • Use Case Points (UCP) is a software estimation technique used to forecast the software size for software development projects • Helps in determining the overall completion date of a project • Helps in release planning
Use case points [2 of 2] The number of use case points in a project is a function of the following: • The number and complexity of the use cases in the system (UUCW) • The number and complexity of the actors on the system (UAW) • various non-functional requirements (TCF) • the environment in which the project will be developed (EF)
Unadjusted Use Case Weight (UUCW) [1 of 3] • Shows the main scenario and extensions • 2a, 2b, 2c and 3a are outcomes and not considered a transaction • Total transactions: 10
Unadjusted Use Case Weight (UUCW) [1 of 3] • Based on the number of transactions the complexity is defined as follows:
Unadjusted Use Case Weight (UUCW) [3 of 3] • Each use case is categorized based on transactions • Each complexity is assigned a weight • The summation of product of weight and number of use case gives the UUCW • In our example UUCW = 260
Unadjusted Actor Weight (UAW) [1 of 2] • An actor can be a person, system or program • Complexity is defined based on the type of actor
Unadjusted Actor Weight (UAW) [2 of 2] • Each use case is assigned a weight based on the complexity of the actors interacting with the system • The summation of product of weight and number of use case gives the UAW • In our example UAW = 140
Technical Complexity (TCF) [3 of 3] • There are 13 standard technical factors to estimate the impact on productivity • Weight is the relative impact • Assessment is the perceived complexity of each factor • The summation of the product of weight and assessment gives the Tfactor • TFC is calculated as TCF = 0.6 + (0.01 * TFactor) • In our example TCF = 0.6 + (0.01 * 42) = 1.02
Environmental Complexity (EF) [1 of 3] • More experienced teams will have a greater impact on the UCP • Development team assigns perceived complexity for each factor between 1 and 5 • The EFactoris calculated as a sum of the product of weight and assessment. • The EF is calculated as EF = 1.4 + (–0.03 • EFactor) • In our case EF = 1.4 + (–0.03 • 17.5) = 1.4 + (–0.51) = 0.89
Calculating the UCP • Use Case Point (UCP) is calculate as UCP = (UUCW + UAW) • TCF • EF • In our example, UCP = (260 + 140) • 1.02 • 0.89 = 363
Effort estimation • Use Case Points (UCP) = 363 • Considering 20 hours per UCP • Total hours for project: 363 * 20 = 7,260 hours • Considering • iterations are of 2 weeks • 5 people are working in the project (40 hours/week) • Total iterations: 7260 / (5 * 40 * 2) = ~ 19 • Total time for completion: 38 weeks
Cost estimation • Total hours for project: 7,260 hours • Rate per person: $45/hour • Total cost of the project = 45 * 7260 = $326,700 • Considering additional costs and buffers the project should cost around $350,000
Release planning • Weight of use case per iteration: Unadjusted Use Case Weight (UUCW) by the number of iterations gives the • Weight per iteration = UUCW / iterations • In our case: 260 / 19 = 13.7 (~14) • Defines the expected velocity of the team • Actual velocity is compared against this to determine if the project is in schedule
The agile way • Use case can be considered as a Epic • Scenarios in a use case can be considered as a user story • Completion of all the scenarios results in completion of the use case • Ties back to use case 2.0 objectives
Conclusions • UCP helps in resource planning • Helps in providing a early estimate of the effort required • UCP method is versatile and extensible to a variety of development and testing projects.
Resources used [1 of 6] • All resources shared by Professor Saiedian (on class website) • Book: Use case points – Chapter 6 • Wikipedia – Use case • Wikipedia - Software development effort estimation 33
Resources used [2 of 6] • Title: Use Case 2.0, the guide to succeeding with use caseAuthor: Dr. Ivar Jacobson, Ian Spence, Kurt BittnerEdition: December 2011Type: EBookLink: https://www.ivarjacobson.com/sites/default/files/field_iji_file/article/use-case_2_0_jan11.pdf
Resources used [3 of 6] • Title: Introduction to use caseAuthor: Ian Gibson, Matthew Hause (Artisan Software)Type: PresentationLink: https://incoseonline.org.uk/Documents/Bristol/BLG070328-Use-Case.pdf
Resources used [4 of 6] • Title: Getting Started With Use Case ModelingAuthor: Jan Kettenis, Oracle CorporationEdition: May 2007Type: White paperLink: https://www.oracle.com/technetwork/testcontent/gettingstartedwithusecasemodeling-133857.pdf
Resources used [5 of 6] • Title: Project Estimation With Use Case PointsAuthor: Roy K. ClemmonsEdition: February 2006Type: ArticleJournal: CROSSTALK The Journal of Defense Software EngineeringLink: http://www.royclemmons.com/articles/docs/0602Clemmons.pdf
Resources used [6 of 6] • Title: Estimating Effort by Use Case Points: Method, Tool and Case StudyAuthor: S. Kusumoto, F. Matukawa, K. Inoue, S. Hanabusa, Y. MaegawaEdition: September 2004Type: ArticleJournal: 10th International Symposium on Software Metrics, 2004. Proceedings.Link: https://ieeexplore.ieee.org/document/1357913http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.474.9332&rep=rep1&type=pdf