ieee 12207

Download IEEE 12207

If you can't read please download the document

Upload: mahinth-christensen

Post on 16-Apr-2017

8.439 views

Category:

Design


3 download

TRANSCRIPT

IEEE 12207

Introduction to IEEE 12207

Information technology - Software life cycle processes

Scope: Management of Software Development Projects

IT project management ISO/IEC 12207

IT software projects have a poor success record YET ! The problems can be solved with this standard.

Concepts from the ISO/IEC/IEEE 12207 standard can help the software director and the business in general to achieve greater success with their employees

Knowledge from Standards & books:

IEEE Standard 12207:2008, Information Technology - Software Life Cycle Processes

IEEE Standard 1062, Recommended practice for software acquisition

IEEE Standard 1058, Standard for software project management plans

BooksSoftware engineering project management, Edited by R. Thayer, IEEE Computer Society, 1997.

Software Engineering by IAN Sommerville

Professionalism and Economics

SW requirements

SW design

SW construction

SW testing

SW maintenance

IT and software

Just about every modern product or service depends on softwareSoftware intensive products/services include:As local as embedded software

As wide as the World Wide Web

transportation of all kinds

financial markets

Software competence

Companies dependent on IT projects need to master the software technology to stay competitive

Produce quality products that satisfies user needs

Meet committed costs

Meet the planned schedules

Known Disadvantage

70 - 80 % of companies do not have a process able to support the demands of project control

What is software engineering?

Software engineering is concerned with applying scientific principles and management skills to develop software intensive systems and products for use by society within the constraints of: Time,

money,

technology,

quality,

business.

Software Engineering

Business

Money

Technology

Quality

Time

ProfitBudgetPlatform & DomainReliabilitySchedule

Why are software projects difficult ?

Invisible product

Lack of physical constraints

Inadequate systems engineering

Changing requirements

Co-ordination of intellect-intensive teams

Insufficient technical staff

Lack of project management skills

Project Failure Reasons

Major Issues

PLANNINGCONTROL

Project Failure Reasons
PLANNING:

Software requirements - not clear

Cost & schedule estimation - difficult

Projects function - not planned

CM, QA, computing facilities

Planning viewed as non-productive

Project Failure Reasons
CONTROL:

poor methods for tracking progress

poor indicators to measure Productivity

Quality

Time

Quotes

IN MANY WAYS, MANAGING A COMPUTER PROGRAMMING PROJECT IS LIKE MANAGING ANY OTHER UNDERTAKING - IN MORE WAYS THAN MOST PROGRAMMERS BELIEVE.

BUT IN MANY OTHER WAYS IT IS DIFFERENT - IN MORE WAYS THAN MOST PROFESIONAL MANAGERS EXPECT

.. the demand for software has grown at such an explosive rate, it now far outweighs the resources we have to produce it. .. desperately needed software is not being developed.. An interaction of factors has caused this software gap: accelerated demand for software, increased complexity of systems,labor shortages, and lack of adequate science and technology to support robust development.

Interim Report to the President, August, 1998

Software remains a major cause of system failures

Complexity is growing

Keeping up with new techniques & procedures ?

Software engineering foundation

Two types of software projects ( IEE12207)DevelopmentDeveloping or modifying a software-intensive system to meet contractual requirements (satisfies user needs )

Acquisition Contractually obtaining from a group ( supplier), a software-intensive system for use by another group (user)

What is IEEE 12207 ?

The major world-wide standard for software related processes activities and tasks

Tailored for any organization or project

High level process architecture

An inventory of processes from which to choose

For the first time a world wide agreement on what activities make up a software project

12207 Concepts

Process ArchitectureModular: Handle all types of projects

Cohesion: One process for one major function

Responsibility: One process for one party

Defining the project strategy

The first step is to choose/tailor a project life cycle by choosing the appropriate set of processes defined in ISO/IEC 12207Waterfall,

Iterative,

Rapid Application Development,

Incremental

