Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)

Similar presentations


Presentation on theme: "Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)"— Presentation transcript:

1 Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)

2 Topics for Today Engineering and Production Stages Inception Phase Elaboration Phase Construction Phase Transition Phase

3 Review - The First Top Five Principles for a Modern Process

4 Review - First Five Improvement Principles Architecture first approach. –Balance driving requirements, architecture and design decisions, and life-cycle plans. Iterative life-cycle process to confront risk early. –Refine problem and solutions over several iterations. Use component-based development. –Move from “line-of-code” mentality to “component” mentality. Establish a change management environment. –Important for iterative development. Use round-trip engineering. –Automation of change management, documentation and testing across requirements, specifications, design models, source code, executable code, and test cases.

5 Review - Transitioning to a Modern Process Modern process features – –Early development of an initial version. –High risk areas are addressed early. –Several iterations are developed (called spirals, increments, generations, releases). Modern process characteristics- –Extensive use of domain experience. –Process flexibility and change management. –Architecture risk resolution. –Team cohesion. –Software process maturity.

6 Development Activities Two basic activities in software development - Research and development Production Unsuccessful projects mostly fail for one of two reasons – –Overemphasis on research and development. Too many analyses and studies. Typical of conventional software development methods. –Overemphasis on production. Too much “rush-to-design”, premature work by overeager coders, and much hacking.

7 Successful Projects Have a well-defined milestone that transitions from a research attitude to a production attitude. Early phases focus on functionality; later phases focus on a deliverable product (with robustness, performance, fit, and finish). Life-cycle balance is maintained throughout.

8 Modern Software Development Process A modern process supports evolution of plans, requirements, architecture and design. A modern process supports pro-active risk management and objective measurement of progress and quality. A modern process supports evolution of system capabilities through demonstrations of increasing functionality.

9 Engineering and Production Stages To achieve more economic software development we must move toward a software manufacturing mentality. –Process automation. –Component-based development. To achieve more economic benefits, w should use a two-stage life cycle process for development. –Engineering stage, with smaller teams doing design and synthesis activities. –Production stage, with larger teams doing construction, test and deployment activities.

10 Differences in Emphasis for Engineering and Production Stages

11 Four Phases for Development - Royce Engineering Stage –Inception phase –Elaboration phase Production Stage –Construction phase –Transition phase

12 Phases of the Life-cycle Process

13 Inception Phase Objectives –Establishing software scope, boundary conditions, operational concept, acceptance criteria. –Critical use cases, scenarios. –Demonstrating candidate architecture. –Cost and schedule. –Potential risks. Activities –Formulating project scope. Capturing requirements –Synthesizing architecture. Design tradeoffs, initial baseline for make/buy. –Planning. Risk assessments, staffing, iteration plans, budgeting and scheduling, infrastructure tools selection.

14 Elaboration Phase Objectives –Stable requirements, architecture, and plans. –Executable architecture prototype(s). –Baseline architecture, vision and plans. –Completion of engineering for the project. Activities –Elaborating the vision. –Establishing the critical use cases. –Elaborating the process and infrastructure. The construction process, the tools and automation support, and the intermediate milestones and evaluation criteria. –Elaborating the architecture and selecting components. Complete component make/buy, component integration. Assessment against primary scenarios.

15 Construction Phase Objectives –Transition from engineering to production mindset. Objective is to produce a product rather than developing intellectual property. Emphasis is on managing resources and controlling operations. –Achieve quality as rapidly as practical. –Achieve useful versions as rapidly as practical. Activities –Complete component development and test. –Assessment of product releases. Resource management, control and process optimization. –Initiation of spawning activities.

16 Transition Phase Objectives –Deployment of a baseline. –Beta test completion. –Conversion of operational databases. –Training of users and maintenance personnel. –Product acceptance by customer. Activities –Synchronization of construction and integration of final increments. –Deployment Cutover, commercial packaging, sales rollout, field personnel training. –Assessment of deployment baselines.

17 Summary for A Framework for Software Project Management – Life-cycle Phases Software development should move more toward a manufacturing type process. Engineering and Production Stages should be recognized and planned. Iterative development methods should be used. Inception, Elaboration, Construction and Transition Phases can be used to provide for modern software development.

18 Assignment for Next Class Meeting Read Chapter 5 of Royce’ book, on life cycle phases. –Learn the two stages of more economic software development processes. –Learn the four phases of of a modern life-cycle process. –Learn the objectives of each of the four phases. –Learn the activities of each of the four phases. Read Chapter 5, “The Second-System Effect” of Brooks’ book. –Learn the most important principle of system design. If assigned to you, prepare the “Brooks’ Chapter 5” 20 minute report (for presentation to the class).


Download ppt "Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)"

Similar presentations


Ads by Google