project management chapter_04 for msbte

104
SOFTWARE PROJECT MANAGEMENT Presented By - Mr.Ingole K.P. Lecturer Shri Yogeshwari Polytechnic, Ambajogai

Upload: kalyan-ingole

Post on 06-May-2015

276 views

Category:

Education


1 download

DESCRIPTION

This presentation is about the project management that contains project management spectrum,Risk management,change management,configuration management and clean room strategy

TRANSCRIPT

Page 1: Project management chapter_04 for MSBTE

SOFTWARE PROJECT MANAGEMENT

Presented By - Mr.Ingole K.P. Lecturer Shri Yogeshwari Polytechnic,

Ambajogai

Page 2: Project management chapter_04 for MSBTE

WHAT IS PROJECT ?

Page 3: Project management chapter_04 for MSBTE

A project is “a temporary endeavor undertaken to create a unique product, service, or result.”*

Operations is work done to sustain the business.

A project ends when its objectives have been reached, or the project has been terminated.

Projects can be large or small and take a short or long time to complete.

Page 4: Project management chapter_04 for MSBTE

Project Attributes

A project: Has a unique purpose. Is temporary. Is developed using progressive elaboration. Requires resources, often from various

areas. Should have a primary customer or

sponsor. The project sponsor usually provides the

direction and funding for the project. Involves uncertainty.

Page 5: Project management chapter_04 for MSBTE

PROJECT MANAGEMENT

Every project is constrained in different ways by its:

Scope goals: What work will be done?

Time goals: How long should it take to complete?

Cost goals: What should it cost?

It is the project manager’s duty to balance these three often-competing goals.

Page 6: Project management chapter_04 for MSBTE
Page 7: Project management chapter_04 for MSBTE

The Management Spectrum4 P’s

The People PM-CMM

- Recruiting - Selection

- Performance management - Training - Compensation - career development - Organization and work design - team culture development The Product

before project planned, product objectives and scope should be defined, alternate solutions should be considered, technical and management constraint should be identified.

Developer and customer should meet to define product objectives and scope. The Process (includes different taskset,milestones,work product, framework

activities, umbrella activities) The Project conduct planned and controlled software project development to manage complexity Why project fails :

- unrealistic deadlines established

- Changing customer requirement

- technical difficult

- Miscommunication among team members

- Failure in project management

Page 8: Project management chapter_04 for MSBTE

People

Product

Process

Project

Page 9: Project management chapter_04 for MSBTE

The People: The Stakeholders

Five categories of stakeholders Senior managers – define business issues that

often have significant influence on the project Project (technical) managers – plan, motivate,

organize, and control the practitioners who do the work

Practitioners – deliver the technical skills that are necessary to engineer a product or application

Customers – specify the requirements for the software to be engineered and other stakeholders who have a peripheral interest in the outcome

End users – interact with the software once it is released for production use

Page 10: Project management chapter_04 for MSBTE

The People: Team Leaders Competent practitioners often fail to make good team

leaders; they just don’t have the right people skills

Qualities to look for in a team leader

Motivation – the ability to encourage technical people to produce to their best ability

Organization – the ability to mold existing processes (or invent new ones) that will enable the initial concept to be translated into a final product

Ideas or innovation – the ability to encourage people to create and feel creative even when they must work within bounds established for a particular software product or application

Team leaders should use a problem-solving management style Concentrate on understanding the problem to be solved Manage the flow of ideas Let everyone on the team know, by words and actions, that

quality counts and that it will not be compromised

Page 11: Project management chapter_04 for MSBTE

Characteristics of Project Manager :

Problem solving – diagnose, structure a solution, apply lessons learned, remain flexible

Managerial identity – take charge of the project, have confidence to assume control, have assurance to allow good people to do their jobs

Achievement – reward initiative, demonstrate that controlled risk taking will not be punished

Influence and team building – be able to “read” people, understand verbal and nonverbal signals, be able to react to signals, remain under control in high-stress situations

