0% found this document useful (0 votes)
13 views

2-SoftEng-DevelopmentProcess (1)

Uploaded by

somi somi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

2-SoftEng-DevelopmentProcess (1)

Uploaded by

somi somi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

7/3/2024

Software Development Process


www.cs.uoi.gr/~zarras/http://www.cs.uoi.gr/~zarras/se.htm

Slides material sources:


Software Engineering - Theory & Practice, S. L. Pfleeger
Introduction to Software Engineering, I. Sommerville
SWEBOK v3: IEEE Software Engineering Body of Knowledge

Software engineering
fundamentals

1
7/3/2024

What is software?

What is software?

Computer programs and associated documentation.

Software products may be developed for a particular customer or may be


developed for a general market.

2
7/3/2024

What is software engineering?

What is software engineering?

ISO/IEC/IEEE Systems and Software Engineering Vocabulary (SEVOCAB)


defines software engineering as

“the application of a systematic, disciplined,


quantifiable approach to the development,
operation, and maintenance of software;

that is, the application of engineering to software”

3
7/3/2024

Development process
fundamentals

What is a process?

4
7/3/2024

What is a process ?

A process is a series of steps involving activities that take some input,


constraints, and resources to produce an intended output of some kind.

A process involves a set of tools and techniques.

What is a software
development process?

10

5
7/3/2024

What is a software development process


model ?

A structured set of activities required to develop a software system.

There are many different software processes but all involve these key
activities:

Requirements specification – defining what the system should do.

Design and implementation – defining the organization of the system and


implementing the system.

Verification & Validation – checking if it works correctly and if it does


what the customer wants.

Evolution – changing the system in response to changing customer needs.

11

What is a software development


process model?

12

6
7/3/2024

What is a development process model?

A software process model is a abstract representation of a process.

It presents a description of a process from some particular perspective.

A process description may include:


Activities that constitute the process.
Products, which are the outcomes of a process activity;
Roles, which reflect the responsibilities of the people involved in the
process;
Pre- and post-conditions, which are statements that are true before and
after a process activity has been enacted or a product produced.

It is usually given in some notation like a simple directed graph with


nodes & edges, a UML activity diagram, a BPMN process model, a Gantt
chart.... and many more ...

13

Well known software


development processes … a
historical retrospection

14

7
7/3/2024

How do we develop small


programs for internal
operation/personal use?

15

The code & fix model

In the introduction of the Spiral model Boehm refers to


the basic model used in the earliest days of software.

Write Fix the


some code problems

16

8
7/3/2024

What is wrong with that?

17

The code & fix model


After a number of fixes, subsequent fixes may become
very expensive.

Frequently, the software becomes a poor match to users’


needs that it is rejected or redeveloped.

Write Fix the


some code problems

18

9
7/3/2024

The code & fix model

Code is expensive to fix because of poor preparation for


testing and modification.

Lack of requirements analysis and design.

Write Fix the


some code problems

19

How do we develop larger


programs for delivery to a
customer?

20

10
7/3/2024

The stage wise model

H.D. Benington, Production of Large


Computer Programs, In ONR Symp.
Advanced Programming Methods for Digital
Computers, pp. 15-27, 1956.

Also available in Annals of the History of


Computing, pp. 350-361, 1983 and in Proc.
9th Int’l Conf. Software Engineering (ICSE),
1987.

21

The waterfall model W. W. Royce, Managing the Development


of Large Software Systems: Concepts and
Techniques, Proc. of Wescon, 1970.

Also available in Proc. 9th Int’l Conf.


Software Engineering (ICSE), 1987

A highly influential refinement of the


stage-wise model. It provided two
primary enhancements to the stage-wise
model

22

11
7/3/2024

The waterfall model W. W. Royce, Managing the Development


of Large Software Systems: Concepts and
Techniques, Proc. of Wescon, 1970.

Also available in Proc. 9th Int’l Conf.


Software Engineering (ICSE), 1987

(1) Recognition of the feedback


loops between stages, and a
guideline to confine the feedback
loops to successive stages to
minimize the expensive rework
involved in feedback across many
stages.

23

The waterfall model


W. W. Royce, Managing the Development
of Large Software Systems: Concepts and
Techniques, Proc. of Wescon, 1970.

Also available in Proc. 9th Int’l Conf.


Software Engineering (ICSE), 1987

(2) An initial incorporation


of prototyping in the
software life cycle, via a
“build it twice” step
running in parallel with
requirements analysis
and design.

24

12
7/3/2024

The waterfall model


W. W. Royce, Managing the Development
of Large Software Systems: Concepts and
Techniques, Proc. of Wescon, 1970.

Also available in Proc. 9th Int’l Conf.


Software Engineering (ICSE), 1987

Document the
design – At least
6 documents
maintained during
the whole process.

25

The evolutionary development model


McCracken and Jackson, Life-Cycle
Concept Considered Harmful, ACM
Software Engineering Notes, pp. 29-32,
1982.

26

13
7/3/2024

Ok, but how about risks and


alternatives?

27

The spiral model


Barry W. Boehm, A Spiral Model of Software
Development and Enhancement, IEEE
Computer 21(5), pp. 61-72, 1988.

28

14
7/3/2024

The spiral model


Barry W. Boehm, A Spiral Model of
Software Development and
Enhancement, IEEE Computer 21(5),
pp. 61-72, 1988.

