42
SOFTWARE PROJECT MANAGEMENT LECTURE # 4 SOFTWARE DEVELOPMENT FUNDAMENTALS-II 06 th October, 2011 Engr. Ali Javed

LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

  • Upload
    others

  • View
    13

  • Download
    1

Embed Size (px)

Citation preview

Page 1: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

SOFTWARE PROJECT MANAGEMENT

LECTURE # 4

SOFTWARE DEVELOPMENT FUNDAMENTALS-II

06th October, 2011 Engr. Ali Javed

Page 2: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Contact Information 2

Instructor: Engr. Ali Javed

Lecturer

Department of Software Engineering

U.E.T Taxila

Email: [email protected]

Contact No: +92-51-9047592

Office hours:

Monday, 11:00 - 01:00, Office # 7

Engr. Ali Javed

Page 3: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Course Information 3

Course Name: Software Project Management

Course Code: SE-401

CMS Link: http://web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/index.asp

Engr. Ali Javed

Page 4: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Software Models4

Engr. Ali Javed

WaterFall Model

Evolutionary Development

Reuse based Development

Process Iterations

Agile Development

Page 5: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Pure Waterfall5

Engr. Ali Javed

Widely used in 80‟s and 90‟s

The “granddaddy” of models

Linear sequence of phases

“Pure” model: no phases overlap

Document driven

All planning done up-front

Used for medium to large scale projects at that time

Requirementsdefinition

System andsoftware design

Implementationand unit testing

Integration andsystem testing

Operation andmaintenance

Page 6: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Pros and Cons6

Engr. Ali Javed

Works well for projects with

Stable product definition

Enforced discipline through

documents.

No phase is complete until

the docs are done &

checked by SQA group.

Not flexible Rigid march from start->finish

Difficult to fully define

requirements up front

Can produce excessive

documentation

Few visible signs of progress

until the end

Page 7: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Evolutionary Development7

Engr. Ali Javed

Exploratory development

Objective is to work with customers and to evolve a final system from an initial outline specification.

Should start with well-understood requirements. The system evolves by adding new features as they are proposed by customer.

Throw-away prototyping

Objective is to understand the system requirements. Should start with poorly understood requirements

Develop “quick and dirty” system quickly; Expose to user comment; Refine Until adequate system developed.

Particularly suitable where: detailed requirements not possible; powerful development tools (e.g. GUI) available

Page 8: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Evolutionary Development8

Engr. Ali Javed

Applicability

For small or medium-size systems

For parts of large systems (e.g. the user interface)

For short-lifetime systems

ValidationFinal

version

DevelopmentIntermediate

versions

SpecificationInitial

version

Outline

description

Concurrent

activities

Page 9: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Evolutionary Development9

Engr. Ali Javed

Specifications can bedeveloped incrementally

Users get a betterunderstanding of theirproblems

Lack of process visibility

Special skills (e.g. in languages

for rapid prototyping) may be

required

Page 10: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Reuse Based Development10

Engr. Ali Javed

Based on systematic reuse where systems are integrated from existing

components or COTS (Commercial-off-the-shelf) systems

Process stages

Component analysis

Requirements modification

System design with reuse

Development and integration

Page 11: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Reuse Based Development11

Engr. Ali Javed

Saves time, resources

Risk is minimized

User might not get the system

which he/she actually wants

Page 12: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Process Iteration12

Engr. Ali Javed

Modern development processes take iteration as fundamental, and try toprovide ways of managing, rather than ignoring, the risk

System requirements ALWAYS evolve in the course of a project so processiteration where earlier stages are reworked is always part of the process forlarge systems

Iteration can be applied to any of the generic process models

Two (related) approaches

Incremental development

Spiral development

Page 13: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Incremental Development13

Engr. Ali Javed

Rather than deliver the system as a single delivery, the development and

delivery is broken down into increments with each increment delivering

part of the required functionality

User requirements are prioritised and the highest priority requirements are

included in early increments

Once the development of an increment is started, the requirements are

frozen though requirements for later increments can continue to evolve

Valida te

increment

Develop systemincrement

Design systemarchitecture

Integrateincrement

Valida te

system

Define outline requirements

Assign requirements to increments

System incomplete

Finalsystem

Page 14: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Incremental Development [3]

14

Engr. Ali Javed

Customer value can be delivered with

each increment so system functionality is

available earlier

Early increments act as a prototype to

help elicit requirements for later

increments

Lower risk of overall project failure

The highest priority system services tend

to receive the most testing

Less costly to change scope and

requirements.

Easier to test and debug

Easier to manage risk because risky

pieces are identified and handled

during its iteration

