Professional Documents
Culture Documents
SEPG 2002 Dr. Richard Bechtold Kathleen Coleman Dangle Patricia Larsen
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Outline
What are Small Businesses / Organizations? Process Performance Indicators (PPIs), Terms and Definitions Objectives of Using PPIs Example Alternative Development Activities Extreme / Adaptive Programming Sources of PPIs for Small Businesses Process Performance Validating Indicators
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
March 2, 2002
Tyvqr
Tyvqr
Refactoring Continuous Integration Collective Code Ownership Coding Standard Metaphor Sustainable Pace
Tyvqr
Extreme Programming
Whole Team
Every contributor to the project is an integral part of the team. The customer (or at least a businessrepresentative) works with the team on a daily basis, providing requirements, setting priorities, and steering the project Everyone on the team is physically co-located
Fraunhofer USA Center for Experimental Software Engineering, Maryland
March 2, 2002
Tyvqr
Extreme Programming
Planning Game / Small Releases / Customer Tests
Decide what should be done next (Re)predict completion Focus on business value Produce software in a series of small, fullyintegrated releases Regularly pass all customer-defined tests
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
Extreme Programming
Simple Design / Pair Programming / TestFirst Development / Refactoring
Work in pairs and as a group Simple designs Test code obsessively Improve designs continuously Include nothing that is not essential
March 2, 2002
Tyvqr
Extreme Programming
Continuous Integration / Collective Code Ownership / Coding Standard
The XP team keeps the system integrated and running all the time All production code written by pairs of programmers Programmers work together all the time All programming done in a consistent style Everyone fixes and improves everything
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
Extreme Programming
Metaphor / Sustainable Pace
The XP team shares a common and simple picture of what the system will look like The team uses a common system of names to ensure everyone understands functionality and where to look for it (or where to look to add it) Everyone works at a pace that they can sustain indefinitely
Fraunhofer USA Center for Experimental Software Engineering, Maryland
March 2, 2002
Tyvqr
Source of PPIs
Relative to Requirements Management
Stories On-site customer Small releases Continuous integration Test-first development
March 2, 2002
Tyvqr
Source of PPIs
Relative to Project Planning
Planning game Small releases (two weeks) Customer presented features (two weeks) Programmer estimated difficulty and estimated costs (two weeks) Replanning
March 2, 2002
Tyvqr
Source of PPIs
Relative to Project Monitoring and Control
Big visual charts Project velocity Stories for small releases Sustainable pace Frequent releases to the customer Customer-defined tests that are constantly run
March 2, 2002
Tyvqr
Source of PPIs
Relative to Measurement and Analysis
Test-first development Defect data Incremental estimates Rapid historical data from small cycles Design refactoring
March 2, 2002
Tyvqr
Source of PPIs
Relative to Process and Product Quality Assurance
Pair programming Constant design simplification Test-first development Coding standard Collective code ownership
March 2, 2002
Tyvqr
Source of PPIs
Relative to Configuration Management
Simple design Collective code ownership Small releases Continuous integration Constant testing
March 2, 2002
Tyvqr
Project Notebooks
Look for
Project managers that are reluctant to part with their project notebooks Project notebooks that look battered A history of updates to the notebooks Some sections in the notebook that are out of date
March 2, 2002
Tyvqr
Relaxed Atmosphere
Look for
Cartoons on the walls (especially those making fun of process auditors) Laughter in the cubicles and halls Overall friendliness between co-workers Generally active but relatively low-stress employees
March 2, 2002
Tyvqr
Executive Involvement
Look for
High-level managers who talk business concepts first, then CMMI concepts Executives who participate in SPI events Use of CMMI seen as essential to achievement of business goals Executives who haul chairs into meetings for others to use (results more important than appearances)
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
Tyvqr
Motivated QA / Motivated CM
Look for
QA and CM personnel who have real enthusiasm for their jobs QA personnel who are fearless Good Cop attitude among all QA personnel (and even the CM personnel) Comfortable relationship between QA and senior management
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
Nominal Preparation
Look for
Answers that are natural, not rehearsed Answers that do not recite sections of the CMMI verbatim Artifacts and documentation that appears tattered (or at least isnt still warm) Requests that you repeat or restate your question (often due to unfamiliarity with the CMMI)
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
Absence of Perfection
Look for
Willingness to admit to minor problems and areas in need of additional software process improvement Occasional rogue interviewees QA audits that routinely identify noncompliances Lack of 100% compliance with all practices, based on latest QA audits
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
Concluding Remarks
PPVIs cannot be used in lieu of PPIs PPVIs can be used in support of PPIs You can accept alternative practices with a higher level of confidence when PPIs and PPVIs are present Complex quality standards cannot be reduced to a checklist; they require systematic interpretation
March 2, 2002
Fraunhofer USA Center for Experimental Software Engineering, Maryland
Tyvqr
References
Extreme Programming from a CMM Perspective; Paulk, Mark; XP Universe; Raleigh, North Carolina; July 2001 CMMI-SE/SW, Capability Maturity ModelIntegrated for Systems Engineering/Software Engineering (Staged Representation), SEI, Carnegie Mellon University, 2000 AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis; Brown, W.; Malveau, R.; McCormick, H.; Mowbray, T.; Wiley, 1998 AntiPatterns in Project Management; Brown, W., McCormick, H., Thomas, S.; Wiley, 2000 Extreme Programming Explained; Beck, K.; Addison-Wesley, 2000 Planning Extreme Programming; Beck, K., Fowler, M.; AddisonWesley, 2001 www.xprogramming.com Website for Extreme Programming
March 2, 2002
Tyvqr
Contact Information
Dr. Richard Bechtold President, Abridge Technology rbechtold@rbechtold.com www.rbechtold.com Kathleen Coleman Dangle Scientist, Fraunhofer Center Maryland kdangle@fc-md.umd.edu www.fc-md.umd.edu Patricia Larsen Scientist, Fraunhofer Center Maryland plarsen@fc-md.umd.edu www.fc-md.umd.edu
Fraunhofer USA Center for Experimental Software Engineering, Maryland
March 2, 2002
Tyvqr