Global systems technology inc
This presentation is the property of its rightful owner.
Sponsored Links
1 / 123

Global Systems Technology, Inc. PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on
  • Presentation posted in: General

Global Systems Technology, Inc. Understanding the Repeatable Level of Process Maturity. SOFTWARE QUALITY ASSURANCE. SOFTWARE PROJECT TRACKING AND OVERSIGHT. REQUIREMENTS MANAGEMENT. SOFTWARE PROJECT PLANNING. SOFTWARE SUBCONTRACT MANAGEMENT. SOFTWARE CONFIGURATION MANAGEMENT.

Download Presentation

Global Systems Technology, Inc.

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Global systems technology inc

Global Systems Technology, Inc.

Understanding the

Repeatable Level

of Process Maturity

SOFTWARE

QUALITY

ASSURANCE

SOFTWARE

PROJECT

TRACKING

AND OVERSIGHT

REQUIREMENTS

MANAGEMENT

SOFTWARE

PROJECT

PLANNING

SOFTWARE

SUBCONTRACT

MANAGEMENT

SOFTWARE

CONFIGURATION

MANAGEMENT


Global systems technology inc

Process discipline is in

place to repeat earlier

project successes

It worked,

It worked.

Global Systems Technology, Inc.

Repeatable Level Overview

  • 6 Key Process Areas

    • Requirements Management

    • Project Planning

    • Project Tracking and Oversight

    • Subcontract Management

    • Software Quality Assurance

    • Configuration Management

  • Focus is on the project

  • Project management processes are established to track cost, schedule, and functionality

  • Discipline is in place to repeat earlier successes


Moving from level 1 to level 2

Global Systems Technology, Inc.

Moving from Level 1 to Level 2

  • At Level 1, an organization gets the job done by the skill and efforts of individuals

  • At Level 2, a software project management system is in place and used throughout the organization

  • The Level 2 organization sets expectations via management policies and directives

  • Level 2 projects have disciplined processes, but they are often not common processes


Global systems technology inc1

SOFTWARE

PROJECT

PLANNING

SOFTWARE

PROJECT

TRACKING

AND OVERSIGHT

SOFTWARE

SUBCONTRACT

MANAGEMENT

SOFTWARE

QUALITY

ASSURANCE

SOFTWARE

CONFIGURATION

MANAGEMENT

REQUIREMENTS

MANAGEMENT

Global Systems Technology, Inc.

Repeatable Level of Process Maturity

  • The Repeatable Level Key Process Areas (KPAs) are all interrelated and tied together to provide the fundamental needs of a cohesive Project Management Capability.

  • As a group, the Repeatable Level KPAs provide a basis for building and managing a common software engineering process.


The project management system is in place

Global Systems Technology, Inc.

The Project Management System Is In Place

  • The process of building software is a series of black boxes with defined checkpoints (milestones).

  • The predominant need is to establish effective software project management

  • Software project management processes are documented and followed

  • Organizational policies guide the projects in establishing management processes

  • Successful practices developed on earlier projects can be repeated


Requirements management rm

You

Client

Global Systems Technology, Inc.

Requirements Management (RM)

  • Purpose is to establish a common understanding (agreement) between the customer and the software project of the customer’s requirements that will be addressed

  • Involves

    • document and control of customer specified requirements

    • Developing a mutual understanding of requirements (both technical and non technical)

    • plans, products and activities to be kept consistent with the requirements


Global systems technology inc

Global Systems Technology, Inc.

  • Agreement forms the basis for:

    • estimating

    • planning

    • performing

    • tracking

  • Changes to requirements are documented and controlled.

  • Management reviews project commitments before project initiation.

  • Changes to system requirements drive changes in the project plan, estimate, and activities.


Global systems technology inc

Global Systems Technology, Inc.

Requirements Management Goals

  • Goal 1: System Requirements allocated to software are controlled to establish a baseline for software engineering and management.

  • Goal 2: Software plans, products, and activities are kept consistent with the system requirements allocated to software


What does the cmm mean by requirements

Global Systems Technology, Inc.

What Does the CMM Mean by Requirements?

system

engineering

end user

customer

requirements

system requirements

not allocated to software

customer

system requirements

allocated to software

other

groups

software

engineering


What does the cmm mean by requirements1

Global Systems Technology, Inc.

What Does the CMM Mean by Requirements?

User and

Customer

Needs

CMM Point of Control

System

Requirements

Requirements

Allocated to

Software

Client determines what his functional need is, and defines that need in the context of operational change in the organization. Needs are understood by the vendor.

Software

Requirements

The Client and the vendor agree on what is required to satisfy the business needs that have been identified. Stated in terms of what the system must do. (Performance and Functionality)

The functionality that is to be satisfied by the software is “allocated” to the software project for development of that segment of the system.

The allocated require-ments are restated in terms of what software must do to achieve the desired functionality.


What is meant by customer

Global Systems Technology, Inc.

What Is Meant by Customer?

  • Customers may be external or internal:

    • systems engineering

    • marketing

    • Operations

  • The customer and/or end user identifies the problem that software will address


Software requirements versus allocated requirements

Global Systems Technology, Inc.

Software Requirements Versus Allocated Requirements

  • The scope of Requirements Management is control of the requirements allocated to software

  • Software requirements are not the same as requirements allocated to software

  • Requirements allocated to software come from systems engineering

  • Software requirements are derived from requirements allocated to software


Requirements are documented

Global Systems Technology, Inc.

Requirements are Documented

  • The system requirements assigned to software engineering must be documented

  • Documenting system requirements can be as simple as a memo or as elaborate as a multi-volume specification

  • If requirements change, the changes must be documented and all resulting necessary changes in other documents must be tracked and verified.


Requirements management activities

Global Systems Technology, Inc.

