Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael.

Similar presentations


Presentation on theme: "Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael."— Presentation transcript:

1 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael K. Daskalantonakis MKD Technologies, Inc. Austin SPIN Meeting 9/14/06

2 http://mkdtechnologies.com 2 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Outline 1. Introduction 2. Selecting an Applicable Software Life Cycle Model 3. Selecting the Applicable Process Steps and Tools 4. Using Process Improvement Mechanisms 5. Conclusion

3 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 3 1. Introduction

4 http://mkdtechnologies.com 4 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Software Process and Life-Cycle Model Software process: A set of steps involved in creating project deliverables Identified roles responsible for each process step Entry/exit criteria associated with the process Software life cycle model: Determines the specific ordering of the steps involved in the processes used by the project

5 http://mkdtechnologies.com 5 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Software Engineering Environment It is the context in which life cycles and processes are applied. It varies by project and it is characterized through attributes such as: Size of the development team Geographical distribution of the development team (communication needs) Geographical distribution of the users (localization needs) Average level of developer expertise Average application familiarity of the developers Problem domain Domain difficulty System constraints (response time, memory limitations) Estimated product size (e.g., total KLOC vs. delta KLOC) Extent of technology and tool usage

6 http://mkdtechnologies.com 6 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Project Types Prototype Projects Develop and test new algorithms and technology Requirements are developed throughout the project Prototype used to extract requirements and derive technology Baseline Projects Develop and test new software product Requirements changes occur but they are less extensive in scope Derivative Projects Add functionality to a software product already in use Fix any bugs founds in previous releases Requirements are typically well understood and relatively stable

7 http://mkdtechnologies.com 7 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Tailoring Process to Environment If you want exceptional project results it is necessary (but not sufficient) to: Tailor processes and life cycle to: – the project environment (characteristics / needs) and – the project type It is such tailoring that results in using the right process for the right environment! This involves: Selecting the applicable (or customizing a generic) – Life-Cycle Model – Process steps and entry / exit criteria – Software engineering technology and tools – Assignment of roles and responsibilities to project participants Creating a Project Plan reflecting the choices made with buy-in within the organization Constantly reviewing, fine tuning, and updating the Project Plan to match the changing needs of the project as it progresses and when necessary

8 http://mkdtechnologies.com 8 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Software Project Leverage Points - Achieve the Desired Results New Technology & Tools People Familiar with the Application Domain Assigned Project Roles Life Cycle and Processes Tailored to the Needs of the Project Performance determinants for: Cost / Effort Schedule Quality

9 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 9 2. Selecting An Applicable Software Life Cycle Model

10 http://mkdtechnologies.com 10 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Software Life Cycle Models They indicate the sequencing of process steps to complete a project Many models exist and are in use in the industry This section only provides samples of such industry models for purposes of discussion, not a complete list New models are introduced as a need arises

11 http://mkdtechnologies.com 11 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Prototyping Model Extract Design and Enhance It Support and Maintenance Feature List Reqs Spec Coding Proto Review with Users / Enhance Coding And Testing Reqs Update Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

12 http://mkdtechnologies.com 12 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Waterfall Model Reqs Analysis Design Coding and Unit Testing Integration, System, and Regression Testing Release Maintenance and Support Time Progress (Gates and Criteria) Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

13 http://mkdtechnologies.com 13 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Incremental (Waterfall) Development Model Reqs Analysis Design (Incr 1) Coding and Unit Testing (Incr 1) Integration, System, and Regression Testing Release Maintenance and Support Time Progress (Gates and Criteria) Design (Incr n) Coding and Unit Testing (Incr n)....... Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

14 http://mkdtechnologies.com 14 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Refined V Model Reqs Analysis High Level Design Low Level Design Coding UT1 UT2 UT3 UT4 UT5 Unit Test IT1 IT2 IT3 IT4 IT5 Integration Test ST1 ST2 ST3 ST4 ST5 System Test Time Progress (Gates and Criteria) Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections)

