+ All Categories
Home > Documents > Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9....

Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9....

Date post: 18-Aug-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
86
PSE QM/PS © Siemens AG Österreich 2005 All Rights Reserved Software Development Methodology Siegfried Zopf, Siemens PSE QM
Transcript
Page 1: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

PSE QM/PS

© Siemens AG Österreich 2005All Rights Reserved

Software Development Methodology

Siegfried Zopf, Siemens PSE QM

Page 2: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

2

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Overview

Siemens Program and System Engineering PSE

Software Development Methodology (2005-09-22)

Why processes?

System engineering method SEMstdSEMe-SEM

Selected topicsRequirements engineeringProject management

Quality management (2005-10-20)

Page 3: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

3

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Program and System Engineering PSE

is a Siemens software and electronics house independent of other Siemens groups and divisions

contracts for most of the Siemens divisions and for a few selected external customers

is not granted any kind of purchase commitments or capacity utilization guarantees on the part of the Siemens divisions

wins contracts only on the basis of superior quality better value for moneyproduct and process know how

Page 4: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

4

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

PSE Locations and Representation

About 6.000 developers - 20 locations - sales € 500 million

Page 5: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

5

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Staff Education Structure (I)

ElectricalEngineering and electronics

47 %

Others11 %

Mechanicalengineering 5 %

Mathematics andphysics

13 %

Economics8 %

IT16 %

Page 6: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

6

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Staff Education Structure (II)

Technical College,College 2 %

University 54 %

Secondary highereducation

36 %

Apprenticeship 4 %

Professional school,Business school 2 %

Others 2 %

Page 7: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

7

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Human Resources Development* Regions outside Austria

* exclusive of PD/KU

ANF DATA

PSE SK

PSE HU

PSE CRO

PSE DE

PSE RO

PSE TR

PSE CN

577

711

486 443 406

449

52310054

25916916299 172

566561 532

435

422426455

316

95

69

9562

145

7821 24

4474

99/00 00/01 01/02 02/03 03/04

577

711

486 443 406

449

52310054

25916916299 172

566561 532

435

422426455

316

95

69

9562

145

7821 24

4474

99/00 00/01 01/02 02/03 03/04

1771

2274

1416

1828 1741

Page 8: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

8

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Lines of Business

Telecommunications67.9 %

Others 2.5 %

Health care 2.5 %

Space 1.1 %

Transportation 1.9 %

Finances, insurance,retailing 4.8 %

Industry 5.5 %

Energy 2.9 %

Public sector 5.6 %

Line-of-businessneutral solutions 4.2 %

Automotive 1.1 %

Page 9: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

9

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

PSE. Intelligent Net Working

Page 10: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

10

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Knowledge Management at PSE

Our focusis on people PSE

Training Center

Engineering-method

Guidelines,best practice

reports

Intran

et too

ls Networks

Suppo

rt fac

ilities

PSE QM website

QM forum

Events

PSEinterest Nets

PSEsupport CentersPSEexpert Nets

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management

Improvements

Page 11: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

11

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Knowledge Networking at PSE

“TechnoWeb“ as platform

Every employee can issue a “Call for Network“

Interest Net: at least 3 employees from at least 2subdivisions, self-organized

Expert Net: topics relevant for the whole of PSE,active service offering

Support Center: topics of strategic importance, dedicated staff

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management PSEinterest Nets

PSEexpert NetsImprovements

PSEsupport Centers

Page 12: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

12

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

PSEsupportCenter

Effort Estimationand Metrics

Components& Internet Technology

Configuration Management

Databases

Object Technology

Project Experience

Projekt Management

Test

Usability

Windows

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management

Improvements Consulting, support, training; technology management

Page 13: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

13

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

SW Engineering-Forum

Promotion of SW engineeringknow-how through common platform for events throughout PSE

All PSE employees are free to attend

About 40 events a year, ∅ 50 - 100 participants

Topics: SW engineering, tool presentations, new technologies

SEForum

