Introduction to the course Jerzy Nawrocki Jerzy.Nawrocki@put.poznan.pl Requirements Eng. & Project...

Post on 02-Apr-2015

222 views 0 download

Tags:

transcript

Introduction to the course

Jerzy NawrockiJerzy.Nawrocki@put.poznan.pl

Requirements Eng. & Project Manag.

Introduction to XPrince (2)

Requirements Eng. & Project Manag.

Aim of the course

Prepare the students to the role of Analyst and Project Manager

Introduction to XPrince (3)

Requirements Eng. & Project Manag.

Context of the course

Requirements Engineering and

Project Management

Software Development

Studio

Introduction to XPrince (4)

Requirements Eng. & Project Manag.

Outline of the schedule

March Lectures + labs on RE&PMApril Lectures + labs on RE&PM

Project Startup Presentation for 3rd year

May 3r year team selects projectsProject Initiation

Introduction to XPrince (5)

Requirements Eng. & Project Manag.

Announcement

From dr Adam Wojciechowski:

Software Development Studio will start in the end of March – you will be informed later

Introduction to XPrince (6)

Requirements Eng. & Project Manag.

Lectures

Date Time No. Title26.02 15:10 1 Introduction to the Course28.02 13:30 2 The Start-up Stage06.03 13:30 3 Functional Requirements (adv.)13.03 13:30 4 Non-functional Requirements20.03 13:30 5 The Project Initiation Stage27.03 13:30 6 The Architecture Elaboration Stage03.04 13:30 7 Soft Skills10.04 13:30 8 Release and Risk Management17.04 13:30 9 Mission-Critical Systems24.04 13:30 10 Project Closing and Course Summary

Introduction to XPrince (7)

Requirements Eng. & Project Manag.

Rules

Load of the course: 20 lectures, 20 labs, 20 projects; 5 ECTS

Presence:Lectures – optionalLabs – obligatory

Grading rules:Labs: Running evaluationProject: Evaluation of the presentation + PIDNo exam

Introduction to XPrince (8)

Requirements Eng. & Project Manag.

Rules

Consultation hours:J.Nawrocki: Tue (every 2nd), 11:15 – 12:00, room 109www.cs.put.poznan.pl/jnawrocki/require jerzy.nawrocki@put.poznan.pl

Estimated effort (hours): 20 lectures 10 running repetitions 50 literature 20 labs 10 preparation for labs 40 preparation for project150 TOTAL

Consultation hours:J.Nawrocki: Tue (every 2nd), 11:15 – 12:00, room 109www.cs.put.poznan.pl/jnawrocki/require jerzy.nawrocki@put.poznan.pl

Estimated effort (hours): 20 lectures 10 running repetitions 50 literature 20 labs 10 preparation for labs 40 preparation for project150 TOTAL

Introduction to

Jerzy NawrockiJerzy.Nawrocki@put.poznan.pl

Requirements Eng. & Project Manag.

Introduction to XPrince (10)

Requirements Eng. & Project Manag.

Laboratory of Software EngineeringInstitute of Computing Sci.Poznan University of Technology

Master Degree Programme in Software Engineering

Consortium XPrince

Introduction to XPrince (11)

Requirements Eng. & Project Manag.

Aim of the lecture

Outline the XPrince methodology.

Introduction to XPrince (12)

Requirements Eng. & Project Manag.

Aim of the lecture

Outline the XPrince methodology.

Introduction to XPrince (13)

Requirements Eng. & Project Manag.

Agenda

• XPrince – What for?• Team• Lifecycle• Final remarks

Introduction to XPrince (14)

Requirements Eng. & Project Manag.

Agenda

• XPrince – What for?• Team• Lifecycle• Final remarks

Introduction to XPrince (15)

Requirements Eng. & Project Manag.

XPrince – What for?

Introduction to XPrince (16)

Requirements Eng. & Project Manag.

Software crisis

• Late delivery• Over budget• Overtime• Poor quality

Introduction to XPrince (17)

Requirements Eng. & Project Manag.

Discipline-based approaches

More discipline!

Requirem.

Design

Code

Tests

ISO 9000

IEEE Std

IEEE Std

IEEE Std

1

2

3

4

5

Introduction to XPrince (18)

Requirements Eng. & Project Manag.

PRINCE2

PRINCE = PRojects IN Controlled Environments

CCTA = the Central Computer and Telecommunications Agency, UK

1989: CCTA introduces PRINCE

1996: CCTA announces PRINCE2

