1 / 39

The Experience Factory

The Experience Factory. May 2004 Leonardo Vaccaro. Introduction . Reuse of products, processes and experience originating from the system life cycle is seen today as a feasible solution to the problem of developing higher quality system at lower cost. Outline.

alicia
Download Presentation

The Experience Factory

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. The Experience Factory May 2004 Leonardo Vaccaro

  2. Introduction Reuse of products, processes and experience originating from the system life cycle is seen today as a feasible solution to the problem of developing higher quality system at lower cost. The Experience Factory

  3. Outline • Importance of Experience Factory in the Software Business • The Experience Factory • Software Engineering Laboratory • Q-Labs Experience Management System • Experience Factory Implications The Experience Factory

  4. Experience Factory(Definition) • It is a logical and/or physical organization that supports project developments by analyzing and synthesizing all kinds of experience, acting as a repository for such experience, and supplying that experience to various project on demand The Experience Factory

  5. Importance of Experience Factory in the software business The software business requires understanding, continuous improvement, and the packaging of experience for reuse. • Reusing experience in the form of processes, products and other forms of knowledge is essential for improvement • Experience needs to be packaged • Experience must be evaluated • Software development must support reuse of experience • Packaged experiences need to be integrated The Experience Factory

  6. Experiences Factory Schema(Victor Basili) Envioronment Characteristics Characterize Set Goals Choose Process Project Support Package Goals, Processes, Tools, Products, Resource Models... Execution Plans Generalize EXPERIENCE BASE Tailor Data, Lessons Learned Execute Process Formalize Project Analysis Analyze Experience Factory Organization Project Organization The Experience Factory

  7. Project Organization • Produce and maintain software • Provides the analysis organization with • project and environment characteristics • development data • resource usage information • process information The Experience Factory

  8. Quality Improvement Paradigm • The basic methodologicaldevice for theExperience Factory • Developed by Victor Basili • Is the result of the application of the scientific method to the problem of software quality improvement • Based upon the notion that improving the software process requires the continual accumulation of evaluated experiences (learning) in a form that can be effectively understood and modified (experience models) into a repository of integrated experience models (experience base) that can be accessed and modified to meet the needs of the current project (reuse) The Experience Factory

  9. Quality Improvement Paradigm (cont.) It is articulated in six steps: 1. Characterize 6. Package 5. Analyze 2. Set Goals 3. Choose Process 4. Execute The Experience Factory

  10. 1. Characterize • Understand the environment based upon • Available models • Data • Intuition • Establish baselines with the existing business processes in the organization and characterize their criticality The Experience Factory

  11. 2. Set Goals • Set quantifiable goals for successful project and organization performance and improvement. • Use of Goal \ Question \ Metric Paradigm • The reasonable expectation are defined upon the baseline provided by the characterization step The Experience Factory

  12. 3. Choose Process • Choose the appropriate processes for • Improvement • Support methods and tools • The processes must be consistent with the goals that have been set The Experience Factory

  13. 4. Execute • Perform the processes • Constructing the products • Providing project feedback based upon the data on goal achievement that are being collected The Experience Factory

  14. 5. Analyze • At the end of each specific project, analyze the data and the information gathered to • Evaluate the current practices • Determine the problems • Make recommendation for future project improvements. The Experience Factory

  15. Analysis Organization • Processes the information received from the development organization • Returns direct feedback to each project, together with goals and models tailored from similar project. The Experience Factory

  16. 6. Package • Consolidate the experience gained in the form of new, or updated models • Store it in a experience base so it is available for future projects. The Experience Factory

  17. Support Organization • Sustains and facilitates the interaction between developers and analysts • Saving and maintaining the information • Making it efficiently retrievable • Controlling and monitoring the access to it. The Experience Factory

  18. Experience Base • Contains an accessible and integrated set of analyzed, synthesized and packaged experience models that capture past experience The Experience Factory

  19. Packaged Experience • The experience factory can package all kinds of experience • Resource models • Change and defect models • Process definition and models • Product models • A variety of quality models The Experience Factory

  20. Experience Package • Is the main product of the experience factory • The content of this product vary upon the kind of experience clustered in the package • There is a central element that determines what the package is. The Experience Factory

  21. Examples of Experience Package • Product Packages • Processes Package • Relationship Packages • Tool Packages • Management Packages • Data Packages The Experience Factory

  22. Product Packages • Have as their central element a product, clustered with the information needed to reuse it and the lessons learned in reusing it Examples: • Programs • Architectures • Designs The Experience Factory

  23. Processes Packages • Have as their central element a process, clustered with the information needed to execute it and lessons learned in executing it. Examples: • Processes model • Methods The Experience Factory

  24. Relationship Packages • Have as their central element a relationship or a system of relationship among observable characteristics of a software project. These packages are used for analysis and/or forecast of relevant phenomena Examples: • Cost and defect models, • Resource models The Experience Factory

  25. Tool Packages • Have as their central element a specific tool either constructive or analytic. Examples: • Code generator (constructive) • Static analyzer (analytic) The Experience Factory

  26. Management Packages • Have as their central element any container of reference information for project management. Examples: • Management handbooks, • Decision support models The Experience Factory

  27. Data Packages • Have as their central element a collection of defined and validated data relevant for a software project or for activities within it. Examples: • Project databases • Quality records The Experience Factory

  28. Goal \ Question \ Metric Paradigm • The mechanism used by the Quality Improvement Paradigm for defining and evaluating a set of operational goals using measurement. • Represents a systematic approach for tailoring and integrating goals with models of the software processes. The Experience Factory

  29. Development of goals Generation of questions that define the goals Indication of metrics that answer the question Objective: Minimize the number of defects Goal \ Question \ Metric Paradigm Management Goals or Needs Goals Questions Metrics The Experience Factory

  30. Software Engineering Laboratory • A software organization that has for a long time recognized the value of accumulation and reuse of experience is the NASA Goddard Space Flight Centre which has developed since 1977 the Software Engineering Laboratory The Experience Factory

  31. Software Engineering Laboratory • Is a very advanced examples of the concept of Experience Factory. • The experience packages developed by the Software Engineering Laboratory have mainly focused on project management and control, acquisition and tailoring of new technologies for software development and maintenance The Experience Factory

  32. The Software Engineering Laboratory Organization The Experience Factory

  33. Software Management Environment • The most interesting experience packages developed by Software Engineering Laboratory • Is a set of data, tools manuals and analysis techniques supplied to the project management in order to • control the execution of project, • compare it with similar ones • detect and analyze problems, • identify solutions The Experience Factory

  34. Q-Labs • An internationally distributed software engineering consulting company with office in Europe as well as in the United States • Needed an infrastructure to share experience between employees no matter where they are located • Q-Labs Experience Management System The Experience Factory

  35. Experience Management System • A physical implementation of the Experience Factory • Composed of • Content • Data, Information, Experience • Structure • The way the content is organized • Procedures • Instructions on how to use, package, delete and update the experience • Tools • Visual Query Interface The Experience Factory

  36. Q-Labs Experience Management System • Stores documents and their description in the Experience Base • The search is performed using a tool called Visual Query Interface • Experience packages in the context of Q-Labs are single computer document • Texts • Slides • Graphs • Scanned images • Numeric data The Experience Factory

  37. Experience Factory Implications • Offers an organizational structure that • Separates the product development focus from the learning and reuse focus. • Supports learning and reuse • Generates a tangible corporate asset in the form of packaged experiences. • There are costs involved in instituting such a program. • Based upon the SEL experience where a full measurement program has been in progress for over 14 years, project data collection overhead is estimated to be about 5% of the total project cost. The Experience Factory

  38. References • “The Experience Factory” – Victor Basili, Gianluigi Caldiera, Dieter Rombach http://wwwagse.informatik.uni-kl.de/pubs/repository/basili94c/encyclo.ef.pdf • “Implementing the Experience Factory concepts” – Victor Basili, Mikael Lindvall, Patricia Costa http://www.cebase.org/www/researchActivities/eBase/websepp.pdf • Software Engineering Laboratory http://sel.gsfc.nasa.gov/website/welcome.htm • “Lessons Learned about Structuring and Describing Experience for Three Experience Base” – Mikael Lindvall, Michael Frey, Patricia Costa, Roseanne Tesoriero The Experience Factory

  39. Visual Query Interface • Visualize the content of the Experience Base • The attributes are used to describe the experience packages • Package Id • Name • Submitted • X axis represents the “Open Date” • Y axis represents “The Person Responsible” • The color represents the “Costumer” The Experience Factory

More Related