Requirements Management Activities

  • Activity 1: The software engineering group reviews the allocated requirements (allocated requirements to software) before they are incorporated into the software project.

  • Activity 2: The software engineering group uses the allocated requirements as the basis for software plans, work products, and activities. (Project activities are based on requirements.)

  • Activity 3: Changes to the allocated requirements are reviewed and incorporated into the software project. (CMM recognizes change will happen)


Summarizing requirements management

Global Systems Technology, Inc.

Summarizing Requirements Management

Prepare

Do

Measure

Requirements

allocated to

software are

reviewed by

software

engineers

Commitments

In place

Organization

Has the

Ability

Measurements

Verifying

implementation

Requirements

allocated to

software are

used as basis for

software project

plans, products,

and activities

Changes to

allocated

requirements are

reviewed and

incorporated


Barriers to requirements management

Global Systems Technology, Inc.

Barriers to Requirements Management

  • Requirements will change

  • Insufficient domain knowledge of developer

  • Insufficient understanding of “software systems” by the client

  • Insufficient time analyzing the client needs (vs what the client states as what he wants)

  • Customers do not always want to document the requirements

  • Requirements change without proper approval

    • customer changes

    • staff changes


Global systems technology inc

Global Systems Technology, Inc.

Software Project

Planning (SPP)

Establish

Commitments

Define Plan

Project

Develop Estimates


Software project planning pp spp

Global Systems Technology, Inc.

Software Project Planning (PP, SPP)

  • Purpose is to establish reasonableplans for performing the software engineering and for managing the software project

  • Involves

    • developing estimates for the work to be performed

    • establishing the necessary commitments (such as the contract with the client)

    • defining the plan to perform the work


Software project planning pp spp goals

Global Systems Technology, Inc.

Software Project Planning (PP, SPP) Goals

  • Goal 1: Software Estimates are documented for use in planning and tracking the software project.

  • Goal 2: Software project activities and commitments are planned and documented.

  • Goal 3: Affected groups and individuals agree to their commitments related to the software project


Global systems technology inc

Global Systems Technology, Inc.

  • A project software manager is designated to be responsible (and has authority and accountability) for negotiating commitments and developing the project’s software development plan.

Commitment

to Perform

Customer

Needs

Project

Plan

WHY IS THIS IMPORTANT?


Managing based on a plan

Global Systems Technology, Inc.

Managing Based on a Plan

  • The plan provides the basis for initiating the software effort and managing the work.

  • Common names for this plan include:

    • Software Development Plan

    • Software Project Management Plan

    • Software Project Plan

    • Project Management Plan

    • Software Engineering Management Plan

  • Plans should be tailored to the needs of the project, but also comply with organizational requirements.


Packagin g the software project plan

Global Systems Technology, Inc.

Packaging the Software Project Plan

  • All-in-One plan or separate plans which include:

    • Software Development Plan

    • Software Quality Assurance Plan

    • Software Configuration Management Plan

    • Project Training Plan

    • Software Test Plan

    • Risk Management


What is in a software development plan

Global Systems Technology, Inc.

What is in a Software Development Plan?

  • A software development plan specifies many or all of the following:

    • the project’s chosen software life cycle model

    • a list of the products to be developed

    • criteria for peer reviews

    • estimates for level of effort (number of people (and skills), cost, schedules, etc.)

    • facilities, support tools, and hardware

    • project risks


Plans are based on estimates

Global Systems Technology, Inc.

Plans Are Based on Estimates

  • In creating estimates for size, effort, cost, schedule, and/or computer resources:

    • historical data is used, when available

    • assumptions and estimates are documented

  • Good estimating depends on the experience, skills, and judgment of the estimator.


Software project planning pp spp activities

Global Systems Technology, Inc.

Software Project Planning (PP, SPP) Activities

  • Activity 1: The software engineering group participates on the project proposal team .

  • Activity 2: Software project planning is initiated in the early stages of, and in parallel with, the overall project plan.

  • Activity 3: The software engineering group participates with the other affected groups in the overall project planning throughout the project’s life.

  • Activity 4: Software project commitments made to individuals and groups external to the organization are reviewed with senior management according to a documented procedure.

  • Activity 5: A software lifecycle with predefined stages of manageable size is identified or defined.


Software project planning pp spp activities1

Global Systems Technology, Inc.

Software Project Planning (PP, SPP) Activities

  • Activity 6: The project’s software development plan is developed according to a documented procedure.

  • Activity 7: The plan for the software project is documented.

  • Activity 8: Software work products that are needed to establish and maintain control of the software project are identified.

  • Activity 9-11: Estimates are derived according to a documented procedure. Estimates include:

    • Size of the software work products

    • Efforts (time to complete project activities) and cost

    • Critical computer resources

  • Activity 12: The projects software schedule is derived according to a documented procedure.


Software project planning pp spp activities2

Global Systems Technology, Inc.

Software Project Planning (PP, SPP) Activities

  • Activity 13: The software risks associated with the cost, resources, schedule, and technical aspects of the project are identified, assessed, and documented.

  • Activity 14: Plans for the project’s software engineering facilities and support tools are prepared.

  • Activity 15: Software planning data recorded.

    Caution!Why do you want to record the data that is used to establish the project plan? After all, you have the plan.

    When should you change your project plan?


Summarizing project planning

Global Systems Technology, Inc.

Summarizing Project Planning

Prepare

Do

Measure

Participate on the proposal effort ensure that software requirements are appropriately understood.

Commitments

In place

Organization

Has the

Ability

Measurements

Verifying

implementation

Plan software project (estimates, efforts, tools, risks, schedule, facilities, and critical resources).

Establish external commitments, approved by management

Maintain data used as basis of planning


Barriers to software project planning

Global Systems Technology, Inc.

Barriers to Software Project Planning

  • Planning takes time - - and commitment

  • Lack of specific domain knowledge or experience

  • Uncertainty of the ability of the resources to be applied

  • Estimating takes experience and data

  • Unrealistic demands or expectations

    • Organizational Management

    • Customer