JavaOne 2001 – Review Enterprise JavaBeans@WorkMicrosoft Developer Days 2001 Web-Portal technologiesWeb Services - Distributed Computinge-business.strategy Early error detection in the development process OODBMS and modeling of persistent data International cooperation at PSE Function Point and metrics SCTP - Stream Control Transmission Protocol UML@Work Test tools from Mercury Interactive Corporate Knowledge Management Voice-over-IP in Siemens Enterprise Networks How to achieve CMM Level 4.25 Linux – a topic for PSE developers? Workflow & business processes Project Management Day............

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management

Improvements

Page 14: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

14

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

The Technology Tree Principle

Employees have technology know-how (sensors).......and found knowledge networks (making technology visible) z fresh "shoots" in the technology treedecentralized controlling (individual commitment, personal benefit, support by project managers orline management) z evolutionary growth and withering “Survival of the fittest“Centralized controlling through the “Network Controlling Board“z tree maintenance by "gardener"Line management: reacts to customer or market demands, builds up technologies that are in demand to form “strong branches" z branches grow towards the sun and bear fruit

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management

Improvements

Page 15: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

15

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Continuous Improvement

PROWEB

Audits & assessments

DO

Engineering method SEM

PLAN

Annual Q-Goals

ACT

1

1,5

2

2,5

3

3,5

4

GJ 93/94 GJ 97/98 GJ 00/01

Improvements

Q Organization

Q manager

PSE QM

QA manager

CMM-Level

CHECK

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management

Improvements

Page 16: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

16

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Broad Range of Offerings

P r o j e c t M a n a g e m e n t

Q u a l i t y M a n a g e m e n t

Main-tenance

On-sitesupportTraining

Imple-men-tation

PlanningAnalysisCon-sulting

Page 17: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

17

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Process Orientation

SEM system engineering method in use since 1983, upgraded and innovated several times

stdSEM, e-SEM, prodSEM and hsSEM as a workbench accessible to all employees on the Intranet

Ongoing process training for staff through SEM seminars

Regular checks and improvement within the framework of audits and CMMI assessments

Comprehensive representation of processes in the PSE division manual

Compliance with ISO 9000 (Quality Management) and ISO 14001 (Environment Management)

Page 18: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

18

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Questions

Page 19: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

19

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Prozesses and the Deming wheel

Documented processes are the basis for a learning organisation

Page 20: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

20

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Two points of view

• Development method:Reflections on how to proceed

SW Requirementsspecification

Development:Solving the specified technical task

Page 21: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

21

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Triangle of tensions in software development

Quality and Functionality

Deadlines

SEM

Costs

Page 22: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

22

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

SEM Derived Methods (Web Portal)

stdSEM for “standard”software projects

prodSEM for product management

hsSEM for mixed hardware/software projects

e-SEM for iterative incremental (agile) development

Page 23: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

23

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

System development method SEM®

PSE-wide process model

SEM obligingif client does not prescribe method

Different life cycle approaches possibleComplete hypertext implementation with direct access to

activity and result descriptionschecklists, tips, examplestemplates for documents and plansguidelines and links

InitiationInitiation

TerminationTermination

DefinitionDefinition

DesignDesign

ImplementationImplementation

OperationsOperations

yesyesProject decisionProject decision

nono

PSE

QM Organizationand Goals

EngineeringMethod SEM

Controlling and Assessments

Knowledge Management

Improvements

Page 24: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

24

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come to value:

Individuals & interactions over processes & toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right,we value the items on the left more.

www.agilealliance.org

Page 25: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

25

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Agile # Hacking

Agile development

Predictive vs. adaptive processes

Iterative incremental development

Documentation of agile processes

Working in teams

Concentration on the project

Page 26: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

26

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Page 27: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

27

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Predictive vs. adaptive processes

Creative work like software development isnot predictive like routine work

Therefore planning is different

Plan regularly(adapt plans when circumstances change)

Agile project management methods (e.g.SCRUM)