Introduction to XPrince (19)

Requirements Eng. & Project Manag.

PRINCE2

Project management methodology

Main actor: Project Manager

http://www.ccta.gov.uk/prince/

Managing Successful Projectswith PRINCE2

Introduction to XPrince (20)

Requirements Eng. & Project Manag.

Introduction to XPrince (21)

Requirements Eng. & Project Manag.

Complaints

Too much paper work! Too many

meetings!

Introduction to XPrince (22)

Requirements Eng. & Project Manag.

Changes in requirements

CustomerCustomer

Let’s change requirements.

Developers

OK. OK. OK. OK.

Introduction to XPrince (23)

Requirements Eng. & Project Manag.

Formal approach to changes

Change order

Err

End-user Configuration Manager

Change order

Developer

Report

Configuration Management Board

Decision

Change order

Project Manager

Introduction to XPrince (24)

Requirements Eng. & Project Manag.

Introduction to XPrince (25)

Requirements Eng. & Project Manag.

Introduction to XPrince (26)

Requirements Eng. & Project Manag.

Extreme Programming (XP)

Tom DeMarcoTom DeMarco

"XP is the most import

movement in our field today."

lightweight (agile) methodology of software development

Introduction to XPrince (27)

Requirements Eng. & Project Manag.

XP the Saviour

• Oral communication.• Artefacts: code + test cases• IEEE/ANSI standard 830/1993?

Needless!• Fagana inspections? Needless!• Function points? Needless!• No overtime!

I always said that!

Introduction to XPrince (28)

Requirements Eng. & Project Manag.

Weaknesses

Discipline (Celebrity)

Agility (XP)

• Too much paperwork

• Slow decision process

• Resistance against change

• Assuming „on-site customer”

• Lack of written documentation

• Too short planning perspective

Introduction to XPrince (29)

Requirements Eng. & Project Manag.

Solution

Addison-Wesley, 2004.

„every successful venture in a changing world requires both agility and discipline”

Introduction to XPrince (30)

Requirements Eng. & Project Manag.

XPrince

eXtreme Programmingin controlled environments

XPrince Sources

XP

PRINCE 2 Rational Unified Process

Introduction to XPrince (31)

Requirements Eng. & Project Manag.

Agenda

• XPrince – What for?• Team• Lifecycle• Final remarks

Introduction to XPrince (32)

Requirements Eng. & Project Manag.

XP Team

Customer

Coach

Tracker

Tester

Developers

Introduction to XPrince (33)

Requirements Eng. & Project Manag.

Management Team in PRINCE2

Project Board

Senior User Executive Senior Supplier

Introduction to XPrince (34)

Requirements Eng. & Project Manag.

Management Team in PRINCE2

Project Manager

Report

Plan

Project Board

Senior User Executive Senior Supplier

Introduction to XPrince (35)

Requirements Eng. & Project Manag.

Management Team in PRINCE2

Project Manager

Project AssuranceReport

Plan

Project Board

Senior User Executive Senior Supplier

Introduction to XPrince (36)

Requirements Eng. & Project Manag.

Roles in RUP

Project Manager

Tester

Developer

Analyst

Architect

Introduction to XPrince (37)

Requirements Eng. & Project Manag.

XPXP

Prince2Prince2

XPrince Team

Kierownik ZespołuKierownik ZespołuDevelopers

Analyst Architect

Project Board

Senior User Executive Główny dostawca

Manager (Coach, Tracker)

(Coach)(Cust., Tester)

Introduction to XPrince (38)

Requirements Eng. & Project Manag.

Small but difficult project

Jurek – Senior user + Executive

Ewa – Project Manager + Analyst

Mirek – Architect (natural language processing)Łukasz – Architect (IBM Eclipse and Java)

Honoriusz – Developer Pankracy – Developer

Introduction to XPrince (39)

Requirements Eng. & Project Manag.

Key roles in XPrince

Project ManagerAnalyst Architect

Introduction to XPrince (40)

Requirements Eng. & Project Manag.

Team

Fred BrooksOS/360, IBM

Administrator

Secretary

Second pilot

Documentalist

Tools expert

Tester

Language expert

Editor

Secretary

Surgeon

Introduction to XPrince (41)

Requirements Eng. & Project Manag.

Agenda

• XPrince – What for?• Team• Lifecycle• Final remarks

Introduction to XPrince (42)

Requirements Eng. & Project Manag.

Release 2Release 1

XP Lifecycle