Software project tracking and oversight pt pto

Global Systems Technology, Inc.

Software Project Tracking and Oversight (PT, PTO)

Actual

Performance

This is the desired state

Planned

Performance

1.

=

=

Actual

Performance

When this, corrective action

Planned

Performance

2.


Software project tracking and oversight pt pto1

Global Systems Technology, Inc.

Software Project Tracking and Oversight (PT, PTO)

  • Purpose of Software Project Tracking and Oversight is to provide adequate visibility into actual progress so that management can take effective actions when software project’s performance deviates significantly from the plan.

  • Involves

    • adjusting plans based on actual accomplishments and results

    • tracking and reviewing software accomplishments and results and comparing the results against documented estimates, commitments, and plans.


Software project tracking and oversight pt pto goals

Global Systems Technology, Inc.

Software Project Tracking and Oversight (PT, PTO) Goals

  • Goal 1: Actual results and performance are tracked against the software plans.

  • Goal 2: Corrective actions are taken and managed to closure when actual results and performance deviate significantly from the software plans.

  • Goal 3: Changes to software commitments are agreed to by the affected groups and individuals.


Manage to a plan

Global Systems Technology, Inc.

Manage to a Plan

  • Progress is tracked against plans and specifications, including:

    • product size

    • project effort, cost, and schedule

    • activities

    • Risks

  • Mechanisms to track progress against plans include both internal reviews and formal reviews with the customer.


Taking corrective action

Global Systems Technology, Inc.

Taking Corrective Action

  • If, and when, discrepancies between plans and actual progress occur, a judgment must be made about whether to:

    • change the way the work is being done, or

    • adjust the plan

  • This judgment results in corrective action to determine the root cause of the required changes

  • Archives of original and adjusted plans should be kept


Software project tracking and oversight pto spto activities

Global Systems Technology, Inc.

Software Project Tracking and Oversight (PTO, SPTO) Activities

  • Activity 1: The documented software development plan is used for tracking the software activities and communicating status.

  • Activity 2: The project’s software development plan is revised according to a documented procedure.

  • Activity 3: Software project commitments and changes to commitments made to individuals and groups external to the organization are reviewed with senior management according to a documented procedure.

  • Activity 4: Approved changes to commitments that affect the software project are communicated to the members of the software engineering group and other software-related groups.


Software project tracking and oversight pto spto activities1

Global Systems Technology, Inc.

Software Project Tracking and Oversight(PTO, SPTO) Activities

  • Activity 5-10: Project attributes that have been documented in the plan are tracked and corrective actions are taken, as necessary (to maintain consistency between actuals and plan). These attributes are:

    • Size of software work products (or changes)

    • Effort and costs

    • Critical computer resources

    • Project scheduled milestones

    • Software engineering activities

    • Project risks associated with cost, resource, schedule, and technical aspects

  • Activity 11: Actual measurement data and replanning data for the software project are recorded.


Software project tracking and oversight pto spto activities2

Global Systems Technology, Inc.

Software Project Tracking and Oversight (PTO, SPTO) Activities

  • Activity 12: The software engineering group conducts periodic internal reviews to track technical progress, plans, performance, and issues against the software development plan.

  • Activity 13: Formal reviews to address the accomplishments and results of the software project are conducted at selected project milestones according to a documented procedure.

    Caution!What is a “formal” review? Where in a project would

    you expect to have a “formal” review?

    How often should the project plan be changed?


Summarizing project tracking and oversight

Global Systems Technology, Inc.

Summarizing Project Tracking and Oversight

Prepare

Do

Measure

Compare the projects actual results to the documented software development and project plans.

Commitments

In place

Organization

Has the

Ability

Measurements

Verifying

implementation

Conduct internal reviews, determine actuals, and conduct formal reviews to maintain relevance to objectives.

Changes happen, drive changes to planning and commitments.

Maintain data used for the basis of changes and corrective actions


Barriers to project tracking and oversight

Barriers to Project Tracking and Oversight

Global Systems Technology, Inc.

  • Plans may not be realistic

  • Manager may not be adequately trained

  • When fighting one set of fires, it is difficult to be proactive in preventing the next set

  • Too busy working. No time to manage

  • Rework happens

  • Customer intervention


Software subcontract management

Software Subcontract Management

Global Systems Technology, Inc.

  • Selecting a software subcontractor, establishingcommitments with the subcontractor, and tracking and reviewingperformance of the subcontractor.

Your Sub

contractor

You


Software subcontract management ssm

2

5

2

0

1

5

1

0

5

0

1

1

s

s

t

t

2

2

n

n

d

d

3

3

r

r

d

d

4

4

t

t

h

h

Q

Q

t

t

r

r

Q

Q

t

t

r

r

Q

Q

t

t

r

r

Q

Q

t

t

r

r

Global Systems Technology, Inc.

Software Subcontract Management (SSM)

2

Subcontract

Commitment

1

3

6

4

Product

5


Software subcontract management ssm1

Global Systems Technology, Inc.

Software Subcontract Management (SSM)

  • Purpose of Software Subcontract Management is to select qualified software subcontractors and manage them effectively.

  • Involves:

    • selecting a software subcontractor

    • establishing commitments with the subcontractor

    • tracking and reviewing the subcontractor’s performance and results


Software subcontract management ssm goals

Global Systems Technology, Inc.

Software Subcontract Management (SSM) Goals

  • Goal 1: The prime contractor selects qualified software subcontractors

  • Goal 2: The prime contractor and the software subcontractor agree to their commitments to each other

  • Goal 3: The prime contractor and the software subcontractor maintain ongoing communications

  • Goal 4: The prime contractor tracks the software subcontractor’s actual results and performance against its commitments


Prime versus subcontractor

Global Systems Technology, Inc.