Page 28: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

28

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Iterative incremental development process e-SEM

Page 29: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

29

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Iterative / Incremental (I/I)

Iterative development means:

Repeatedly passing through all the required phases of development until the result is executable (“build“).

Each cycle (or group of cycles) has a clearly defined goal.

Cycles are short (typical timeframe: day to week)

Precondition for iterative development:

The development environment (tools) makes it easyto create builds.

Page 30: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

30

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Iterative / Incremental (I/I)

Incremental development means:

Developing a product in small “chunks”(1 “chunk“ = 1 release = 1 version).

Each release has a clearly defined goal.

Creating a release does not take long (typical timeframe: 1-3 month).

Precondition for incremental development:

Being able to find small “chunks” which can actually be used in a meaningful way.

Page 31: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

31

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Iterative / Incremental (I/I)

Benefits of iterative development :Prompt validation of development goals and functionalitypossiblePrompt reaction to changed requirements possibleAn executable version is available at all timesIntegration takes place continuallyError costs are lower

Benefits of incremental development:Early use of adequate releases results in earlier ROI

Error costs are lower

Page 32: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

32

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Iterative / Incremental (I/I)

SummaryI / I requires approval of the client I / I makes sense when requirements are still unstableI / I must be learned (iterative: mastering the development environment!)I / I requires a stable SW architectureI / I replaces neither planning nor controlling

I / I alone is not a “silver bullet” for solving problems in SW development

Page 33: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

33

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

= iterativestdSEM prototype development

Des

ign

Impl

emen

tatio

n

Impl

em.

Test

Definition

Operations

Validation Validation System test

Page 34: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

34

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Rational Unified Process (RUP)

Page 35: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

35

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Documentation of agile processes

Agile processes are well documented(Key practices, set of rules,...)

More emphasis on talent, skill and training(not simply filling out templates of a process)

Process documentation may also consist of trainingmatrial

Values and not bureaucracy are guiding the applicationof rules and the collaboration in teams

Page 36: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

36

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Work in teams

team members organize the work themselves“own” the project want to be proud of the result

Concentration on the project

omit everything that distracts from the actual project

But

Organizations have more than one project

Page 37: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

37

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Organizational aspects

How are the team members selected?

How are they trained?

Which agile method shall be applied?

Selection of templates and tools?

Management responsibility for projects (tracking and control)

Corporate learning and synergies

Management System

Page 38: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

38

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Overview

Siemens Program and System Engineering PSE

Software Development Methodology (2005-09-22)

Why processes?

System engineering method SEMstdSEMe-SEM

Selected topicsRequirements engineeringProject management

Quality management (2005-10-20)

Page 39: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

39

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Requirements definition

InitiationPreconditionsProject decision, preliminary requirements, specification of proposed solution

Important results:SW requirements specification, project plan, QA plan, CM plan, basis CM system,

OOA modelTender, where applicable

Sub phases

DefinitionInterrelations

DesignTender

Imple-mentationRelationships

OperationsModels

TerminationBlack Box

Wish list

Page 40: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

40

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Definition phase – sub phases

Sub phases

Requirements Definition ofrequirements

User req. spec.Domainmodel

Interrelations

Tender

Relationships

Product Definition of the productSW req. spec.

OOAmodel

Models

Black Box

Wish list

Tender Technical, financial,legal aspects Tender

Page 41: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

41

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Definition phase – contexts

Client‘s wishesin most cases:incompleteambiguousnot implementable

deadline, budget, technical

Structured requirements from the client’s point of view

Unambiguous, consistent, complete, modelsimplementablemust be coordinated with the client

User requirements spec.

SW requirements spec.

Sub phases

Interrelations

Tender

Relationships

Models

Black Box

Wish list

Page 42: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

42

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Definition phase – Interrelations

Sub phases

Client‘s wishes

User requirements spec. Call for tender

TenderSW requirements spec.

Interrelations

Tender

Relationships

Models

Black Box

Wish list

