1 / 24

Improving Estimation Practices by Applying Use Case Models Bente Anda

Improving Estimation Practices by Applying Use Case Models Bente Anda. Motivation. A large proportion of industrial systems development projects significantly overrun budget or are delivered after schedule (or not delivered at all), or are not delivered with the specified functionality.

stian
Télécharger la présentation

Improving Estimation Practices by Applying Use Case Models Bente Anda

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving Estimation Practices by Applying Use Case Models Bente Anda

  2. Motivation • A large proportion of industrial systems development projects significantly • overrun budget or • are delivered after schedule (or not delivered at all), or • are not delivered with the specified functionality. • Need for early and precise effort estimates. • Can use case models be used to improve estimation?

  3. Overview of Presentation • Approach to improving estimation • Research approach • Use case modelling • The use case points estimation method • Results from evaluating the method • Tailoring and applying the method

  4. Approach to Improving Estimation • Best practices for estimation: • Combine estimates from different experts and estimation strategies. • Estimate top-down and bottom-up independently. • Justify and criticize estimates.  Use method based estimates to improve expert estimates.

  5. Approach cont. • A use case model defines the functional scope of the system to be developed. The functional scope is the basis for top-down estimation. • Estimation parameters can be derived from a use case model. • Following a use case driven development process, a high-level use case model is available in the inception phase, and a detailed use case model is available at the start of the elaboration phase. • Many companies use a system’s use case model in the estimation process. • How can a use case model best be applied in estimating software development effort ?

  6. Research Approach • A method for use case based estimation, the Use Case Points Method, was evaluated on several projects in different companies. • Interviews were conducted with senior personnel of one company to determine prerequisites for applying the use case points method, and how it could be tailored to the company.

  7. Use Case Modeling A use case model describes a system's intended functions and its environment. It has two parts: • A diagram that provides an overview of actors and use cases, and their interactions. • An actor represents a role that the user can play with regard to the system. • A use case represents an interaction between an actor and the system. 2. The use case descriptions detail the requirements by documenting the flow of events between the actors and the system.

  8. Example of Use Case Diagram

  9. Example of Use Case Description Use Case Name: Place Order Short description: The customer provides address information and a list of product codes. The system confirms the order. Basic flow of events: • Customer enters name and address • Customer enters product codes for items he wishes to order • The system will supply a product description and price for each item • The system will keep a running total of items ordered as they are entered • The customer enters credit card information • The system validates the credit card information • The system issues a receipt to the customer

  10. Example of Description cont. Alternative flow of events: 3.1 The product is out of stock: 3.1.1 The systems informs the customer that the product can not be ordered. 6.1 The credit card is invalid 6.1.1 The system informs the customer that his credit card is invalid 6.1.2 The customer can enter credit card information again or cancel the order. Pre-Conditions: The customer is logged on to the system Post-Conditions: The order has been submitted Extension Points:None

  11. The Use Case Points Estimation Method • The Use Case Points Estimation Method was introduced by Gustav Karner. • The method is inspired by the Function Point method. • The method is implemented using a spreadsheet.

  12. The Estimation Method in Detail • Each actor and use case is categorized according to complexity and assigned a weight. • The complexity of a use case is measured in number of transactions. • The unadjusted use case points are calculated by adding the weights for each actor and use case. • The unadjusted use case points are adjusted based on the values of 13 technical factors and 8 environmental factors. • Finally the adjusted use case points are multiplied with a productivity factor.

  13. Adjust Based on Technical Factors

  14. Adjust Based on Environmental Factors

  15. Producing an Estimate • The unadjusted actor weight, UAW, is calculated adding the weights for each actor. • The unadjusted use case weights, UUCW, is calculated correspondingly. • The unadjusted use case points, UUCP, = UAW + UUCW. • The technical factor, TCF, = .6 + (.01*1..13Tn*Weightn). • The environmental factor, EF, = 1.4 + (-.03* 1..8Fn*Weightn). • UCP = UUCP*TCF*EF • Estimate = UCP * Productivity factor

  16. Evaluation of the Method The method was evaluated in case studies in: • Mogul AS • Cap Gemini Ernst & Young • IBM • Student projects at NTNU, Trondheim

  17. Results from Case Studies

  18. Characteristics of Projects

  19. Characteristics cont.

  20. Interviews with 11 project managers and senior developers

  21. Prerequisites for Applying the Use Case Points Method • Correctness of the use case model: The use case model should include the functional requirements of all the user groups. The main challenge is sufficient access to skilled and motivated domain experts. 2. Level of detail: The use case model should be described at an appropriate level of detail. The main challenges are to obtain balanced use cases and avoid ”infinite” expansion. Possible solutions are guidelines and good examples of use case models.

  22. Adapting the Method • Assessing the size of a use case: • In the inception phase the use cases are usually not described with sufficient detail to apply the use case points method directly. • The use cases are often described at an unbalanced level of detail. • The use case descriptions hide complexities. • The impact of each use case on the different parts of the architecture should be considered together with possibilities for reuse. • Adjustment factors: • Omit technical factors when the method is applied to detailed use cases. • Should handle team characteristics better and permit the specification of productivity and availability of each team member. • Functionality vs. architecture: • Estimate architecture separately when there is much uncertainty • Otherwise, use one environmental factor to assess stability of architecture instead of stability of requirements.

  23. Improving Estimation Practices • It is beneficial to combine estimates from different experts and estimation strategies. • The company’s expert estimates are made bottom-up, the use case points method provides a top-down estimate. • A supplementary use case based estimate provides a basis for adjusting the expert estimate. • The use case points method may help assess uncertainty in the project by making it possible to vary the input: • with regards to the complexities of the actors and the use cases, and • with regards to the different technical and environmental factors. • Estimation methods seem to perform better than expert estimators with little domain experience. • An estimation method may make more people competent to take part in estimation.

  24. Conclusions • The Use case points method has produced estimates close to actual effort in several projects. • This indicates that the use case points method may support expert knowledge when a use case model for the project is available. • Some tailoring to the company may be useful to obtain maximum benefits from the method.

More Related