Prime Versus Subcontractor

  • The Prime Contractor is the organization responsible for building a system

  • The prime contractor may contract out part of the work to another contractor, the subcontractor

  • Performance of the prime contractor may critically depend on the performance of the subcontractor


Planning for subcontracts

Global Systems Technology, Inc.

Planning for Subcontracts

  • In selecting and managing subcontractors, prime contractors must perform activities additional tothe ordinary project management effort:

    • specify the work to be performed and the procedures to be followed by the subcontract

      • statements of work

      • requirements

      • products to be delivered

      • standards

      • procedures

    • specify criteria for selecting and evaluating subcontractors


Selecting subcontractors

Global Systems Technology, Inc.

Selecting Subcontractors

  • The qualifications of a subcontractor may depend on many factors

    • process capability

    • software engineering expertise

    • application domain knowledge

  • Strategic business alliance

  • Achieve corporate goals, meet commitments


Managing subcontracts

Global Systems Technology, Inc.

Managing Subcontracts

  • The prime contractor must managethe subcontract

    • ensure subcontractors follow agreed to software development plans, standards, and procedures

    • track progress via

      • periodic technical and formal reviews

      • monitor the subcontractor’s SQA activities

      • monitor software configuration management by the subcontractor

  • The subcontract is an extension of the project, just as if it was a group within the organization, and must be managed accordingly.


What about commercial off the shelf cots

Global Systems Technology, Inc.

What About Commercial-Off-the-Shelf (COTS)?

  • COTS items and non-developmental items (NDI) are not explicitly addressed in the CMM

  • Planning for COTS is mentioned in Activity 6 of Integrated Software Management: “Off-the-shelf or reusable software components are identified.”

  • Acceptance testing aspects of Software Subcontract Management should be used for COTS product evaluations


Software subcontract management sm ssm activities

Global Systems Technology, Inc.

Software Subcontract Management (SM, SSM) Activities

  • Activity 1: The work to be subcontracted is defined and planned according to a documented procedure.

  • Activity 2: The software subcontractor is selected based on an evaluation of the subcontract bidders’ ability to perform the work, according to a documented procedure.

  • Activity 3: The contractual agreement between the prime contractor and the software subcontractor is used as the basis for managing the subcontract.

  • Activity 4: A documented subcontractor’s software development plan is reviewed and approved by the prime contractor.


Software subcontract management sm ssm activities1

Global Systems Technology, Inc.

Software Subcontract Management (SM, SSM) Activities

  • Activity 5: A documented and approved subcontractor’s software development plan is used for tracking the software activities and communication status.

  • Activity 6: Changes to the software subcontractor’s statement of work subcontract terms and conditions, and other commitments are resolved according to a documented procedure.

  • Activity 7: The prime contractor’s management conducts periodic status/coordination reviews with the subcontractor’s management.

  • Activity 8: Periodic technical reviews and interchanges are held with the software subcontractor.


Software subcontract management sm ssm activities2

Global Systems Technology, Inc.

Software Subcontract Management (SM, SSM) Activities

  • Activity 9: Formal reviews to address the subcontractor’s software engineering accomplishments and results are conducted at selected milestones according to a documented procedure.

  • Activity 10: The prime contractor’s software quality assurance group monitors the subcontractor’s software quality assurance activities according to a documented procedure.

  • Activity 11: The prime contractor’s software configuration management group monitors the subcontractor’s software configuration management activities according to a documented procedure.


Software subcontract management sm ssm activities3

Global Systems Technology, Inc.

Software Subcontract Management (SM, SSM) Activities

  • Activity 12: The prime contractor conducts acceptance testing as part of the delivery of the subcontractor’s software products according to a documented procedure.

  • Activity 13: The software subcontractor’s performance is evaluated on a periodic basis, and the evaluation is reviewed with the subcontractor.

    Caution!The subcontractor is an extension of the capability of the prime contractor. The subcontractor CMM activities parallel the organization’s activities for their own software projects.


Summarizing subcontract management

Global Systems Technology, Inc.

Summarizing Subcontract Management

Prepare

Do

Measure

The work to be subcontracted is planned and documented. subcontractor is selected

Commitments

In place

Organization

Has the

Ability

Measurements

Verifying

implementation

Prime contractor and subcontractor reach a mutual understanding as to the work to be performed.

Prime and subcontractor maintain communications and work is monitored by informal and formal reviews

Subcontractor performance is evaluated by the prime contractor.


Barriers to software subcontract management

Global Systems Technology, Inc.

Barriers to Software Subcontract Management

  • Difference between prime and subcontractor

    • organization vernacular

    • organizational culture

    • proprietary information

  • Lack of communication

  • Oversight perceived as meddling

  • Promotion of technical staff without appropriate training


Global systems technology inc

Global Systems Technology, Inc.

Software Quality Assurance (SQA)

  • Provide management with appropriatevisibility into the process being used by the software project and of the products being built.


Global systems technology inc

Global Systems Technology, Inc.

Software Quality Assurance (SQA)

Review

&

Audit

Management

Visibility

Software Products

Verify

Compliance

Corrective

Actions

& Activities


Software quality assurance qa sqa

Global Systems Technology, Inc.

Software Quality Assurance (QA, SQA)

  • Purpose is to provide management with appropriate visibility in the process being used and the products being built

  • Involves:

    • reviewing and auditing the software products and activities to ensure that they conform to the applicable procedures and standards

    • providing the software project and other appropriate managers with the results of those reviews and audits


Global systems technology inc

Global Systems Technology, Inc.

Software Quality Assurance Goals

  • Goal 1: Software quality assurance activities are planned.

  • Goal 2: Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively.

  • Goal 3: Affected groups and individuals are informed of software quality assurance activities and results.

  • Goal 4: Noncompliance issues that cannot be resolved within the software project are addressed by senior management.


Sqa role

Global Systems Technology, Inc.