Increment 1.1 Increment 1.2 Increment 2.1 Increment 2.2

Introduction to XPrince (43)

Requirements Eng. & Project Manag.

PRINCE2 Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 1.07

Starting up a Project

Initiating a Project

Stage 1 Stage 2 Stage 3 Stage 4 Closing a

Project

Introduction to XPrince (44)

Requirements Eng. & Project Manag.

RUP Phases

Inception Elaboration Construction TransitionTransition

Introduction to XPrince (45)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Introduction to XPrince (46)

Requirements Eng. & Project Manag.

Main outcomes of Startup

Startup

Project sponsor (customer)ProblemOutline of the solutionInterfaces (system’s environment)Preferred approach . . .

Introduction to XPrince (47)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Introduction to XPrince (48)

Requirements Eng. & Project Manag.

Main outcomes of Initiation

Initiation

Business Process ReengineeringNon-functional requirementsRoles (Actors) Outline of functional requirementsOutline of the architecture. . .

Introduction to XPrince (49)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Introduction to XPrince (50)

Requirements Eng. & Project Manag.

Main outcomes of Elaboration

Elaboration

Most difficult and important use casesArchitectural approaches (mechanisms)Description of crucial elements (protocols, database desing etc.)Code pieces (examplary solutions)

Introduction to XPrince (51)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Introduction to XPrince (52)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Increment

1

Increment

1

Increment

1

Increment

2

Increment

2

Increment

2

TransitionTransition TransitionTransition TransitionTransition

Introduction to XPrince (53)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Req.

Arch.

Code

Introduction to XPrince (54)

Requirements Eng. & Project Manag.

Agenda

• XPrince – What for?• Team• Lifecycle• Final remarks

Introduction to XPrince (55)

Requirements Eng. & Project Manag.

Agility Alliance Manifesto

Individuals and interactions

Introduction to XPrince (56)

Requirements Eng. & Project Manag.

7 Habits of Higly Effective People

Dr Stephen Covey 15 mln sold, 32 languages

Introduction to XPrince (57)

Requirements Eng. & Project Manag.

Principles of Effectiveness

Be proactiveBe proactive Begin with the end in mindBegin with the end in mind

Put first things firsPut first things firs

Think win/winThink win/win

Seek first to understand ...Seek first to understand ...

SynergizeSynergize

Sharpen the sawSharpen the saw

Introduction to XPrince (58)

Requirements Eng. & Project Manag.

Individuals and interactions

O KO K

Working software

Agility Alliance Manifesto

Introduction to XPrince (59)

Requirements Eng. & Project Manag.

Cost of Requirements Defects

Cost of Error Correction

0

20

40

60

80

100

120

Req. Design Code Dev.Tst Sys.Tst Field Op.

Development Phase

Re

lati

ve

Co

st

Roger S. Pressman

13-6

times

10 times

15-40 times

30-70 times

40-1000 times

Introduction to XPrince (60)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Increment

1

Increment

1

Increment

1

Increment

2

Increment

2

Increment

2

TransitionTransition TransitionTransition TransitionTransition

Introduction to XPrince (61)

Requirements Eng. & Project Manag.

Individuals and interactions

O KO K

Working software

Agility Alliance Manifesto

Customer collaboration

Introduction to XPrince (62)

Requirements Eng. & Project Manag.

Natural languageUpdating the dataUpdating the data

ActorActor: MemberGoalGoal: Update personal data.Main scenarioMain scenario1. Member enters his account and password.2. System presents the personal web page.3. Member selects the update option.4. System presents the personal data ready for update.5. Member changes the data.6. System asks for acknowledgement.7. Member confirms the changes. ExtensionsExtensions1a. Account or password is incorrect. 1a1. System presents a message and returns to Step 1.

Introduction to XPrince (63)

Requirements Eng. & Project Manag.

Individuals and interactions

O KO K

Working software

Agility Alliance Manifesto

Customer collaboration Responding to change

Tommorow or never!

Introduction to XPrince (64)

Requirements Eng. & Project Manag.

XPrince Lifecycle

16.10 27.11 23.01 8.04 27.05 17.06 8.07

Startup Initiation Elaboration

Release 1 Release 2 Release 3 Closing

Increment

1

Increment

1

Increment

1

Increment

2

Increment

2

Increment

2

TransitionTransition TransitionTransition TransitionTransition

Introduction to XPrince (65)

Requirements Eng. & Project Manag.

Thank you for your attentionThank you for your attention!!