Initiation - selecting a project

Requirements

Organization policy & methods

Legal Needs

Time

Process Standard

Life Cycle Model

TailoringProject Life Cycle

Project Plan

Contract

Start Project

Project Processes

MANAGEMENTDEVELOPMENTOPERATIONSMAINTANENCE

CONFIGURATION MANAGEMENT,JOINT REWIEW
VERIFICATIONRequirementsDesignCode/TestInstall/Acceptance

Major Parties

SUPPLIERProvides the Product to the partiesACQUIRERAcquires the Product

OPERATORUSERMAINTAINERMaintains the Software Product

DEVELOPERDefines the Developed Product

The Acquisition Process

Defines the activities of the acquirer,the organization that acquirers a system, software product or software service

1. Initiation

2. RFP ( tender) preparation

3. Contract preparation and update

4. Supplier monitoring

5. Acceptance and completion

Organizational processes

PROJECT LIFE CYCLE

Employed by organization to establish and implement an underlying structure of .. Processes and personnel, and continuously improve the structure and processes

MANAGEMENTIMPROVEMENT

INFRASTRUCTURETRAINING

Management process

Activities:Initiation and scope definition

Planning

Execution and control

Review and evaluation

Closure

The purpose of the management process is to organize, monitor and control the initiation and performance of any processes or functions within the organization to achieve their goals and the business goals of the organization in an effective manner

Infrastructure process

Objectives:establish and maintain a well-defined software engineering environment (SEE)

tailor the SEE top the needs of the project

develop a SEE that supports project team members

implement a defined and deployed strategy for reuse

The purpose of the infrastructure process is to maintain a stable and reliable infrastructure that is needed to support the performance of any other process. .. May include hardware, software, methods, tools, techniques, standards, facilities for development, operation, or maintenance.

Management & Infrastructure process standards

IEEE Std 982.1 - Standard dictionary of measures to produce reliable softwareIEEE Std 1045 - Software productivity metricsIEEE Std 1058 - Software project management plans

IEEE Std 1045 - Recommended practice for the adoption of CASE toolsISO/IEC 14102 - Guidelines for the evaluation and selection of CASE toolsAbove Standards provide the detail of what to do

Supporting processes

PROJECT LIFE CYCLE

DocumentationVerification

Configuration ManagementValidation

Quality AssuranceJoint Review

Problem ResolutionAudit

Employed by any primary process or any supporting process

Quality Assurance (QA)

Objectives:identify, plan and schedule QA activities

identify quality standards, methods and tools

identify resources and responsibilities

establish and guarantee independence of those..

perform the QA activities

apply organizational quality management systems

The purpose of the quality assurance process is to provide assurance that work products and processes comply with their specified requirements and adhere to their established plan.

Configuration Management

Objectives:identify, define and control all relevant items

control modifications

record and report status

ensure completeness of items

control storage handling , release and delivery

The purpose of configuration management is to establish and maintain the integrity of the work products of a process or product.

Making a Project a Success

Planning 1. Requirements engineeringdocumented

traceability

2. Task, cost and schedule determination based on requirements

3. Risk management, with problem tracking

4. Incremental development

Making a Project a Success

Control5. Work packages with visible progress measurement WBS, Work package specifications

Earned value tracking

6. Software metrics; size, efforts, schedule, quality

7. Software configuration management

8. Software quality assurance and standards

9. Peer reviews (walk through and inspections)

10. Independent verification and validation

11. Software engineering assessments and capability evaluation

Implement the 11 techniques above rigorously on a software IT project - every chance for success

Outlook for the future

Range of team skills on software projects:Licensed Software Engineers

Certified software practitioners

Skilled software workers

A stable Software Engineering Model

A doubling of software workers10 today to 50 or 100 in the future

with an adequate level of competence

Conclusions

12207 provides a reference point for all types of IT projects containing software

It demands good PM practices

A basis for establishing a mature and successful process

A road map for process and project improvements