SQA Role

  • The value of SQA is that it provides an independent view of the project’s progress - both of process implementation and utilization and product development

  • SQA serves as the “eyes and ears” of management , and serves as risk mitigation activity by identifying deviation from the project plan so timely corrective action can be taken

  • Almost every key process area contains SQA practices in Verifying Implementation


Resolving noncompliance

Global Systems Technology, Inc.

Resolving Noncompliance

  • Make the product or process satisfy the agreed to standard, procedure or requirement

  • Make and document a decision, at the appropriate level, not to satisfy the standard, procedure, or requirement

  • Change the standard, procedure or requirement to make it usable for the given circumstance


Independent versus objective

Global Systems Technology, Inc.

Independent Versus Objective

  • Commitment 1, Sub practice 2 (“The SQA group has an independent reporting channel to senior management) indicates that an independent SQA group is normally expected

  • Goal 2 of SQA (verify adherence objectively) provides latitude in defining SQA

  • Without an independent SQA group, how does the organization demonstrate objective means of adherence?


Sqa evolves

Global Systems Technology, Inc.

SQA Evolves

  • Proactive SQA functions as a value-adding member of the project team

    • SQA starts early in the project

    • SQA helps prepare and review procedures, plans and standards

  • At higher levels, the CMM provides flexibility for SQA to function pro-actively to drive improvements in the software process and product


Software quality assurance qa sqa activities

Global Systems Technology, Inc.

Software Quality Assurance (QA, SQA) Activities

  • Activity 1: The SQA plan is prepared for the software project according to a documented procedure.

  • Activity 2: The SQA group’s activities are performed in accordance with the SQA plan.

  • Activity 3: The SQA group participates in the preparation and review of the project’s software development plan, standards, and procedures.

  • Activity 4: The SQA group reviews the software engineering activities to verify compliance.

  • Activity 5: The SQA group audits designated software work products to verify compliance.


Software quality assurance qa sqa activities1

Global Systems Technology, Inc.

Software Quality Assurance (QA, SQA) Activities

  • Activity 6: The SQA group periodically reports the results of its activities the the software engineering group.

  • Activity 7: Deviations identified in the software activities and software work products are documented and handled according to a documented procedure.

  • Activity 8: The SQA group conducts periodic reviews of its activities and findings with the customer’s SQA personnel, as appropriate.

    Caution!The CMM is a model, and the word “group” is not intended to imply any constraint on the way the organization staffs and accomplishes the SQA, or any other, function.


Summarizing quality assurance

Global Systems Technology, Inc.

Summarizing Quality Assurance

Prepare

Do

Measure

Software Quality Assurance activities are planned with the other activities of the project .

Commitments

In place

Organization

Has the

Ability

Measurements

Verifying

implementation

Software Quality Assurance activities are conducted according to the SQA plan.

The results of the Software Quality Assurance activities are reported to the appropriate group or persons.

Deviations that are identified are resolved accordingly.


Barriers to software quality assurance

Global Systems Technology, Inc.

Barriers to Software Quality Assurance

  • Disbelief in the value of SQA

  • Standards and procedures that don’t add value

  • Lack of respect of SQA by the software engineering group

  • Unqualified SQA staff members

  • Shoot the messenger


Global systems technology inc

Global Systems Technology, Inc.

Software Configuration Management (SCM)

  • Establish and maintain the integrity of the products of the software project throughout the project’s software lifecycle.

Currently

defined and

approved

requirements

Product

specification

and Design

Final product

characteristics

=

=


Global systems technology inc

Global Systems Technology, Inc.

Software Configuration

Management (SCM)

Identify

Configuration

Project

Life Cycle

Configuration

Change Control

Maintain Integrity

& Traceability


Global systems technology inc

Global Systems Technology, Inc.

  • Goal 1: Software configuration management activities are planned.

  • Goal 2: Selected software work products are identified, controlled, and available.

  • Goal 3: Changes to identified software work products are controlled.

  • Goal 4: Affected groups and individuals are informed of the status and content of software baselines.

Software Configuration Management (SCM)

Goals


Software configuration management cm scm

Global Systems Technology, Inc.

Software Configuration Management (CM, SCM)

  • Purpose is to establish and maintain the integrity of the products of the software project throughout the software life cycle

  • Involves

    • identifying configuration items/units

    • systematically controlling changes

    • maintaining integrity and traceability of the configuration throughout the software life cycle


Using baselines for product control

Global Systems Technology, Inc.

Using Baselines for Product Control

  • SCM relies on baselining work products

  • A baseline is a specification or product that:

    • has been formally reviewed and agreed to

    • serves as the basis for further work

    • can be changed only through formal change control procedures (which leads to a new baseline)

  • There are three common baselines (not defined in CMM):

    • Functional Baseline (Established by requirements)

    • Allocated Baseline (Established by the high level design)

    • Product Baseline (Established by the finished code)


Using baselines for product control1

Global Systems Technology, Inc.

Using Baselines for Product Control

P

R

O

J

E

C

T

L

I

B

R

A

R

Y

Requirements

(Functional)

Design

(Allocated)

Code

(Product)

Baseline Control (Control of Product Defining Items)

Managed and Controlled

Project

Plans

Methods

Documents

Manuals

(User)

Test

Documentation

Other Work

Products

Project

Reports

What in the difference in control?


Controlling change

Global Systems Technology, Inc.

Controlling Change

  • SCM provides a stable, controlled, working environment

  • Uncontrolled change of work products is a chaotic process

  • SCM provided a “memory” of the status of work products by using version control, and baselines

  • When many individuals are working on the same product, SCM coordinates access to and change of the software work products.


Software product and software work product

Global Systems Technology, Inc.

Software Product and Software Work Product

  • Software product- the complete set, or any of the individual items of the set of computer programs, procedures, associated documentation, and data designated for delivery to a customer or end user.

  • Software work product- any artifact created as part of defining, maintaining, or using a software process including process descriptions, plans, procedures, computer programs, and associated documents, which may or may not be intended for delivery to a customer or end user.