Page 12: Project management chapter_04 for MSBTE

The People: The Software Team Seven project factors to consider when structuring a

software development team

The difficulty of the problem to be solved

The size of the resultant program(s) in source lines of code

The time that the team will stay together

The degree to which the problem can be modularized

The required quality and reliability of the system to be built

The rigidity of the delivery date

The degree of sociability (communication) required for the project

Page 13: Project management chapter_04 for MSBTE

People

Product

Process

Project

Page 14: Project management chapter_04 for MSBTE

The Product

The scope of the software development must be established and bounded

Context – How does the software to be built fit into a larger system, product, or business context, and what constraints are imposed as a result of the context?

Information objectives – What customer-visible data objects are produced as output from the software? What data objects are required for input?

Function and performance – What functions does the software perform to transform input data into output? Are there any special performance characteristics to be addressed?

Software project scope must be unambiguous and understandable at both the managerial and technical levels

Page 15: Project management chapter_04 for MSBTE

Problem decomposition

Also referred to as partitioning or problem elaboration

Sits at the core of software requirements analysis

Two major areas of problem decomposition

The functionality that must be delivered

The process that will be used to deliver it

Page 16: Project management chapter_04 for MSBTE

People

Product

Process

Project

Page 17: Project management chapter_04 for MSBTE

The Process Getting Started

The project manager must decide which process model is most appropriate based on

The customers who have requested the product and the people who will do the work

The characteristics of the product itself

The project environment in which the software team works

Once a process model is selected, a preliminary project plan is established based on the process framework activities

Process decomposition then begins

The result is a complete plan reflecting the work tasks required to populate the framework activities

Project planning begins as a melding of the product and the process based on the various framework activities

Page 18: Project management chapter_04 for MSBTE

Process Decomposition

Software team should have significant flexibility in choosing the s/w process model that is best for the project.

- A relatively small project that is similar to past efforts might be best accomplished with the use of linear sequential model.

- if very tight constraints to be imposed , RAD must be chosen

- if the deadline is so tight that the functionality can not be reasonably be delivered, an incremental strategy might be best.

Page 19: Project management chapter_04 for MSBTE

Process Decomposition (conti….) Once the process model has been

chosen, the process framework is adapted to it.

Process decomposition commences when the project manager asks, "How do we accomplish this framework activity?”

Page 20: Project management chapter_04 for MSBTE

E.g. A small ,relatively simple project might require the following work tasks for communication process :

- Develop list of clarification issues.

- Meet the customer to address the clarification issues.

- Jointly develop a statement of scope

- Review the statement of scope with all concerned

- Modify the statement of scope as required.

These events might occur over less then 48 hours.

Page 21: Project management chapter_04 for MSBTE

People

Product

Process

Project

Page 22: Project management chapter_04 for MSBTE

The Project: Signs that it is in Jeopardy

Software people don't understand their customer's needs

The product scope is poorly defined

Changes are managed poorly

The chosen technology changes

Business needs change (or are poorly defined)

Deadlines are unrealistic

Users are resistant Sponsorship is lost (or was never properly

obtained)

The project team lacks people with appropriate skills

Managers avoid best practices and lessons learned

Page 23: Project management chapter_04 for MSBTE

The Project: A Common Sense Approach

Start on the right foot Understand the problem; set realistic objectives and expectations; form

a good team

Maintain momentum Provide incentives to reduce turnover of people; emphasize quality in

every task; have senior management stay out of the team’s way

Track progress Track the completion of work products; collect software process and

project measures; assess progress against expected averages

Make smart decisions Keep it simple; use existing software before writing new code; follow

standard approaches; identify and avoid risks; always allocate more time than you think you need to do complex or risky tasks

Conduct a post mortem analysis Track lessons learned for each project; compare planned and actual

schedules; collect and analyze software project metrics; get feedback from teams members and customers; record findings in written form