Increments should be relatively small

Each phase of an iteration is rigid and do

not overlap each other.

Problems may arise related to system

architecture because not all requirements are

gathered up front for the entire software life

cycle.

Page 15: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Spiral Model15

Engr. Ali Javed

Page 16: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Spiral Model16

Engr. Ali Javed

Process is represented as a spiral rather than as a sequence of activities with

backtracking

Each loop in the spiral represents a phase in the process.

No fixed phases such as specification or design - loops in the spiral are chosen

depending on what is required

Risks are explicitly assessed and resolved throughout the process

Page 17: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Spiral Model17

Engr. Ali Javed

Objective setting

Specific objectives for the phase are identified

Risk assessment and reduction

Risks are assessed and activities put in place to reduce the key risks

Development and validation

A development model for the system is chosen which can be any of the generic models

Planning

The project is reviewed and the next phase of the spiral is planned

Page 18: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

18

What is Agile?

Agile software development is a group of software developmentmethodologies based on iterative and incremental development, whererequirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionarydevelopment and delivery; time boxed iterative approach and encouragesrapid and flexible response to change.

Common Practices

Regular Deployment of Working Software

Pair Programming

Refactoring [14]

Continuous Integration

Test Driven Development (TDD)

Shared Code Ownership

Active Stakeholder Participation

Page 19: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

19

Engr. Ali Javed

Agile Methodology

Page 20: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

20

Some Agile Methodologies

Scrum

Extreme Programming (XP)

Feature-Driven Development (FDD)

Adaptive Software Process

Crystal Light Methodologies

Dynamic Systems Development Method (DSDM)

Lean Development

Engr. Ali Javed

Page 21: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

21

Engr. Ali Javed

SCRUM [10,11]

Scrum is an iterative, incremental framework for project management often

seen in agile software development

It defines a set of activities that can help your team deliver more value to

your customers faster.

These activities provide your customers with the opportunity to review, guide

and influence your team's work as it progresses.

This approach does not attempt to define everything at the start of a

project. Instead, your team works in short iterations (also called sprints) and

refines the plan as the team makes progress.

Page 22: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

22

Engr. Ali Javed

A Model of SCRUM

Page 23: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Scrum Roles23

Engr. Ali Javed

Scrum Master

Team

Product Owner

Page 24: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

24

Engr. Ali Javed

The SCRUM Master [3,5]

In the Scrum process, Scrum Master has a role of

coach , fixer and gatekeeper

The job of the scrum master is to make sure that

the project is progressing smoothly

He sets the meetings, monitor the work and

facilitate release planning

Two important task of scrum master are:

Protecting the team from outside disturbance

Clears the ways for the team by helping them to

solve their problems

Page 25: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

25

Engr. Ali Javed

The SCRUM Team [4]

In Scrum, an ideal team would include seven members, plus or minus two.

Usually, teams are comprised of cross-functional members, including

software engineers, architects, programmers, analysts, QA experts, testers,

UI designers, etc. It is recommended all team members be located in the

same room, called the team room.

the team has the autonomy to determine how and when to complete its

work. As long as the team finishes its work by the deadline and under

budget, it is entirely up to the team to determine how that happens.

Page 26: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

26

Engr. Ali Javed

The Product Owner [6]

In Scrum, the Product Owner is the one

person responsible for a project‟s

success.

The Product Owner outlines work in the

Product backlog

Product Owner makes sure that right

features to be included in the product

backlog

Of course, he or she must also consider

the stakeholders (to make sure their

interests are included in the release)

and the team (to make sure the

release is developed by the deadline

and within budget).

Page 27: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

27

Engr. Ali Javed

The Product Owner [6]

Page 28: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Scrum Artifacts28

Engr. Ali Javed

Product Backlog

Sprint Backlog

Sprint

Burn down Chart

Page 29: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

29

Engr. Ali Javed

Product Backlog

Contains all the currently known requirements for a product

Is managed by the Product Owner and can change as needed

Page 30: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

30

Engr. Ali Javed

Sprint Backlog

Contains the set of prioritized Product Backlog items that are currently being

worked on

Page 31: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

31

Engr. Ali Javed

Sprint [7]

The product is developed in a series of 1-to-4-week iterations, or sprints. Before a

sprint is begun, a Sprint Planning Meeting is held to determine what features are to

be implemented in that sprint. The sprint has 4 major steps: Develop the product further - implement, test, and document.

Wrap up the work - get it ready to be evaluated and integrated.

Review the work done in this sprint.

Adjust for any changes in requirements or plans.

Results in an incremental delivery of usable product

Page 32: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

32

Engr. Ali Javed