Developmental scm

Global Systems Technology, Inc.

Developmental SCM

  • Some work products do not require the formal change control of baseline configuration management

  • Developmental SCM

    • used for non-baselined items that define the evolving configuration of a software work product during development

    • applies to software and associated documentation

    • under the direct control of the developer


Baseline versus developmental configuration management

Global Systems Technology, Inc.

Baseline Versus Developmental Configuration Management

  • In baseline CM, baselines for identified software work products are established at predetermined points.

  • In developmental CM, configuration control is exercised by the developers as they perform their work.

  • The SCM Key Process Area can be satisfied with baseline configuration management


Managed and controlled

Global Systems Technology, Inc.

Managed and Controlled

  • Some software work products do not need the formality of configuration management but do need to be placed under some form of:

    • version control

    • change control

  • This control is referred to as “managed and controlled” in the key practices.


Configuration audits

Global Systems Technology, Inc.

Configuration Audits

  • Functional Configuration Audit (FCA): Conducted to verify the configured product functions as appropriate to satisfy the agreed to requirements. Includes both functionality and performance. Generally done by tracing the requirements to the test activity.

  • Physical Configuration Audit (PCA): Conducted to verify the design and physical properties (code structure) of the software product that has successfully been tested is appropriately defined by its technical definition (documentation). Usually conducted as part of the acceptance activity.


Software configuration management cm scm activities

Global Systems Technology, Inc.

Software Configuration Management (CM, SCM) Activities

  • Activity 1: The SCM plan is prepared for the software project according to a documented procedure.

  • Activity 2: A documented and approved SCM plan is used as the basis for performing the SCM activities.

  • Activity 3: A configuration management library is established as a repository for the software baselines.

  • Activity 4: The software work products to be placed under configuration management are identified.

  • Activity 5: Change requests and problem reports for all configuration items/units are initiated, recorded, reviewed, approved, and tracked according to a documented procedure.


Software configuration management cm scm activities1

Global Systems Technology, Inc.

Software Configuration Management (CM, SCM) Activities

  • Activity 6: Changes to a baseline are controlled according to a documented procedure.

  • Activity 7: Products from the software baseline library are created and their release is controlled according to a documented procedure.

  • Activity 8: The status of configuration items/units is recorded according to a documented procedure.

  • Activity 9: Standard Reports documenting the SCM activities and the contents of the software baseline library are developed and made available to affected groups and individuals.

  • Activity 10: Software baseline audits are conducted according to a documented procedure.


Summarizing configuration management

Global Systems Technology, Inc.

Summarizing Configuration Management

Prepare

Do

Measure

The Configuration Management activities are planned and integrated into the software project.

Commitments

In place

Organization

Has the

Ability

Measurements

Verifying

implementation

The configuration items and work products that are to be controlled are identified.

The identified items are controlled, providing a consistent view and understanding of the product.

Results of Configuration Management activities are monitored and reported.


Barriers to scm

Global Systems Technology, Inc.

Barriers to SCM

  • Schedule pressure

    • fixes being incorporated as the product is going out the door

  • Lack of automated support

  • Individual’s belief that they don’t need CM


Global systems technology inc2

SOFTWARE

PROJECT

PLANNING

SOFTWARE

PROJECT

TRACKING

AND OVERSIGHT

SOFTWARE

SUBCONTRACT

MANAGEMENT

SOFTWARE

QUALITY

ASSURANCE

SOFTWARE

CONFIGURATION

MANAGEMENT

REQUIREMENTS

MANAGEMENT

Global Systems Technology, Inc.

Repeatable Level of Process Maturity Review

  • The Repeatable Level Key Process Areas (KPAs) are all interrelated and tied together to provide the fundamental needs of a cohesive Project Management Capability.

  • As a group, the Repeatable Level KPAs provide a basis for building and managing a common software engineering process.


Review of repeatable level

Global Systems Technology, Inc.

Review of Repeatable Level

  • Requirements Management

    • control of system requirements allocated to software to establish baseline

    • software plans, products and activities kept consistent with the system requirements allocated to software

  • Software Project Planning

    • estimates documented

    • plans developed and documented

    • commitments established

  • Software Project Tracking and Oversight

    • managed according to plan(s)

    • corrective actions taken

    • re-negotiates commitments and adjusts plan(s)


Review of repeatable level1

Global Systems Technology, Inc.

Review of Repeatable Level

  • Software Subcontractor Management

    • defines the work to be subcontracted

    • establishes commitment between prime and subcontractor

    • selects and monitors the subcontractor

    • maintains ongoing communication

  • Software Quality Assurance

    • plans SQA activities

    • reviews and/or audits software products and processes

    • reports results

    • escalates noncompliance issues that cannot be resolved

  • Software Configuration Management

    • plans SCM activities

    • identifies and maintains configuration items

    • systematically controls changes

    • maintains integrity and traceability of baseline throughout the software life cycle


Global systems technology inc3

Global Systems Technology, Inc.

Understanding the

Defined Level

of Process Maturity

INTEGRATED

SOFTWARE

MANAGEMENT

SOFTWARE

PROCESS

ENGINEERING

ORGANIZATION

PROCESS

DEFINITION

INTERGROUP

COORDINATION

TRAINING

PROGRAM

PEER

REVIEW

ORGANIZATION

PROCESS

FOCUS


Defined level of process maturity

Global Systems Technology, Inc.

Defined Level of Process Maturity

  • Builds on the software project management foundation

  • Processes are controlled, i.e., defined, documented, and understood

  • Outputs of one task flow smoothly into the inputs of the next task

  • Processes empower the individuals doing the work


Global systems technology inc4

SOFTWARE

PROJECT

PLANNING

SOFTWARE

PROJECT

TRACKING

AND OVERSIGHT

SOFTWARE

SUBCONTRACT

MANAGEMENT