Page 24: Project management chapter_04 for MSBTE

People

Product

Process

Project

Page 25: Project management chapter_04 for MSBTE

Software Project scheduling and Tracking

Project scheduling helps to establish a roadmap for project manager.

Project scheduling and tracking begins with the identification of process models, identification of software tasks and activities, estimation of efforts and work.

Software project scheduling is an activity that distributes estimated efforts across the duration.

Page 26: Project management chapter_04 for MSBTE

26

Reasons why project deadline can not met

• An unrealistic deadline established by someone outside the software engineering group and forced on managers and practitioners within the group

• Changing customer requirements that are not reflected in schedule changes

• An honest underestimate of the amount of effort and /or the number of resources that will be required to do the job

• Predictable and/or unpredictable risks that were not considered when the project commenced

Page 27: Project management chapter_04 for MSBTE

Continued….

• Technical difficulties that could not have been foreseen in advance

• Human difficulties that could not have been foreseen in advance

• Miscommunication among project staff that results in delays

• A failure by project management to recognize that the project is falling behind schedule and a lack of action to correct the problem

Page 28: Project management chapter_04 for MSBTE

28

Basic Principles for Project Scheduling

• Compartmentalization

– The project must be compartmentalized into a number of manageable activities, actions, and tasks; both the product and the process are decomposed

• Interdependency

– The interdependency of each compartmentalized activity, action, or task must be determined

– Some tasks must occur in sequence while others can occur in parallel

– Some actions or activities cannot commence until the work product produced by another is available

• Time allocation

– Each task to be scheduled must be allocated some number of work units

– In addition, each task must be assigned a start date and a completion date that are a function of the interdependencies

– Start and stop dates are also established based on whether work will be conducted on a full-time or part-time basis

(More on next slide)

Page 29: Project management chapter_04 for MSBTE

29

Basic Principles for Project Scheduling (continued)• Effort validation

– Every project has a defined number of people on the team

– As time allocation occurs, the project manager must ensure that no more than the allocated number of people have been scheduled at any given time

• Defined responsibilities– Every task that is scheduled should be assigned to a

specific team member• Defined outcomes

– Every task that is scheduled should have a defined outcome for software projects such as a work product or part of a work product

– Work products are often combined in deliverables

Page 30: Project management chapter_04 for MSBTE

• Defined milestones

– Every task or group of tasks should be associated with a project milestone

– A milestone is accomplished when one or more work products has been reviewed for quality and has been approved

Page 31: Project management chapter_04 for MSBTE

Scheduling

Information Estimates of effort A decomposition of the product function The selection of the appropriate process

model and task set Decomposition of task A task network

Methods Program evaluation and review technique

(PERT) Critical path method (CPM)

Page 32: Project management chapter_04 for MSBTE
Page 33: Project management chapter_04 for MSBTE

Task Network

• Also called an activity network• It is a graphic representation of the

task flow for a project

• It depicts task length, sequence, concurrency, and dependency

• Points out inter-task dependencies to help the manager ensure continuous progress toward project completion

Page 34: Project management chapter_04 for MSBTE

Task Network

Each activity has:

1. Precursor

2. Duration

3. Due date

4. End point (milestone or deliverable)

Page 35: Project management chapter_04 for MSBTE

Gantt Chart

Gantt chart is a means of displaying simple activities or events plotted against time or dollars

Most commonly used for exhibiting program progress or for defining specific work required to reach an objective

Gantt charts may include listing of activities, activity duration, scheduled dates, and progress-to-date

Page 36: Project management chapter_04 for MSBTE
Page 37: Project management chapter_04 for MSBTE

PERT and CPM

Determine the “critical path”

Establish “most likely time”

Calculate “boundary times” earliest time latest time earliest finish latest finish time the total float

Page 38: Project management chapter_04 for MSBTE

CPM

• The critical path :

– A single path leading from start to finish in a task network

– It contains the sequence of tasks that must be completed on schedule if the project as a whole is to be completed on schedule

