Managing the Project Lifecycle

Slides:



Advertisements
Similar presentations
Develop an Information Strategy Plan
Advertisements

Requirements Specification and Management
Software Quality Assurance Plan
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
SE 555 Software Requirements & Specification Requirements Management.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
Process, Communication, and Certification Padma Venkata
Systems Development (SD) Presentation Michael Webb IT Director for Medicaid Utah Department of Health UDOH Informatics Brownbag August.
Michael Solomon Tugboat Software Managing the Software Development Process.
Effective Methods for Software and Systems Integration
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
Software Configuration Management
Systems Development Lifecycle Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance.
SIUE Injury Tracking System Project Plan. Team Members: Robbie Marsh Robbie Marsh –Project Manager/Webmaster Ken Metcalf Ken Metcalf –Lead Programmer.
From Research Prototype to Production
Installation and Maintenance of Health IT Systems
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
Software Development Process and Management (or how to be officious and unpopular)
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
Software Requirements Engineering: What, Why, Who, When, and How
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Page 1 TEST in the large RELEASE REWORK ASSESS packaged application documentation models and source code management documents requirement alloc. matrix.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Initiation Project Management Minder Chen, Ph.D. CSU Channel Islands
Requirements Management Overview NIGMS Software Development.
CSE Senior Design II Staged Delivery Instructor: Manfred Huber Partially adapted from Mike O’Dell.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Establishing Project Scope 1. Factors Affecting Project Scope  The functionality that must be delivered to meet the user’s needs  The resources available.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 2 Diploma of Project Management.
1 Sean Aluoto Anthony Keeley Eric Werner. 2 Project Plan Overview Project Lifecycle model Time line Deliverables Organization plan Risk management Design.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Advanced Software Engineering Dr. Cheng
Principal Investigator ESTCP Selection Meeting
Configuration Management
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Configuration Management
Software Project Configuration Management
Project Management Chapter 3.
Lecture 3 Prescriptive Process Models
Software Configuration Management
Testing Process Roman Yagodka ISS Test Leader.
Principal Investigator ESTCP Selection Meeting
Quality Assurance: Early Work Items
Software Configuration Management
Systems Analysis and Design
Engineering Processes
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Project Management Process Groups
Chapter 25 – Configuration Management
Chapter 11: Software Configuration Management
Lesson 1 Understanding Software Quality Assurance
Software Engineering I
QA Reviews Lecture # 6.
Engineering Processes
Software Testing Lifecycle Practice
Time Scheduling and Project management
Presentation transcript:

Managing the Project Lifecycle Jim Fawcett CSE784 – Software Studio Fall 2001

Reference Software Project Survival Guide Steve McConnell Microsoft Press, 1998

Customer’s Bill of Rights To set objectives for the project and have them followed To know how long the project will take and how much it will cost To decide which features are in and which are out of the software To make reasonable changes to requirements throughout the course of the project and to know the costs of making those changes

Customer’s Bill of Rights (continued) To know the project’s status clearly and confidently To be apprised regularly of risks that could affect cost, schedule, or quality, and to be provided with options for addressing potential problems To have ready access to project deliverables throughout the project

Project Team’s Bill of Rights To know the project objectives and to clarify priorities. To know in detail what product I’m supposed to build and to clarify the project definition if it is not clear. To have ready access to the customer, manager, marketer, or other person responsible for making decisions about the software’s functionality.

Team’s Bill of Rights (continued) To work each phase of the project in a technically responsible way, especially to not be forced to start coding too early in the project. To approve effort and schedule estimates for any work that I will be asked to perform. This includes the right to provide only the kinds of cost and schedule estimates that are theoretically possible at each stage of the project

Team’s Bill of Rights (continued) To take the time needed to create meaningful estimates; and to revise estimates whenever the project's requirements change To have my project’s status reported accur-ately to customers and upper management. To work in a productive environment free from frequent interruptions and distractions, especially during critical parts of the project.

People-aware Management Accountability Managers should be held accountable for whether the organization’s human resources emerge from the project strengthened or diminished. Do developers quit the company at the end of the project? Does the whole team emerge with improved skills and excellent morale?