SOFTWARE

QUALITY

ASSURANCE

SOFTWARE

CONFIGURATION

MANAGEMENT

REQUIREMENTS

MANAGEMENT

Global Systems Technology, Inc.

Defined Level of Process Maturity

INTEGRATED

SOFTWARE

MANAGEMENT

SOFTWARE

PRODUCT

ENGINEERING

TRAINING

PROGRAM

INTERGROUP

COORDINATION

PEER

REVIEW

ORGANIZATION

PROCESS

FOCUS

ORGANIZATION

PROCESS

DEFINITION


Projects are managed according to a well defined process

In

Out

Global Systems Technology, Inc.

Projects Are Managed According To A Well-Defined Process

  • Roles and responsibilities in the process are understood

  • The production of the software product is visible throughout the software process


Moving from level 2 to level 3

Global Systems Technology, Inc.

Moving from Level 2 to Level 3

  • At Level 2 the focus is on projects

  • At Level 3 the emphasis shifts to the organization

    • best practices are gathered across the organization

    • processes are tailored as appropriate

  • The organization supports the projects by establishing:

    • common processes

    • common measurements

    • training


Organization process focus pf opf

Global Systems Technology, Inc.

Organization Process Focus (PF, OPF)

  • Purpose is to establish the organizational responsibility for software process activities that improve the organization’s overall software process capability

  • Involves:

    • developing and maintaining an understanding of organization and project software processes

    • coordinating the activities to assess, develop, maintain, and improve organizational processes


Organization process focus pf opf1

Global Systems Technology, Inc.

Organization Process Focus (PF, OPF)

Your

Project’s

Documentation

(subset of

organization,

tailored to

project)

Policy

Procedure

&

Work aids

Vol. 1

Monitored and Controlled

By Management through the

SEPG

2


Organization process focus pf opf goals

Global Systems Technology, Inc.

Organization Process Focus (PF, OPF) Goals

  • Goal 1: Software process development and improvement activities are coordinated across the organization.

  • Goal 2: The strengths and weakness of the software processes are identified relative process standard.

  • Goal 3: Organizational-level process development and improvement activities are planned.


Dedicating people to process

Global Systems Technology, Inc.

Dedicating People to Process

  • A dedicated group of people is responsible for the organization’s software process activities

    • appraisals

    • software process improvement plans

  • Includes maintaining a database and providing training about the organization's software process

  • Varies with organization’s size

    • Watts Humphrey's recommendation is 4-6% of software development staff (is this realistic?)

    • Activity can be by dedicated staff or by task assignment


Dedicated groups may vary

Global Systems Technology, Inc.

Dedicated Groups May Vary

  • A Software Engineering Process Group (SEPG) is the typical means of providing a process focus for the organization.

  • Other ways of focusing on Process are possible:

    • process review boards

    • quality circles

    • process steering committees

    • software quality assurance

  • The above mechanisms may work in conjunction with, or in place of, the SEPG


Relation of opf to organization process definition pd opd

Global Systems Technology, Inc.

Relation of OPF to Organization Process Definition (PD, OPD)

  • OPF and OPD are tightly coupled

  • Organization Process Focus centers on the “who” controls and manages the process

  • Organization Process Definition focuses the “what” aspects of the documented process


Organization process focus pf opf activities

Global Systems Technology, Inc.

Organization Process Focus (PF, OPF) Activities

  • Activity 1: The software process is assessed periodically, and action plans developed to address the assessment findings.

  • Activity 2: The organization develops and maintains a plan for its software process development and improvement activities.

  • Activity 3: The organization’s and projects’ activities for developing and improving their software process are coordinated at the organization level.

  • Activity 4: The use of the organization’s software process database is coordinated at the organization level.

  • Activity 5: New processes, methods and tools in limited use in the organization are monitored, evaluated, and, where appropriate, transferred to other parts of the organization.


Organization process focus pf opf activities1

Global Systems Technology, Inc.

Organization Process Focus (PF, OPF) Activities

  • Activity 6: Training for the organization’s and projects’ processes is coordinated across the organization.

  • Activity 7: The groups involved in implementing the software processes are informed of the organization’s and projects’ activities for software process development and improvement.

Organization Process Focus deals with the

“Who” issues of organization processes


Barriers of opf

Global Systems Technology, Inc.

Barriers of OPF

  • Respect of the SEPG members

  • Dedicated resources

  • Mis-scoping the improvement effort

  • Senior management sponsorship

  • Middle management black hole

  • Skeptical staff


Organization process definition pd opd

Global Systems Technology, Inc.

Organization Process Definition (PD, OPD)

  • Purpose is to develop and maintain a usable set of software process assets that improve process performance and provide a basis for cumulative, long-term benefits

  • Involves

    • developing and maintaining the organization’s standard software process and related process assets.


Organization process definition pd opd1

Global Systems Technology, Inc.

Organization Process Definition (PD, OPD)

Procedure

&

Work aids

Vol. 1

Policy

2

Tailoring Process (Adaptation to the needs of the project)

S

T

C

E

J

O

R

P


Organization process definition pd opd goals

Global Systems Technology, Inc.

Organization Process Definition (PD, OPD) Goals

  • Goal 1: A standard software process for the organization is developed and maintained.

  • Goal 2: Information related to the use of the organization’s standard software process by the software project is collected, reviewed, and made available.


Software process assets

Global Systems Technology, Inc.

Software Process Assets

  • A collection of entities, maintained by an organization, for use by projects, in developing, tailoring, maintaining, and implementing their software practices.

  • Software process assets include:

    • descriptions of software life cycles approved for use

    • guidelines and criteria for tailoring the organization's standard software process

    • the organization's software process database

    • a library of software process-related documentation

    • the organization’s standard software process


Process building blocks

Global Systems Technology, Inc.