– It is the longest path through the network and identifies essential steps that must be completed on time to avoid delay in completing the project.

– It also determines the minimum duration of the project

Page 39: Project management chapter_04 for MSBTE
Page 40: Project management chapter_04 for MSBTE

Activity

Precursor

Duration

EST

EFT LST LFT Slack

Start

- 0 0 0 0 0 0

A Start

2 0 2 0 2 0

B Start

3 0 3 4 7 4

C A 5 2 7 2 7 0

D A,B 4 3 7 7 11 4

E D 2 7 9 11 13 4

F B,C 6 7 13 7 13 0

FINISH

E,F 0 13 13 13 13 0

EST = earliest start time, EFT = earliest finish time.

LST = latest start time, LFT = latest finish time.

Slack = (LST - EST) or (LFT - EFT).

Page 41: Project management chapter_04 for MSBTE

PERT

A PERT chart is a project management tool used to schedule, organize, and coordinate tasks within a project

Page 42: Project management chapter_04 for MSBTE

42

Program Evaluation and Review Technique

        JAN       FEB    

TASK EARLIEST START

LATEST START

1 8 15 22 29 5 12 17 24

1 1/1 2/5 * * * * * *      

2 1/1 1/8 * *              

3 1/9 1/22 * * * *          

4 1/9 1/22 * * * *          

5 1/23 2/1       * * *      

6 1/23 2/1       - - F      

7 1/23 2/17       - - F F F  

8 2/2 2/17           * * * *

* = critical activity, - = non-critical, F = float or slack

Page 43: Project management chapter_04 for MSBTE

Steps to draw PERT and CPM graph

Define jobs or activities

Estimate time for each activity

ordering of activities

Drawing the project graph or diagram

Page 44: Project management chapter_04 for MSBTE

Advantages

Forces manager for better plan

Shows interrelationship between tasks and helps in identifying the critical path.

Exposes parallelism and helps in allocating resources

Helps in proper scheduling of different activities

Enables the manager to monitor and control a project

Page 45: Project management chapter_04 for MSBTE

Timeline Charts

When creating as software project schedule, the planner begins with a set of tasks. Efforts, duration and start date are input for

each task.

As a consequences of this input the timeline chart is generated.

A timeline chart can be developed for the entire project.

Page 46: Project management chapter_04 for MSBTE
Page 47: Project management chapter_04 for MSBTE

Ways to track project schedule

Conducting periodic project status meeting in which each team member reports progress and problem

Evaluating the results of all reviews conducted throughout s/w engg. Process

Determining whether formal project milestones have been accomplished by the schedule date

Comparing actual start date and planned start date for each project task listed in the resource table

Using earned value analysis to assess progress quantitatively.

Page 48: Project management chapter_04 for MSBTE

Risk Analysis & Management

Page 49: Project management chapter_04 for MSBTE

What is Risk?

There is a difference between a Problem and Risk

Problem is some event which has already occurred but risk is something that is unpredictable.

Risk is an uncertainty.

A risk is a potential problem – it might happen and it might not

We don’t know whether a particular event will occur or no but if it does has a negative impact on a project.

Page 50: Project management chapter_04 for MSBTE

Definitions of Risks

Risk is the probability of suffering loss.

Risk provides an opportunity to develop the project better.

Two characteristics of risk

Uncertainty – the risk may or may not happen, that is, there are no 100% risks (those, instead, are called constraints)

Loss – the risk becomes a reality and unwanted consequences or losses occur

Page 51: Project management chapter_04 for MSBTE

Risk Analysis & Management Risk analysis and management are a series of

steps that help a software team to understand and manage uncertainty.

The Risks we encounter in a project should be resolved so that we are able to deliver the desired project to the customer.

The art of managing of the risks effectively so that the WIN-WIN situation and friendly relationship is established between the team and the customer is called Risk Management.

Page 52: Project management chapter_04 for MSBTE

