Home >Documents >Http:// Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to...

Http:// Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 1 Applying the Right Process to...

Date post:26-Mar-2015
Category:
View:212 times
Download:0 times
Share this document with a friend
Transcript:
  • Slide 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 Slide 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 Slide 3 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 3 1. Introduction Slide 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 Slide 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 Slide 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 Slide 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 Slide 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 Slide 9 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 9 2. Selecting An Applicable Software Life Cycle Model Slide 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 Slide 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) Slide 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) Slide 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) Slide 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) Slide 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 Slide 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 Slide 17 http://mkdtechnologies.com Copyright 2006 MKD Technologies, Inc. All Rights Reserved. 17 3. Selecting The Applicable Process Steps and Tools Slide 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) Slide 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 Slide 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 Slide 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 (f

Popular Tags:

Click here to load reader

Embed Size (px)
Recommended