Process Building Blocks

  • The organization’s standard software process includes process elements for activities such as:

    • software estimating

    • design

    • coding

    • peer review

  • Process elements are described in terms of standards, procedures, templates, abstractions, etc., which can be “assembled” to form a process.


Relating process elements

Global Systems Technology, Inc.

Relating Process Elements

  • Process elements have:

    • an order in which they can be connected (perhaps more than one order)

    • interfaces

    • Interdependencies

  • These relationships are sometimes referred to as a software process architecture.

  • Many different software processes can be built using the architecture of the organization’s standard software process.


Software life cycles

Global Systems Technology, Inc.

Software Life Cycles

  • The organization may support several software life cycle models, such as:

    • waterfall

    • spiral

    • incremental

    • serial

  • The needs of the specific project should determine the life cycle model applied


Tailoring guidelines or how to use the standard software process

Global Systems Technology, Inc.

Tailoring Guidelines(or, How to use the Standard Software Process)

  • Guidelines for tailoring the organization's standard software process are available to individual projects.

  • What can be tailored out? What cannot?

  • How much can a process element be modified?

  • What parts of a process element should be considered for tailoring?


Organization s software process database measurement data

Global Systems Technology, Inc.

Organization’s Software Process Database: Measurement Data

  • A central repository for organization measurement data.

  • Contains:

    • actual measurement data (the numbers from individual projects)

    • the related information needed to understand the measurement data and to apply it to new projects.

  • This is the repository where planning and replanning data for the organization resides


Library of software process related information

Global Systems Technology, Inc.

Library of Software Process-Related Information

  • The library where “best documents” used on past projects are kept

  • Contains lessons learned reports, example documents, and fragments of documents.

  • In general, contains any documents that may be used as models or examples for future projects.


Organization process definition pd opd activities

Global Systems Technology, Inc.

Organization Process Definition (PD, OPD) Activities

  • Activity 1: The organizations standard software process is developed and maintained according to a documented procedure.

  • Activity 2: The organization’s standard software process is documented according to established organization standards.

  • Activity 3: Descriptions of software lifecycles that are approved for use by the projects are documented and maintained.

  • Activity 4: Guidelines and criteria for the projects tailoring of the organization’s standard software process are developed and maintained.


Organization process definition pd opd activities1

Global Systems Technology, Inc.

Organization Process Definition (PD, OPD) Activities

  • Activity 5: The organization’s software process database is established and maintained.

  • Activity 6: A library of software process related documentation is established and maintained.

Organization Process Definition deals with the

“What” issues of organization processes


Barriers to opd

Global Systems Technology, Inc.

Barriers to OPD

  • Level of detail in the process descriptions

  • Notations for representing the process

  • Best practices are not defined and documented

  • Process definition is not understood


Training program tp

Global Systems Technology, Inc.

Training Program (TP)

  • Purpose is to develop the skills and knowledge of individuals so they can perform their roles effectively and efficiently

  • Involves:

    • identifying the training needs of the organization, the projects, and individuals

    • developing and/or procuring training to address these needs


Training program tp1

Global Systems Technology, Inc.

Training Program (TP)


Training program tp2

Global Systems Technology, Inc.

Training Program (TP)

  • Goal 1: Training activities are planned

  • Goal 2: Training for developing the skills and knowledge needed to perform software management and technical roles is provided.

  • Goal 3: Individuals in the software engineering group and software related groups receive the training necessary to perform their roles.

Role based training is the objective!


Training

Global Systems Technology, Inc.

Training

  • Software training is identified, developed, and established by an organization training group

  • The training group

    • begins by reviewing each software project’s training needs and plans

    • analyzes the skills needed by the organization and how and when needed training will occur

    • prepares, develops and maintains training courses

    • maintains training records


Organizational training

Global Systems Technology, Inc.

Organizational Training

  • Organizational training needs are identified based on the:

    • organization’s standard software process

    • project needs (customer focused domain)

    • organization’s culture

    • individual needs


Waivers

Global Systems Technology, Inc.

Waivers

  • The purpose of training is to import skills and knowledge

  • Individuals want to build their professional skills

  • Individuals already possessing a skill do not need training in that skill

  • A waiver procedure should exist to waive the training requirement when a skill is already possessed.


Required training

Global Systems Technology, Inc.

Required Training

  • At level 2 the phrase “receive training” is used

    • training at Level 2 may not be institutionalized across the organization

    • objective is to have the basic skills to accomplish the task at hand

  • At Levels 3 and above the phrase “receive required training” is used

    • institutionalization of training is expected (role-based)

    • skills of the individuals become a known organization asset


Alternative vehicles

Global Systems Technology, Inc.

Alternative Vehicles

  • Training may include informal as well as formal instruction to impart skills and knowledge

  • Informal Training, such as mentors and on-the-job training, can be very effective when implemented properly

    Caution! Informal training vehicles are easily abused


Training program tp activities

Global Systems Technology, Inc.

Training Program (TP) Activities

  • Activity 1: Each software project develops and maintains a training plan that specifies its training needs.

  • Activity 2: The organization’s training plan is developed and revised according to a documented procedure.

  • Activity 3: The training for the organization is performed in accordance with the organization’s training plan.

  • Activity 4: Training courses prepared at the organization level are developed and maintained according to organization standards.


Training program tp activities1

Global Systems Technology, Inc.

Training Program (TP) Activities

  • Activity 5: A waiver procedure for required training is established and used to determine whether individuals already possess the knowledge and skills required to perform in their designated roles.

  • Activity 6: Records of training are maintained.

Caution! How do you determine the quality of the training (measurement 2)?


Barriers to a training program

Global Systems Technology, Inc.

Barriers to a Training Program

  • The relative high cost of training programs

  • Work schedules and training schedules do not coincide (customer wants progress, not investment in your staff- “I expect your employees to have the necessary skills…that’s why I contracted with you!”)

  • Lack of management support (never enough time for training)

  • No incentives for training


  • Login