Page 43: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

43

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Tender

Tendered servicestechnical, financial, legal aspects

Tender – SW requirements specificationWhat comes first?Tender: parts of the contents of SW req. spec.

In practice: often only tender, no SW requirements specification

Role of developers/techniciansOften draw up tenders for sales organizationSales organization supplements the tender

Sub phases

Interrelations

Tender

Relationships

Models

Black Box

Wish list

Page 44: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

44

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Tender

Sub phases

Interrelations

Goals of the tenderLegal basisMake the result “attractive” -> acquisitionClaim management

DelimitationDefine products and services supplied by customer

Tender

Relationships

Models

Black Box

Wish list

Page 45: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

45

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Roles and relationships

Sub phases

UserCustomer

Client

DeveloperInterrelations

Tender

Relationships

Models

Black Box

Wish list

Page 46: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

46

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Requirements engineering

Requirements engineeringIdentify, document and classify the requirements

In many projects, the requirements have already been defined

user req. spec., call-for-tender documentation

How else to arrive at requirements?Customer workshopsInterviewsAnalysis of existing business processes

Sub phases

Interrelations

Tender

Relationships

Models

Black Box

Wish list

Page 47: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

47

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Stakeholders

Who may be the stakeholders?

Page 48: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

48

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Aspects of requirements engineeringImpacting factors

Sub phases

Customer wishes

Deadli

ne Price

Interrelations

Tender

Relationships

Models

Black Box

Resources

Wish list

Page 49: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

49

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

What does the customer wantWhat does the customer really need

Sub phases

Interrelations

Tender

Relationships

Models

Black Box

Wish NeedWish list

Page 50: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

50

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Models

Sub phases What are models?

A simplified representation of reality

Example (software):Entity-relationship diagramsUML diagrams

What is the purpose of models?

Better understanding of the respective area and

the task

Medium for communication

Specification of the task

Interrelations

Tender

Relationships

Models

Black Box

Wish list

Page 51: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

51

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Modelsin the Definition phase

Sub phases Domain model

Model of the area concerned (current status)

OOA model

Specification of the task (target status)

Interrelations

Tender

Relationships

Models

Black Box

Wish list

Page 52: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

52

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

System as a black boxin the Definition phase

Sub phases

Interrelations

Application domain

System to be

createdUser

System boundary

Other system

Tender

Relationships

Models

Black Box

Wish list

Page 53: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

53

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Scenarios and goals

Understanding interactions in terms of their goalGoal can be reached by “executing” scenarios

Sub phases

Interrelations

Tender

Relationships

Scenarios

GoalsModels

Black Box

Wish list

Scenarios,goals, functions

Page 54: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

54

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Scenarios, goals and functions

What is needed to be able to execute scenarios?Execution by using functions of the system to

be created.

Sub phases

Interrelations

Tender

Relationships

Functional requirements

Scenarios

GoalsModels

Black Box

Wish list

Scenarios,goals, functions

Page 55: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

55

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Scenarios, goals, functions and use cases

What is needed to be able to execute a scenario?Execution by using functions of the system to

be created.

Sub phases

Interrelations

Tender

Relationships

Use cases

Functional requirements

Scenarios

GoalsModels

Black Box

Wish list

Scenarios,goals, functions

Page 56: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

56

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Schrittweises Vorgehen

Ziele erarbeitenAlle Stake holder berücksichtigen

Szenarien / Abläufe / Use Cases festlegenUsability Aspekte beachten

Funktionen beschreiben

Externe Schnittstellen festlegen

Sonstige Produktmerkmale (z.B.: Qualitätsmerkmale)

Page 57: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

57

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Weitere Pflichtenheft- / Angebots-Themen

Vorgaben für die EntwicklungPlattformen, Sprachen, Tools, Methoden,....

Abnahmebedingungen

Einsatzunterstüzung

Verpflichtungen des Auftraggebers

Siehe Pflichtenheft Template

Page 58: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

58

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Process AreasRequirements Engineering in CMMI