Life Cycle – Project Planning Software Development Plan Project cost and schedule estimates Quality Assurance Plan Technical reviews testing Staged Delivery Plan Requirements development Architecture Detailed Design

Planning Review Vision statement and business case Preliminary effort and schedule estimates Top 10 risks list User interface style guide Detailed user interface prototype User manual/Requirements Specification Software Quality Assurance Plan Detailed Software Development Plan

Early Project Control Explicitly choose a life-cycle model, e.g., staged delivery. Set up process to manage changes to requirements. Set design and coding standards. Create a detailed plan to focus each developer’s tasks on the project goals.

Benefits of Staged Delivery Critical functionality is available earlier. Risks are reduced early. Problems become evident early. Status-reporting overhead is reduced. working software is best status report More options are available with staged delivery. Reduces estimation errors.

Staged Delivery

Costs of Staged Delivery Increases project overhead Time to drive to software release many times Retest already tested features Versioning for each delivery Support multiple versions in the field Planning staged releases

A Staged Delivery Process

Top Level Milestones Key decision maker on board. Vision statement reviewed and published. Preliminary cost and schedule targets defined. First senior developers on board. Change control plan established. Top 10 risks defined. Software project log started.

Project Launch – Then: QA & Documentation leads on board. Key users identified and interviewed. UI Prototype created, reviewed by users. UI style guide baselined. First project estimates baselined. Preliminary Software Development Plan baselined. Top 10 risks and log updated.

Preliminary Requirements Development Complete – Then: Detailed UI prototype completed and baselined. User Manual/Requirements Specification baselined. Software Quality Assurance Plan baselined. Detailed Software Development Plan baselined. Project estimates, top 10 risks, project log updated.

Detailed Requirements Development Complete – Then: Most of development team and QA staff on-board. Software architecture document baselined. Software integration procedure defined. Staged delivery plan defined. Software test cases for stage 1 defined. All earlier baselined products updated.

Architecture Complete – Then: Beginning-of-stage planning completed. Detailed Design Document for stage 1 baselined. Detailed software construction plan for stage 1 including miniature milestones baselined. Software test cases for next stage baselined. Software build instructions (make files) for stage 1 baselined. Source code for stage 1 baselined.

Architecture Complete (cont) Install program created and baselined. User manual/specification updated. Stage 1 “feature-complete” product delivered. Estimates, top 10 risks, log updated.

First Stage Code Complete – Then: Repeat preceding steps.

Second Stage Code Complete: Detailed design document for last stage baselined. Software test cases for all stages updated. Source code for all stages updated. Build instructions for all stages updated. Install program updated. Integrated “feature-complete” product delivered. Estimates, top 10 risks, log updated.

Last Stage Complete Release checklist baselined. Release sign-off form signed by all parties and put under change control. Final product delivered. Final test cases delivered. Software media delivered. Project archives store off-site. Final updates to log. Project history document baselined.

Some Additional Detail

Change Control Procedure Initial development work is done without change control. When initial development is complete the product is submitted to a change control board. If the board accepts the product it becomes baselined. After baselining the product is put under source control, e.g., visual source safe, etc.

Change Control (continued) Further changes are treated systematically: Changes are proposed via Change Proposals with definition of change and impact. The change board distributes the proposal to all affected parties for review. Those affected provide assessments of cost and benefits from their own perspectives. The board summarizes results and decides to: Accept, defer to a later time, or reject.

Elements of a Quality Assurance Plan Defect tracking Unit testing Source code tracing Technical reviews Integration testing System testing

Architecture Provide system overview. Define subsystems and organization. Identify areas most subject to change. Make buy versus build versus reuse decisions.

Architecture (continued) Specific areas to address: External software interfaces User interface Database organization Data structures and storage Key algorithms Memory management Concurrency/threads Security Networking Error handling

Code Integration Procedure Code development Developer unit tests code with tracing. Developer integrates with a private version of main build. Developer submits for review. Informal turnover to testing. Developer fixes problems found. Fixes are reviewed. Developer integrates with main build. Code is declared complete.

System Test System test is a half step behind construction. Exercises system from end-to-end. Testers support developers by ensuring that system quality is high enough to support integration of new code. Developers support testers by fixing reported defects quickly.