Who does it?

Everyone involved in the software process participate in risk analysis and management:

managers,

software engineers, and

customers—

Page 53: Project management chapter_04 for MSBTE

Why is it important?

“Be prepared.” Software is a difficult undertaking.

Lots of things can go wrong, and frankly, many often do.

It’s for this reason that being prepared— understanding the risks and taking proactive measures to avoid or manage them—is a key element of good software project management.

Page 54: Project management chapter_04 for MSBTE

What are the steps?

1) Identify possible risks; recognize what can go wrong

2) Analyze each risk to estimate the probability that it will occur and the impact (i.e., damage) that it will do if it does occur

3) Rank the risks by probability and impact - Impact may be negligible, marginal, critical, and catastrophic

4) Develop a plan to manage those risks having high probability and high impact

Page 55: Project management chapter_04 for MSBTE

What is the work product?

A risk mitigation, monitoring, and management (RMMM) plan

Or a set of risk information produced.

Page 56: Project management chapter_04 for MSBTE

REACTIVE VS. PROACTIVE RISK STRATEGIES

"Don't worry, I'll think of something"

More commonly, the software team does nothing about risks until something goes wrong. Then, the team flies into action in an attempt to correct the problem rapidly. This is often called a fire fighting mode.

Crisis management is the choice of management techniques

A proactive strategy begins long before technical work is initiated. Potential risks are identified, their probability and impact are assessed, and they are ranked by importance. Then, the software team establishes a plan for managing risk.

Steps for risk management are followed

Primary objective is to avoid risk

Page 57: Project management chapter_04 for MSBTE

Risk Categorization

Project risks They threaten the project plan If they become real, it is likely that the project

schedule will slip and that costs will increase

Technical risks They threaten the quality and timeliness of the

software to be produced If they become real, implementation may become

difficult or impossible

Business risks They threaten the viability of the software to be

built If they become real, they jeopardize the project or

the product

Page 58: Project management chapter_04 for MSBTE

Sub-categories of Business risks

Market risk – building an excellent product or system that no one really wants

Strategic risk – building a product that no longer fits into the overall business strategy for the company

Sales risk – building a product that the sales force doesn't understand how to sell

Management risk – losing the support of senior management due to a change in focus or a change in people

Budget risk – losing budgetary or personnel commitment

Page 59: Project management chapter_04 for MSBTE

Known risks Those risks that can be uncovered after careful

evaluation of the project plan, the business and technical environment in which the project is being developed, and other reliable information sources (e.g., unrealistic delivery date)

Predictable risks Those risks that are extrapolated from past

project experience (e.g., past turnover)

Unpredictable risks Those risks that can and do occur, but are

extremely difficult to identify in advance

Page 60: Project management chapter_04 for MSBTE

The Principles of Risk Management

1.Global Perspective: In this we look at the larger system definitions, design and implementation. We look at the opportunity and the impact the risk is going to have .

2.Forward Looking View: Looking at the possible uncertainties that might creep up. We also think for the possible solutions for those risks that might occur in the future.

3.Open Communication: This is to enable the free flow of communication between in the customers and the team members so that they have clarity about the risks.

Page 61: Project management chapter_04 for MSBTE

4.Integrated management: In this phase risk management is made an integral part of project management.

5.Continous process :In this phase the risks are tracked continuously throughout the risk management paradigm.

6.Encourage Teamwork: The talents, skills and knowledge of all stakeholders should be pooled when risk management activities are conducted

Page 62: Project management chapter_04 for MSBTE

Risk identification Risk identification is a systematic attempt to specify threats to

the project plan (estimates, schedule, resource loading, etc.).

Product size—risks associated with the overall size of the software to be built or modified.

Business impact—risks associated with constraints imposed by management or the marketplace.

Customer characteristics—risks associated with the sophistication of the customer and the developer's ability to communicate with the customer in a timely manner.