CMMI L2 Requirements ManagementThe purpose of Requirements Management is to manage the requirements of the project's products and product components and to identify inconsistencies between those requirements and the project's plans and work products.

CMMI L3 Requirements DevelopmentThe purpose of Requirements Development is to produce and analyze customer, product, and product-component requirements.

Page 59: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

59

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

V-Modell

Pflichtenheft

Systementwurf

Systemtest

Detailentwurf

Integrationstest

Komponententest

Codierung

http://www.v-modell.iabg.de/http://www.bv-modell.at/set_ueberbl.htm

Page 60: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

60

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Traceability

Anforderungen müssen vom Pflichtenheft über Design Spezifikationen CodeTestfälle

verfolgbar sein,Und das über alle Änderungen hinweg!

Theoretisch mit viel Disziplin händisch möglichPraktisch nur toolunterstützt konsequent durchgeführt

(Durchgehende Entwicklungsplattform zB. Requisit Pro, Doors,...)

Page 61: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

61

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Estimation

What do you estimate?

effort cost

How do you estimate?

Page 62: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

62

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Accuracy of estimation

Question: How many products are completedwith a <25% variance from theexpected effort?

Why?

When?

Source: study conduced by University of Osnabrück in the late 1980ies

53%

31%

11%

0%10%20%

30%40%50%60%

Proj

ects

< 1 MY 1 - 10 MY > 10 MY

Project size in MY

Series1

Overruns of up to 300% have been admitted to !

Overruns of up to 300% have been admitted to !How?

Results

SC AM

Tips and tricks

Page 63: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

63

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Determination of effort during project runtime

Why?PLANNED effort ACTUAL effort

When?

How?Effort controlling throughout the project phases

Early preli-minary effort estimations

Actual costingReviewed effort

Results

Initiation Definition Architect.design

Detaileddesign

Implemen-tation

Integra-tion

System test Acceptance

Tender

Productive-operationSC AM

Initiation Definition Design Implementation TerminationOperationsTips and tricks

Page 64: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

64

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Determination of effort – estimation only?

calculate

measure

estimateWhy?

When?

How?

Results

SC AM

Tips and tricks

Estimation is necessary only if it is not possible to measure or calculate!

Estimation is necessary only if it is not possible to measure or calculate!

Page 65: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

65

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Effort estimation by means ofa function point analysis

Basic principlesWhy?

SW considered from outside (blackbox), from the user’s point of viewFinding the statistical mean of very simple and highly complex elements Simple external interfaces – simple processingComplex external interfaces – complex processing

When?

How?

Results

SC AM

Tips and tricks

Page 66: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

66

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

What is a function point analysis?

Items under considerationWhy?

Function PointsInternationally standardized measure for the functional scope of a software system from the user’s point of view

Function PointsInternationally standardized measure for the functional scope of a software system from the user’s point of view

Application

External InputExternal Inquiry

Internal Logical Files

External Output

When?

How?

Results

SC AM

Tips and tricks

External Interface File

Page 67: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

67

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

From function points to effort figuresInfluencing factors

Stability of requirements

Experience of the team

Productivity of the team

Tools and methods

Reuse

Special risks

Influencing factorsStability of requirements

Experience of the team

Productivity of the team

Tools and methods

Reuse

Special risks

Transformation table(experience from previous projects)Why?

0,0050,00

100,00150,00200,00250,00300,00

0200 400 600 800100

0120

0140

0160

0180

0200

0

MM

FPFu

nctio

n po

int v

alue

Average effort

When?

How?

Results Effort estimation meeting - project-spec.

correction factorsSC AM

Tips and tricks

Estimated effort for the

project

Page 68: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

68

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

How to estimate effort by means of an expert estimation (meeting)

“Bottom-up” procedure for effort estimationStructuring based on project structure (down to work package granularity – depending on implementation)Carried out by a team of experts, with the help of a moderatorRecommended as an alternative to other methods, such as a function point analysisEnsures methodological approach and recording of estimations

