– 05 – 2015-05-11 – main –
Softwaretechnik / Software-Engineering
Lecture 05:Examples of & Metrics for Process Models
2015-05-11
- Prof. Dr. Andreas Podelski, Dr. Bernd Westphal
Albert-Ludwigs-Universit¨ at Freiburg, Germany
Lecture 05:Examples of & Metrics for Process Models 2015-05-11 - - PowerPoint PPT Presentation
Softwaretechnik / Software-Engineering Lecture 05:Examples of & Metrics for Process Models 2015-05-11 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 05 2015-05-11 main Albert-Ludwigs-Universit at Freiburg, Germany
– 05 – 2015-05-11 – main –
Albert-Ludwigs-Universit¨ at Freiburg, Germany
– 05 – 2015-05-11 – Sprelim –
2/49 Last Lecture:
This Lecture:
– 05 – 2015-05-11 – main –
3/49
– 05 – 2015-05-11 – Sprocesses –
4/49
A process model may describe:
dependencies (the procedure model);
Process models typically come with their own terminology (to maximise confusion?), e.g. what we call artefact is called product in V-Model terminology. Process models are legion; we will take a closer look onto:
– 05 – 2015-05-11 – Sprocesses –
5/49
to tag theirs “light” and all others “heavy”.
are useful and necessary for your project;
necessary nor useful for your project.
process models to a “weight class”.
– 05 – 2015-05-11 – Sprocesses –
6/49
– 05 – 2015-05-11 – Sprocesses –
7/49
partial payment when reaching milestones.
companies.
– 05 – 2015-05-11 – main –
8/49
– 05 – 2015-05-11 – Svxt –
9/49
– 05 – 2015-05-11 – Svxt –
10/49
we discuss the (German) “V-Modell”.
for Defence Technology and Procurement (‘Bundesministerium f¨ ur Verteidigung’), released 1998
– 05 – 2015-05-11 – Svxt –
11/49
project role
customer ‘Auftraggeber’ developer ‘Auftragnehmer’ customer/developer ‘Auftragg.’/‘Auftragn.’ customer/developer ‘Auftragg.’/‘Auftragn.’
project type
system development project (AG) system development project (AN) system development project (AG/AN) introduction and maintenance of specific process model
project subject
HW system SW system HW-SW system/embedded System integration introduction and maintenance of specific process model
V-Modell XT offers support for four different project types:
(create call for bids, choose developer, accept product)
(create offer, develop system, hand over system to customer)
– 05 – 2015-05-11 – Svxt –
12/49
V-Modell XT explanation role role (‘Rolle’) activity activity (‘Aktivit¨ at’)
parts of activities artefact product (‘Produkt’)
(‘Thema’) parts of products
a set of related products and activities phase project segment (?) (‘Projektabschnitt’)
– 05 – 2015-05-11 – Svxt –
13/49
– 05 – 2015-05-11 – Svxt –
14/49
%''".'
– 05 – 2015-05-11 – Svxt –
15/49
– 05 – 2015-05-11 – Svxt –
16/49
– 05 – 2015-05-11 – Svxt –
17/49
Project Roles:
Organisation Roles:
– 05 – 2015-05-11 – Svxt –
17/49
Project Roles:
¨ Anderungssteuerungsgruppe (Change Control Board), ¨ Anderungsverantwortlicher, Anforderungsanalytiker (AG), Anforderungsanalytiker (AN), Anwender, Assessor, Ausschreibungsverantwortlicher, Datenschutzverantwortlicher, Ergonomieverantwortlicher, Funktionssicherheitsverantwortlicher, HW-Architekt, HW-Entwickler, Informationssicherheitsverantwortlicher, KM-Administrator, KM-Verantwortlicher, Lenkungsausschuss, Logistikentwickler, Logistikverantwortlicher, Projektkaufmann, Projektleiter, Projektmanager, Prozessingenieur, Pr¨
QS-Verantwortlicher, SW-Architekt, SW-Entwickler, Systemarchitekt, Systemintegrator, Technischer Autor, Trainer
Organisation Roles:
Akquisiteur, Datenschutzbeauftragter (Organisation), Eink¨ aufer, IT-Sicherheitsbeauftragter (Organisation), Qualit¨ atsmanager
– 05 – 2015-05-11 – Svxt –
18/49
5L
– 05 – 2015-05-11 – Svxt –
18/49
5L
– 05 – 2015-05-11 – Svxt –
19/49
– 05 – 2015-05-11 – Svxt –
19/49
– 05 – 2015-05-11 – Svxt –
20/49
i.e. created always and exactly once (e.g. project plan)
– 05 – 2015-05-11 – Svxt –
21/49 SW-Development (‘SW-Entwicklung’)
coding . . .
programmer
– 05 – 2015-05-11 – Svxt –
22/49
%''#1
– 05 – 2015-05-11 – Svxt –
23/49
Recall the idea of the “V shape”:
requirements fixed requirements fixed acceptance acceptance system specified system specified system delivered system delivered architecture designed architecture designed system integrated system integrated modules designed modules designed system realised system realised verification & validation
V-Modell XT mainly supports three strategies to develop a system, i.e. principal sequences between decision points:
– 05 – 2015-05-11 – Svxt –
24/49
requirements fixed requirements fixed acceptance acceptance system specified system specified system delivered system delivered architecture designed architecture designed system integrated system integrated modules designed modules designed system realised system realised verification & validation
incremental component based prototypical
– 05 – 2015-05-11 – Svxt –
25/49
Advantages:
thus they may receive increased attention of management and developers
Disadvantages:
Needs to prove in practice, in particular in small/medium sized enterprises (SME).
– 05 – 2015-05-11 – main –
26/49
– 05 – 2015-05-11 – Srup –
27/49
– 05 – 2015-05-11 – main –
28/49
– 05 – 2015-05-11 – Sagile –
29/49 “Agile denoting ‘the quality of being agile; readiness for motion; nimbleness, activity, dexterity in motion’ software development methods are attempting to
with faster and nimbler software development processes. This is especially the case with the rapidly growing and volatile Internet software industry as well as for the emerging mobile application environment.” (Abrahamsson et al., 2002)
The Agile Manifesto (2001): We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software
Customer collaboration
Responding to change
that is, while there is value in the items on the right, we value the items on the left more.
– 05 – 2015-05-11 – Sagile –
30/49
valuable software.
change for the customers competitive advantage.
a preference to the shorter timescale.
they need, and trust them to get the job done.
development team is face-to-face conversation.
should be able to maintain a constant pace indefinitely.
adjusts its behavior accordingly.
– 05 – 2015-05-11 – Sagile –
31/49
restrictions),
recommend or request customer’s presence in the project,
(Ludewig and Lichter, 2013)
– 05 – 2015-05-11 – Sagile –
32/49
– 05 – 2015-05-11 – Sagile –
33/49
XP values:
XP practices:
(including customer)
(→ Delphi method)
the code
. . . ✘ coding . . . tests for . . .
programmer programmer
– 05 – 2015-05-11 – Sagile –
34/49
– 05 – 2015-05-11 – Sagile –
35/49
in contrast to XP no techniques proposed/required Three roles:
customer,
in the product backlog,
requirement(s) to realise in next sprint,
daily scrum,
sprints
developing autonomously,
many requirements to realise in next sprint,
self-organised, team decides who does what when,
support communication and cooperation, e.g. by spatial locality
right way,
process and rules,
not disturbed from
responsible for keeping product backlog up-to-date,
techniques and approaches
– 05 – 2015-05-11 – Sagile –
36/49
requirements,
backlog,
requirements in which sprint,
spring, taken from product backlog,
estimations)
backlog,
remove tasks from sprint backlog,
realised in last sprint,
sprint
– 05 – 2015-05-11 – Sagile –
37/49
Product Backlog sprint planning release planning Release Plan Release Burn. Sprint Backlog
sprint
realisation daily scrum Sprint Burndown review retrospective Sprint Report requirements workshop Product Increment
actions for improvement (if necessary)
– 05 – 2015-05-11 – Sagile –
38/49
members
intensive learning and experience necessary
– 05 – 2015-05-11 – main –
39/49
– 05 – 2015-05-11 – Sprocmet –
40/49
process quality low high product quality high false positive × true positive × × × × × × × low true negative × × × × × false negative × × ×
– 05 – 2015-05-11 – Sprocmet –
41/49
&00,'(99
&00,3URGXFW7HDP
processes for developing b etter products and services
1RYHPEHU 7(&+1,&$/5(3257 &086(,75 (6&75
8QOLPLWHGGLVWULEXWLRQVXEMHFWWRWKHFRS\ULJKW
– 05 – 2015-05-11 – Sprocmet –
42/49
constellations: CMMI-DEV (development), CMMI-ACQ (acquisition), CMMI-SRV (service)
improvement,
– 05 – 2015-05-11 – Sprocmet –
43/49 level level name process areas 1 initial
managed REQM, PP, PMC, MA, PPQA, CM, SAM 3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR 4 quantitatively managed + OPP, QPM 5
+ OID, CAR
– 05 – 2015-05-11 – Sprocmet –
43/49 level level name process areas 1 initial
managed REQM, PP, PMC, MA, PPQA, CM, SAM 3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR 4 quantitatively managed + OPP, QPM 5
+ OID, CAR
– 05 – 2015-05-11 – Sprocmet –
43/49 level level name process areas 1 initial
managed REQM, PP, PMC, MA, PPQA, CM, SAM 3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR 4 quantitatively managed + OPP, QPM 5
+ OID, CAR
monitoring and control (PMC), measurement and analysis (MA), Process and Product Quality Assurance (PPQA), configuration management (CM), supplier agreement management (SAM)
– 05 – 2015-05-11 – Sprocmet –
43/49 level level name process areas 1 initial
managed REQM, PP, PMC, MA, PPQA, CM, SAM 3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR 4 quantitatively managed + OPP, QPM 5
+ OID, CAR
is defined, documented, and used; tailoring for projects.
integration (PI), verification (VER), validation (VAL), organisational process focus (OPF), organisational process definition (OPD), organisational training (OT), integrated project management (IPM), risk management (RSKM), decision analysis and resolution (DAR)
– 05 – 2015-05-11 – Sprocmet –
43/49 level level name process areas 1 initial
managed REQM, PP, PMC, MA, PPQA, CM, SAM 3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR 4 quantitatively managed + OPP, QPM 5
+ OID, CAR
and take countermeasures.
management (QPM)
– 05 – 2015-05-11 – Sprocmet –
43/49 level level name process areas 1 initial
managed REQM, PP, PMC, MA, PPQA, CM, SAM 3 defined + RD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR 4 quantitatively managed + OPP, QPM 5
+ OID, CAR
future; process organisation/techniques change accordingly
resolution (CAR)
– 05 – 2015-05-11 – Sprocmet –
44/49
their generic practices are reached. Example: GG.2 (for level 2) includes
Example: RD (requirements development) includes
particular for area RD SG 1 and SG 2.
– 05 – 2015-05-11 – Sprocmet –
45/49 % of organisations
10.17% 0.91% 32.15% 46.87% 2.00% 7.90% 7.18% 0.95% 25.99% 59.74% 1.42% 4.73% 5.75% 0.36% 23.13% 64.66% 1.51% 4.60% 4.21% 0.22% 22.86% 63.72% 2.76% 6.24% 1.69% 1.33% 20.63% 67.13% 2.14% 7.07% 1.53% 1.39% 17.88% 70.63% 1.46% 7.10% 1.22% 1.03% 15.91% 71.78% 2.69% 7.38% 0.67% 1.34% 16.44% 67.79% 4.70% 9.06% Not Given Initial Managed Defined Quantitatively Managed Optimizing 2007 (1101 Appraisals) 2008 (1058 Appraisals) 2009 (1392 Appraisals) 2010 (1378 Appraisals) 2011 (1357 Appraisals) 2012 (1437 Appraisals) 2013 (1559 Appraisals) 2014 (298 Appraisals)
CMMI level
Statistics on achieved CMMI maturity levels (Source: SEI, Jan. 1, 2007 – Mar. 31, 2014)
– 05 – 2015-05-11 – Sprocmet –
46/49
how — there are examples, but no particular techniques or approaches
selection of sub-contractors (a certificate at least proves that they think about their process)
product quality
for all kinds of software,
processes may require new (expensive) appraisal, in this sense CMMI may hinder innovation,
already in level N − 1?”
– 05 – 2015-05-11 – Sprocmet –
47/49
CMMI 1
aerospace, etc.)
– 05 – 2015-05-11 – main –
48/49
– 05 – 2015-05-11 – main –
49/49 Abrahamsson, P., Salo, O., Ronkainen, J., and Warsta, J. (2002). Agile software development
Beck, K. (1999). Extreme Programming Explained – Embrace Change. Addison-Wesley. H¨
uller, M. (2006). SPICE in der Praxis: Interpretationshilfe f¨ ur Anwender und Assessoren. dpunkt.verlag. Ludewig, J. and Lichter, H. (2013). Software Engineering. dpunkt.verlag, 3. edition. Schwaber, K. (1995). SCRUM development process. In Sutherland, J. et al., editors, Business Object Design and Implementation, OOPSLA’95 Workshop Proceedings. Springer-Verlag. Team, C. P. (2010). Cmmi for development, version 1.3. Technical Report ESC-TR-2010-033, CMU/SEI. V-Modell XT (2006). V-Modell XT. Version 1.4.