Sprint Burn down Chart [9]

The estimated work remaining in the sprint is calculated daily and graphed,

resulting in a Sprint Burn down Chart

The vertical axis displays the hours of effort remaining for the Sprint.

The horizontal axis displays the days of the Sprint.

The burn down is supposed to be shown by the line of descent from the start

of the Sprint with the starting hours, down to the end of the Sprint with no

hours remaining.

Page 33: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

Scrum Meetings33

Engr. Ali Javed

Release Planning Meeting

Sprint Planning Meeting

Sprint Review Meeting

Sprint Retrospective Meeting

Daily Scrum Meeting

Page 34: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

34

Engr. Ali Javed

Release Planning

Page 35: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

35

Engr. Ali Javed

Release Planning

Page 36: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

36

Engr. Ali Javed

Sprint Planning Meeting

A meeting at the beginning of a sprint where the sprint is planned.

Items from the Product Backlog are selected to be completed in the sprint,

based on the priorities set by the Product Owner. Eight hour time limit

(1st four hours) Product Owner + Team: dialog for prioritizing the Product Backlog

(2nd four hours) Team only: hashing out a plan for the Sprint, resulting in the Sprint

Backlog

Page 37: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

37

Engr. Ali Javed

Sprint Review Meeting [7]

Review the work that was completed and not completed

Present the completed work to the stakeholders (a.k.a. “the demo”)

Incomplete work cannot be demonstrated

Four hour time limit

Page 38: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

38

Engr. Ali Javed

Sprint Retrospective Meeting [8]

The sprint retrospective meeting is time boxed to 3 hours.

It is attended only by the team, the scrum master and the product owner. The product

owner is optional.

Make continuous process improvements

Start the meeting by having all team members answer two questions;

What went well during the sprint?

What could be improved in the next sprint?

Page 39: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

39

Engr. Ali Javed

Daily SCRUM Meeting

Brief „Stand-up‟ meeting each morning with SCRUM Team only

Duration is 15 min

Three questions are asked

What value did you add yesterday?

What value will you add today?

What will stop you making progress?

Page 40: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

References40

1. Software Engineering by Roger Pressman

2. Software Engineering by Ian Sommerville

3. http://3back.com/scrum/certified-scrummaster-training/

4. http://scrummethodology.com/the-scrum-team-role/

5. YouTube - Scrum Master in Under 10 Minutes (HD) by @hamids.wmv

6. http://scrummethodology.com/scrum-product-owner/

7. http://www.codeproject.com/KB/architecture/scrum.aspx

8. http://abrachan.net/scrum/scrum/sprint-retrospective-meeting/

9. http://epf.eclipse.org/wikis/scrum/Scrum/workproducts/sprint_burndown_chart_F647C347.html

10. http://en.wikipedia.org/wiki/Scrum_%28development%29

11. http://msdn.microsoft.com/en-us/library/dd997796.aspx

12. http://en.wikipedia.org/wiki/Test_harness

13. http://en.wikipedia.org/wiki/Timeboxing

14. http://en.wikipedia.org/wiki/Code_refactoring

15. http://en.wikipedia.org/wiki/Adaptive_Software_Development

16. http://productdevelop.blogspot.com/2011/07/what-is-adaptive-software-development.html

Engr. Ali Javed

Page 41: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

References41

17. http://en.wikipedia.org/wiki/Feature-driven_development

18. http://en.wikipedia.org/wiki/Lean_software_development

19. http://www.lean.org/whatslean/

20. http://cseweb.ucsd.edu/users/wgg/CSE131B/Design/node6.html

21. http://en.wikipedia.org/wiki/Extreme_Programming

22. http://www.learnmanagement2.com/flat%20structure.htm

23. http://books.google.com.pk/books?id=8o1eom6ifIMC&pg=PA17&lpg=PA17&dq=difference+between

+perceived+integrity+and+conceptual+integrity&source=bl&ots=m1VuEK93KM&sig=5TcbxyjCdO57O

J7VlvC4TLk3ELI&hl=en&ei=VXmWTruiLITKhAeng62EBA&sa=X&oi=book_result&ct=result&resnum=3&ve

d=0CC0Q6AEwAg#v=onepage&q=difference%20between%20perceived%20integrity%20and%20co

nceptual%20integrity&f=false

Engr. Ali Javed

Page 42: LECTURE # 4web.uettaxila.edu.pk/CMS/AUT2011/seSPMbs/notes/SPM_Lec4.pdfSpiral Model 16 Engr. Ali Javed Process is represented as a spiral rather than as a sequence of activities with

For any query Feel Free to ask42

Engr. Ali Javed