29

Agile approaches …

30

15
7/3/2024

Agile methods

Dissatisfaction with the overheads involved in


conventional processes of the 1980s and 1990s
led to the creation of agile methods.

The aim of agile methods is to reduce


overheads in the software process (e.g. by
limiting documentation) and to be able to
respond quickly to changing requirements
without excessive rework.

31

Agile manifesto

32

16
7/3/2024

eXtreme Programming (XP)

33

XP model
http://www.extremeprogramming.org/

34

17
7/3/2024

35

36

18
7/3/2024

Scrum

37

Scrum
https://www.scrumguides.org/

Scrum is a process framework that has been used to manage work on


complex products since the early 1990s.

Scrum is not a process, technique, or definitive method. Rather, it is a


framework within which you can employ various processes and
techniques.

Ken Schwaber and Jeff Sutherland

38

19
7/3/2024

Scrum Team
https://www.scrumguides.org/

The Product Owner is the person responsible for managing the Product Backlog.
Product Backlog management includes:

1. Clearly expressing Product Backlog items;


2. Ordering the items in the Product Backlog to best achieve goals and missions;
3. Ensuring that the Product Backlog is visible, transparent, and clear to all, and
shows what the Scrum Team will work on next;
4. Ensuring the Development Team understands items in the Product Backlog to
the level needed.

39

Scrum Team
https://www.scrumguides.org/

The Development Team consists of professionals who do the work of delivering a


potentially releasable Increment of “Done” product at the end of each Sprint.

A “Done” increment is required at the Sprint Review. Only members of the


Development Team create the Increment.

<= 3 Size of team < 9

40

20
7/3/2024

Scrum Team
https://www.scrumguides.org/

The Scrum Master is responsible for promoting and supporting Scrum as defined
in the Scrum Guide.

Scrum Masters do this by helping everyone understand Scrum theory, practices,


rules, and values.

41

Scrum Events
https://www.scrumguides.org/

The Sprint

The heart of Scrum is a Sprint, a time-box of one month or less during which a
“Done”, useable, and potentially releasable product Increment is created. Sprints
have consistent durations throughout a development effort.

A new Sprint starts immediately after the conclusion of the previous Sprint.

Sprints contain and consist of the Sprint Planning, Daily Scrums, the development
work, the Sprint Review, and the Sprint Retrospective.

During the Sprint: No changes are made that would endanger the Sprint
Goal; Quality goals do not decrease; and, Scope may be clarified and re-
negotiated between the Product Owner and Development Team as more is
learned.

42

21
7/3/2024

Scrum Events
https://www.scrumguides.org/

Sprint Planning

Sprint Planning is time-boxed to a maximum of eight hours for a one-month


Sprint. For shorter Sprints, the event is usually shorter.

Sprint Planning answers the following:


1. What can be delivered in the Increment resulting from the upcoming Sprint?
2. How will the work needed to deliver the Increment be achieved?

What => select from Program Backlog

How => designing the product

43

Scrum Events
https://www.scrumguides.org/

Daily Scrum

The Daily Scrum is a 15-minute time-boxed event for the Development Team. The
Daily Scrum is held every day of the Sprint.

Here is an example of what might be used:

What did I do yesterday that helped the Development Team meet the Sprint Goal?

What will I do today to help the Development Team meet the Sprint Goal?

Do I see any impediment that prevents me or the Development Team from


meeting the Sprint Goal?

44

22
7/3/2024

Scrum Events
https://www.scrumguides.org/

Sprint Review

A Sprint Review is held at the end of the Sprint to inspect the Increment and
adapt the Product Backlog if needed.

During the Sprint Review, the Scrum Team and stakeholders collaborate about
what was done in the Sprint. Based on that and any changes to the Product
Backlog during the Sprint, attendees collaborate on the next things that could be
done to optimize value.

This is an informal meeting, not a status meeting, and the presentation of the
Increment is intended to elicit feedback and foster collaboration.This is at most a
four-hour meeting for one-month Sprints. For shorter Sprints, the event is usually
shorter

45

Scrum Events
https://www.scrumguides.org/

Sprint Retrospective

The Sprint Retrospective is an opportunity for the Scrum Team to inspect itself
and create a plan for improvements to be enacted during the next Sprint.

1. Inspect how the last Sprint went with regards to people, relationships, process,
and tools;
2. Identify and order the major items that went well and potential improvements;
3. Create a plan for implementing improvements to the way the Scrum Team
does its work.

46

23
7/3/2024

Scrum Artefacts
https://www.scrumguides.org/

Product Backlog

The Product Backlog is an ordered list of everything that is known to be needed in


the product.

The Product Owner is responsible for the Product Backlog, including its content,
availability, and ordering.

A Product Backlog is never complete.

The Product Backlog lists all features, functions, requirements, enhancements, and
fixes that constitute the changes to be made to the product in future releases.
Product Backlog items often include test descriptions

47

Scrum Artefacts
https://www.scrumguides.org/

Sprint Backlog
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus
a plan for delivering the product Increment and realizing the Sprint Goal.

The Sprint Backlog is a forecast by the Development Team about what


functionality will be in the next Increment and the work needed to deliver that
functionality into a “Done” Increment.

As work is performed or completed, the estimated remaining work is updated.

48

24

You might also like