Process definition—risks associated with the degree to which the software process has been defined and is followed by the development organization.

Page 63: Project management chapter_04 for MSBTE

Development environment—risks associated with the availability and quality of the tools to be used to build the product.

Technology to be built—risks associated with the complexity of the system to be built and the "newness" of the technology that is packaged by the system.

Staff size and experience—risks associated with the overall technical and project experience of the software engineers who will do the work.

Page 64: Project management chapter_04 for MSBTE

Risk Components

Performance risk—the degree of uncertainty that the product will meet its requirements and be fit for its intended use.

Cost risk—the degree of uncertainty that the project budget will be maintained.

Support risk—the degree of uncertainty that the resultant software will be easy to correct, adapt, and enhance.

Schedule risk—the degree of uncertainty that the project schedule will be maintained and that the product will be delivered on time.

Page 65: Project management chapter_04 for MSBTE
Page 66: Project management chapter_04 for MSBTE

RISK PROJECTION

The project planner, along with other managers and technical staff, performs four risk projection activities:

(1) establish a scale that reflects the perceived likelihood of a risk

(2) Describe the consequences of the risk (3) estimate the impact of the risk on the project and the

product

(4) note the overall accuracy of the risk projection so that there will be no misunderstandings.

Page 67: Project management chapter_04 for MSBTE

Risk and Management Concern

Page 68: Project management chapter_04 for MSBTE

Building Risk Table

Page 69: Project management chapter_04 for MSBTE

Assessing Risk Impact

The following steps are recommended to determine the overall consequences of a risk:

1. Determine the average probability of occurrence value for each risk component.

2. Using table 1 (slide 10) determine the impact for each component based on the criteria shown.

3. Complete the risk table and analyze the results

The overall risk exposure, RE, is determined using the following relationship:

RE = P x C

where P is the probability of occurrence for a risk, and C is the the cost to the project should the risk occur.

Page 70: Project management chapter_04 for MSBTE

Risk Assessment

Page 71: Project management chapter_04 for MSBTE

For assessment to be useful, a risk referent level (level of performance degradation) must be defined.

In the context of software risk analysis, a risk referent level has a single point, called the referent point or break point, at which the decision to proceed with the project or terminate it (problems are just too great) are equally weighted.

Page 72: Project management chapter_04 for MSBTE

RISK MITIGATION, MONITORING, AND MANAGEMENT (RMMM)

An effective strategy must consider three issues: risk avoidance risk monitoring risk management and contingency

planning

Page 73: Project management chapter_04 for MSBTE

E.g. Computer Crash

Late delivery

Changes in requirements

Lack of Development Experience

Page 74: Project management chapter_04 for MSBTE

To mitigate the risk ,possible steps are given below :

Organize project teams so that information about each development activity is widely dispersed.

Conduct peer reviews of all work

Assign a backup staff for every assumption

Define documentation standards and establish mechanism to ensure that documents are developed in timely manner

Meet the current staff to determine causes for turnover

Page 75: Project management chapter_04 for MSBTE

Once the project commences ,assume turnover will occur

Mitigate those causes that are under our control before the project starts.

Page 76: Project management chapter_04 for MSBTE

Risk Monitoring and Control Risk monitoring and control continues

on through a project until the project is

complete. Risk monitoring and control

is the process of identifying and

analyzing new risk, keeping track of

these new risks and forming

contingency plans incase they arise.

Page 77: Project management chapter_04 for MSBTE

Risk Monitoring and Control

Risk monitoring and control is required in order to:

Ensure the execution of the risk plans

evaluate their effectiveness in reducing risk.

Keep track of the identified risks

Page 78: Project management chapter_04 for MSBTE

In case of high staff turnover, the following factors can be monitored:

1. General attitude of team members based on project pressures

2.The degree to which the team has jelled (begin to work well)

3. Interpersonal relationships among team members

4. Potential problems with compensation and benefits

Page 79: Project management chapter_04 for MSBTE

Change Management