Results:Estimated effort per work packageEffort for PM, QA, CMTotal effortList of unresolved issuesList of assumptions madeList of risks discovered

Why?

When?

How?

Results

SC AM

Tips and tricks

Page 69: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

69

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Almost everybody overestimates their own capacities.

People will often exert pressure upon those making the estimation.

Estimations made by others tend to be accepted without questioning (no verification, no weighting).

⇒ What will it cost if somebody else does it? Take account of HR assignments (and dependencies)

=> Use a tried and tested method, rely on experts from outside the project, provide accurate documentation of the estimation process Function point analysis

=> Verification of estimation through established method Function point analysisBeware of analogies (take account of circumstances and constraints)!

Tips and tricks (1)

Problem TipWhy?

When?

How?

Results

SC AM

Tips and tricks

Page 70: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

70

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Tips and tricks (2)

Problem TipWhy?

When?

How?

Results

SC AM

Tips and tricks

=>Use adequate methods; function point analysis + 2nd

method (estimation based on experience or percentage method)

=>Communicate only verified estimations

=> Verify the estimate – reduce the requirements, if possible; “design to cost” on the basis of FP work breakdown

=>Estimation report (incl. management in CM system)

An estimation is made where it would be possible to make a calculation (e.g. percentage method after the end of a phase).Frequently, off-the-cuff estimations are given in personal contact with the client.If estimated values are very high, people do not try to verify them, but simply decrease them.Often nobody knows where an estimated value came from.

Page 71: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

71

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Planning process

Page 72: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

72

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Project plan – Structure/Content

1. Introduction2. Key data of the project3. Project organization (persons responsible and contact persons)4. Component planning5. Project volume6. Course of the project7. Risk management 8. Project monitoring and control

Page 73: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

73

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Areas of responsibility

Project managementProduct developmentQuality assurance

Other possible areas of responsibility:ArchitectureData baseConfiguration managementTechnical support...

Page 74: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

74

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

From deliverables to activities

What is the product?

Deliverables

Deliverables

Additional components

Activities

What else do I need on my way to the product?

Additional components

What do I have to do to arrive at the components?

Activities

Page 75: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

75

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Project planning using network planning tools

Deliverables

Additionalcomponents Activities

Sequence of tasks

Personneldeployment

Name ActivityEffort24 Activity 1

10 Activity 1A

8 Activity 1A1

Milestones,deadlines

Milestone Deadline

Page 76: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

76

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Page 77: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

77

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Resource allocation for “Two”

Over allocated!

Page 78: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

78

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Project trackingMilestone Trend Analysis

Page 79: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

79

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Problem: Updates

The world changes butPlans are not updated at all

Inconsistencies after changes make plans useless Developers have their own "up-to-date" plans hidden in their desksUpdating results in a "loss" of planned values (planned/actual comparison no longer possible)

Page 80: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

80

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Timothy Lister:

Page 81: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

81

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Tom DeMarco:

Risk management is

Project management for adults

Page 82: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

82

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Risk analysis

Identificationinclusive early indicators

risk evaluationcost of damageoccurrence probability

preventive measuresremedial measure

potentialcost

cost

Page 83: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

83

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

When to do risk management

Begin with tenderin all phases

eliminate risks that cease to existare there new riskschanges in occurrence probability or coststatus of measures

Page 84: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

84

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Risk from fuzziness of effort estimation

Tom DeMarco

Page 85: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

85

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Tom DeMarco

Page 86: Software Development Methodology - Masaryk Universityada/sw_dev/slides/Software... · 2005. 9. 25. · Software Development Methodology (2005-09-22) Why processes? System engineering

86

Program and System Engineering PSE

Septmeber 2005Siegfried Zopf, PSE QM/PS

Phase Termination

Wrap up – collect experience

Project experienceworkshops

Final costing analysis

Quantitative consideration / Metrics

Final reportFinal report

Project experience reportProject experience report


Recommended