15 http://mkdtechnologies.com 15 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Spiral Model Integral Processes (Project Mgt, [Subcontractor Mgt], Configuration Mgt, SQA, Inspections) Determine Objectives, Alternatives, Constraints Evaluate Alternatives, Identify And Resolve Risks Develop and Verify Next Level Product Plan Next Phases Risk Analysis Prototypes Reqs and Iteration Plan Development Plan Integration And Test Support and Maintenance Concept of Operation Reqs Spec Reqs Validation Design Verification and Validation Design Detailed Design Code Unit Test Integration and System Test Regression / Acceptance Test

16 http://mkdtechnologies.com 16 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Web Development Model Establish the Goals, Audience, And Reqs Develop Prototype Test, Enhance, and Go Live Attract Traffic to the Web-based System Monitor Usage Stats and Evolve the System

17 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 17 3. Selecting The Applicable Process Steps and Tools

18 http://mkdtechnologies.com 18 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Process Steps and Entry / Exit Criteria Processes indicate the steps involved to complete a related set of project deliverables the criteria involved in determining whether or not to enter or exit the process – Enter when pre-requisite materials have been completed – Exit when resulting materials have been completed Process definitions vary and typically reflect organizational needs This section provides samples in use in the industry for discussion purposes only (not a complete list)

19 http://mkdtechnologies.com 19 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Requirements Analysis Process Entry Criteria TasksResponsibilityExit Criteria Potential product identified. Initial project team formed. Survey and meet with representative users from the market segments (use any existing customer contact databases). Product ManagerRequirements Specification document completed. Hold product User Group or Advisory Group meetings.Product Manager Define the product scope and determine its features. Create feature prioritization and roadmap. Create Preliminary Requirements Spec. Product Manager Use the template for Requirements Specification to document the product requirements. System Architect Inspect, update, and obtain approval of the Requirements Specification document. Place it under configuration management using the standard tool. System Architect Update the Requirements Specification throughout the project per the applicable guidelines. System Architect

20 http://mkdtechnologies.com 20 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Design Process Entry Criteria TasksResponsibilityExit Criteria Draft Requirements Specification available. Determine the software structure and architecture. Use the System Architecture template to document it. Place it under configuration management using the standard tool and update throughout the project as necessary. System ArchitectSoftware Design document completed. Identify and obtain any design and code available for reuse.Developer Create the design for the new software modules.Developer Use the Design template to document the software design. Developer Inspect and update the Design document; place it under configuration management using the standard tool. Developer Update the Design document throughout the project.Developer

21 http://mkdtechnologies.com 21 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Coding and Unit Testing Process Entry Criteria TasksResponsibilityExit Criteria Requirements Specification updated per inspection and available. Draft Design available. Write source code for each module using the applicable coding standard. DeveloperSoftware code written, inspected, unit tested, updated, and placed under configuration management. Draft user documentation / training materials developed. Compile the source code (both new and reused) and run the tools identified in the Project Plan. Developer Inspect the subset of the new code specified in the Project Plan and update it appropriately. Developer Create and execute unit test cases (for new code and reused code). Developer Update the code and place it under configuration management in the appropriate project directory. Developer Update the code as necessary throughout the project.Developer

22 http://mkdtechnologies.com 22 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Process Stages Process steps may be grouped in stages to make the process definition easier to comprehend Such stages may have their own entry / exit criteria (based on the overall process entry / exit criteria) Following is an example of how processes are organized in stages which involve process steps

23 http://mkdtechnologies.com 23 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Example: Test Process Stages Test Plan and Design Test Creation Test Execution and Result Reporting Defect Isolation and Fixing Isolate construction defects and fix them Isolate testing defects and fix them Review and test the fixes Review fixes and rerun the tests Test Plans Test Design Test Procedures Test Cases Test Report Test Fixes Construction Fixes Post-Mortem Development Process Feedback (for Developers) Test Process Feedback (for Testers)

24 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 24 4. Process Improvement Mechanisms