Page 80: Project management chapter_04 for MSBTE

Also called software configuration management (SCM)

It is an umbrella activity that is applied throughout the software process

It's goal is to maximize productivity by minimizing mistakes caused by confusion when coordinating software development

SCM identifies, organizes, and controls modifications to the software being built by a software development team

Page 81: Project management chapter_04 for MSBTE

SCM activities are formulated to

identify change, control change, ensure that change is being properly implemented, and report changes to others who may have an interest

SCM is initiated when the project begins and terminates when the software is taken out of operation

Page 82: Project management chapter_04 for MSBTE

Software Configuration

The Output from the software process makes up the software configuration Computer programs (both source code files and

executable files) Work products that describe the computer programs

(documents targeted at both technical practitioners and users)

Data (contained within the programs themselves or in external files)

The major danger to a software configuration is change First Law of System Engineering: "No matter where

you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle"

Page 83: Project management chapter_04 for MSBTE

Origins of Software Change Errors detected in the software need to be corrected

New business or market conditions dictate changes in product requirements or business rules

New customer needs demand modifications of data produced by information systems, functionality delivered by products, or services delivered by a computer-based system

Reorganization or business growth/downsizing causes changes in project priorities or software engineering team structure

Budgetary or scheduling constraints cause a redefinition of the system or product

Page 84: Project management chapter_04 for MSBTE

SCM Scenario

A typical CM operational scenario involves :

Project manager -> an auditing mechanism for ensuring the product is developed within certain time frame.

SCM manager -> a controlling, tracking, and policy making mechanism

Software engineer -> a changing, building, and access control mechanism

Customer -> a quality assurance and product identification mechanism

Page 85: Project management chapter_04 for MSBTE

Elements of CM

Component Elements (set of tools coupled within a file management system e.g. database that enable access to and software configuration items)

Process Elements ( a collection of procedures and tasks that define an effective approach to change managements)

Construction Elements ( a set of tools that automate the construction of software)

Human Elements ( software team uses set of tools and process features)

Elements are not mutually exclusive

Page 86: Project management chapter_04 for MSBTE

Have you established a baseline yet?

Page 87: Project management chapter_04 for MSBTE

Baseline

“A specification or product that has been formally reviewed and agreed to by responsible management, that thereafter serves as the basis for further development, and can be changed only through formal change control procedures.”

Page 88: Project management chapter_04 for MSBTE

As systems are developed, a series of baselines is developed, usually after a review

Developmental baseline (RAD, SDD, Integration Test, ...)

Goal: Coordinate engineering activities. Functional baseline (first prototype, alpha

release, beta release) Goal: Get first customer experiences with

functional system. Product baseline (product)

Goal: Coordinate sales and customer support.

Page 89: Project management chapter_04 for MSBTE

Configuration items

“An aggregation of hardware, software, or both, that is designated for configuration management and treated as a single entity in the configuration management process.”

Software configuration items are not only program code segments but all type of documents that are produced during development, e.g.:

all types of code files drivers for tests analysis or design documents user or developer manuals system configurations (e.g. version of compiler

used)

Page 90: Project management chapter_04 for MSBTE

The SCM Repositories Problems with paper-based repositories (i.e., file cabinet

containing folders)

Finding a configuration item when it was needed was often difficult

Determining which items were changed, when and by whom was often challenging

Constructing a new version of an existing program was time consuming and error prone

Describing detailed or complex relationships between configuration items was virtually impossible

Today's automated SCM repository

It is a set of mechanisms and data structures that allow a software team to manage change in an effective manner

It acts as the center for both accumulation and storage of software engineering information

Software engineers use tools integrated with the repository to interact with it

Page 91: Project management chapter_04 for MSBTE

Automated SCM Repository

FunctionsData integrityInformation sharingTool integrationData integrationMethodology enforcementDocument standardization

Versioning

Dependencytracking

Changemanagement

Requirementstracing

Configurationmanagement