25 http://mkdtechnologies.com 25 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. What Is Process Improvement? Once the process steps and life cycle models have been defined and tailored for use in different projects, they need to be measured and improved Process improvement involves: Identifying strengths and weaknesses (opportunities for improvement) Prioritizing opportunities based on the project environment / types Creating and executing an improvement plan reflecting the priorities Requires a closed feedback loop through Assessments & Measurement of: Project Characteristics Process Technology / Tools Product Service People Teams Dedicated resources

26 http://mkdtechnologies.com 26 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Quality Improvement Paradigm (QIP) Planning Characterize the project environment Define goals, questions, metrics for successful project performance and improvement Choose the execution model and supporting methods and tools Execution Execute the chosen process steps and life cycle models to: – Construct the products or services – Collect and analyze data to provide feedback in real time Analysis, learning, and feedback to the project group Analyze the data to evaluate practices and recommend improvements Proceed to the next planning cycle armed with the recorded, structured experience gained from this and previous projects

27 http://mkdtechnologies.com 27 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Goal Question Metric (GQM) Paradigm Develop a set of goals for productivity and quality Develop operational definitions (questions) that characterize, predict, and motivate Specify the metrics needed to answer these questions and to track conformance to the goals Develop mechanisms for data collection and analysis Collect, validate, and analyze the data in-process for feedback to projects and corrective action Analyze in a post-mortem fashion, to assess conformance and make recommendations for future improvements

28 http://mkdtechnologies.com 28 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. The GQM Approach to Measurement Goal Q1 M1M2M3 Q2 M4M5 Q3 M6

29 http://mkdtechnologies.com 29 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Software Metrics A software metric is a method of determining the extent to which a software process, product, or project possesses a certain attribute Metrics should be: Simple to understand and precisely defined Objective (as much as possible) Inexpensive to use Robust Examples: Delivered defects and delivered defects per size Total effectiveness throughout the process Adherence to schedule Estimation accuracy Time that problems remain open

30 http://mkdtechnologies.com 30 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Benefits of the QIP & GQM Approaches Allow for the differentiation of project environments Permit the development of a company-wide experience base Provide a mechanism for: Assessment of quality and productivity goals Assessment of the impact of new technology used within projects Justification for selecting and tailoring the appropriate methods and tools Improvement Measurement is not the goal; the goal is improvement through measurement, analysis, and feedback

31 http://mkdtechnologies.com 31 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. SEI Progress Assessments - 1 Purpose: Provide a self-assessed measure of progress in terms of implementing prioritized best practices Identify strong/weak areas Improve organizational practices through action plans Scoring Approach: Score each SEI Key Process Area (KPA) by assessing implementation of Key Practices (KPs) using established guidelines A facilitated meeting of practitioners is the mechanism used to determine the outcome (scores, strengths, weaknesses) Key Practice scores are in 0 (poor) to 10 (outstanding) scale

32 http://mkdtechnologies.com 32 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. SEI Progress Assessments - 2 Three primary evaluation dimensions Approach – Organizational commitment and management support – Organizational ability to implement Deployment – Breadth of practice implementation across project areas – Consistency of practice implementation across project areas Results – Breadth of positive results over time and across project areas – Consistency of positive results over time and across project areas Use Kiviat charts to indicate progress

33 http://mkdtechnologies.com 33 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. KPA Scoring Sheet

34 http://mkdtechnologies.com 34 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. KP Evaluation Dimensions

35 http://mkdtechnologies.com 35 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. KPA Assessment Results

36 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 36 5. Conclusion

37 http://mkdtechnologies.com 37 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Right Process for the Right Environment Define your companys software process handbook (process steps, life cycle models) Characterize your organizations project environment Tailor the process to your environment by selecting process steps & life cycle models mapping to your type(s) of projects Continuously monitor and improve performance through metrics and progress assessments

38 http://mkdtechnologies.com 38 Copyright 2006 MKD Technologies, Inc. All Rights Reserved. Acknowledgements The concepts presented here were developed and practiced over the last twenty years through contributions of many individuals across the industry Special acknowledgements to: Dr. Victor Basili (University of Maryland) Dr. Bob Yacobellis, Dr. Michael Jackson (while at Motorola)


Download ppt "Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to the Right Environment by Michael."

Similar presentations


Ads by Google