Audittrails

SCM Repository

Page 92: Project management chapter_04 for MSBTE

Functions of an SCM Repository Data integrity

Validates entries, ensures consistency, cascades modifications

Information sharing Shares information among developers and tools,

manages and controls multi-user access Tool integration

Establishes a data model that can be accessed by many software engineering tools, controls access to the data

Data integration Allows various SCM tasks to be performed on one or

more CSCIs Methodology enforcement

Defines an entity-relationship model for the repository that implies a specific process model for software engineering

Document standardization Defines objects in the repository to guarantee a

standard approach for creation of software engineering documents

Page 93: Project management chapter_04 for MSBTE

Toolset Used on a Repository Versioning

Save and retrieve all repository objects based on version number

Dependency tracking and change management Track and respond to the changes in the state and relationship

of all objects in the repository

Requirements tracing (Forward tracing) Track the design and construction

components and deliverables that result from a specific requirements specification

(Backward tracing) Identify which requirement generated any given work product

Configuration management Track a series of configurations representing specific project

milestones or production releases

Audit trails Establish information about when, why, and by whom changes

are made in the repository

Page 94: Project management chapter_04 for MSBTE

Primary Objectives of the SCM Process

Identify all items that collectively define the software configuration

Manage changes to one or more of these items

Facilitate construction of different versions of an application

Ensure the software quality is maintained as the configuration evolves over time

Provide information on changes that have occurred

Page 95: Project management chapter_04 for MSBTE

SCM Questions

How does a software team identify the discrete elements of a software configuration?

How does an organization manage the many existing versions of a program (and its documentation) in a manner that will enable change to be accommodated efficiently?

How does an organization control changes before and after software is released to a customer?

Who has responsibility for approving and ranking changes?

How can we ensure that changes have been made properly?

What mechanism is used to appraise others of changes that are made?

Page 96: Project management chapter_04 for MSBTE

Clean room Software Engineering Clean room combines formal

methods of requirements and design with statistical usage testing to produce software with nearly none or no defects.

Page 97: Project management chapter_04 for MSBTE

What is Clean room Software Engineering? Set of principles and practices for

software management, specification, design, and testing. Improve quality Increase productivity Reduce cost

Emphasis on defect prevention rather than defect removal.

Page 98: Project management chapter_04 for MSBTE

Clean room Software Engineering Clean room combines formal

methods of requirements and design with statistical usage testing to produce software with nearly none or no defects.

Page 99: Project management chapter_04 for MSBTE

Clean room Strategy

Increment planning. The project plan is built around the

incremental strategy.

Requirements gathering. Customer requirements are elicited and

refined for each increment using traditional methods.

Box structure specification. Box structures isolate and separate the

definition of behavior, data, and procedures at each level of refinement.

Page 100: Project management chapter_04 for MSBTE

Formal design. Specifications (black-boxes) are iteratively

refined to become architectural designs (state-boxes) and component-level designs (clear boxes).

Correctness verification. Correctness questions are asked and

answered, formal mathematical verification is used as required.

Page 101: Project management chapter_04 for MSBTE

Code generation, inspection, verification. Box structures are translated into program

language; inspections are used to ensure conformance of code and boxes, as well as syntactic correctness of code; followed by correctness verification of the code.

Statistical test planning. A suite of test cases is created to match the

probability distribution of the projected product usage pattern.

Page 102: Project management chapter_04 for MSBTE

Statistical use testing. A statistical sample of all possible test

cases is used rather than exhaustive testing.

Certification. Once verification, inspection, and usage

testing are complete and all defects removed, the increment is certified as ready for integration.

Page 103: Project management chapter_04 for MSBTE

Benefits

Delivers a high quality product that is verified as being correct.

Errors are found early on in the project Due to majority of project time spent in

the design phase. Leads to lower overall costs and

reduces time spent finding errors. Reduces the overall project time

Page 104: Project management chapter_04 for MSBTE