software development lifecycle - fall 2018 · software development lifecycle tuesday, november 19th...

52
Software Development Lifecycle Tuesday, November 19th 1

Upload: others

Post on 05-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Software Development Lifecycle

Tuesday, November 19th

1

Page 2: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Hardware wears out

2

CHAPTER 1 THE PRODUCT

ity is achieved through good design, but the manufacturing phase for hardware canintroduce quality problems that are nonexistent (or easily corrected) for software.Both activities are dependent on people, but the relationship between people appliedand work accomplished is entirely different (see Chapter 7). Both activities requirethe construction of a "product" but the approaches are different.

Software costs are concentrated in engineering. This means that software proj-ects cannot be managed as if they were manufacturing projects.

2. Software doesn't "wear out."

Figure 1.1 depicts failure rate as a function of time for hardware. The relationship,often called the "bathtub curve," indicates that hardware exhibits relatively high fail-ure rates early in its life (these failures are often attributable to design or manufac-turing defects); defects are corrected and the failure rate drops to a steady-state level(ideally, quite low) for some period of time. As time passes, however, the failure raterises again as hardware components suffer from the cumulative affects of dust, vibra-tion, abuse, temperature extremes, and many other environmental maladies. Statedsimply, the hardware begins to wear out.

Software is not susceptible to the environmental maladies that cause hardware towear out. In theory, therefore, the failure rate curve for software should take the form ofthe “idealized curve” shown in Figure 1.2. Undiscovered defects will cause high failurerates early in the life of a program. However, these are corrected (ideally, without intro-ducing other errors) and the curve flattens as shown.The idealized curve is a gross over-simplification of actual failure models (see Chapter 8 for more information) for software.However, the implication is clear—software doesn't wear out. But it does deteriorate!

This seeming contradiction can best be explained by considering the “actual curve”shown in Figure 1.2. During its life, software will undergo change (maintenance). As

7

“Wear out”“Infantmortality”

Time

Failu

re ra

teFIGURE 1.1Failure curvefor hardware

Software doesn’t wearout, but it doesdeteriorate.

Failure curve for hardware

Page 3: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Software doesn't wear out

3

PART ONE THE PRODUCT AND THE PROCESS8

changes are made, it is likely that some new defects will be introduced, causing thefailure rate curve to spike as shown in Figure 1.2. Before the curve can return to theoriginal steady-state failure rate, another change is requested, causing the curve tospike again. Slowly, the minimum failure rate level begins to rise—the software isdeteriorating due to change.

Another aspect of wear illustrates the difference between hardware and software.When a hardware component wears out, it is replaced by a spare part. There are nosoftware spare parts. Every software failure indicates an error in design or in theprocess through which design was translated into machine executable code. There-fore, software maintenance involves considerably more complexity than hardwaremaintenance.

3. Although the industry is moving toward component-based assembly, mostsoftware continues to be custom built.

Consider the manner in which the control hardware for a computer-based productis designed and built. The design engineer draws a simple schematic of the digitalcircuitry, does some fundamental analysis to assure that proper function will beachieved, and then goes to the shelf where catalogs of digital components exist. Eachintegrated circuit (called an IC or a chip) has a part number, a defined and validatedfunction, a well-defined interface, and a standard set of integration guidelines. Aftereach component is selected, it can be ordered off the shelf.

As an engineering discipline evolves, a collection of standard design componentsis created. Standard screws and off-the-shelf integrated circuits are only two of thou-sands of standard components that are used by mechanical and electrical engineersas they design new systems. The reusable components have been created so that theengineer can concentrate on the truly innovative elements of a design, that is, the

FIGURE 1.2Idealized andactual failurecurves forsoftware

Increased failurerate due to side

effects

Time

Failu

re ra

te

Change

Actual curve

Idealized curve

Most softwarecontinues to be custom built.

Software engineeringmethods strive toreduce the magnitudeof the spikes and theslope of the actualcurve in Figure 1.2.

Page 4: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Software doesn't wear out

3

PART ONE THE PRODUCT AND THE PROCESS8

changes are made, it is likely that some new defects will be introduced, causing thefailure rate curve to spike as shown in Figure 1.2. Before the curve can return to theoriginal steady-state failure rate, another change is requested, causing the curve tospike again. Slowly, the minimum failure rate level begins to rise—the software isdeteriorating due to change.

Another aspect of wear illustrates the difference between hardware and software.When a hardware component wears out, it is replaced by a spare part. There are nosoftware spare parts. Every software failure indicates an error in design or in theprocess through which design was translated into machine executable code. There-fore, software maintenance involves considerably more complexity than hardwaremaintenance.

3. Although the industry is moving toward component-based assembly, mostsoftware continues to be custom built.

Consider the manner in which the control hardware for a computer-based productis designed and built. The design engineer draws a simple schematic of the digitalcircuitry, does some fundamental analysis to assure that proper function will beachieved, and then goes to the shelf where catalogs of digital components exist. Eachintegrated circuit (called an IC or a chip) has a part number, a defined and validatedfunction, a well-defined interface, and a standard set of integration guidelines. Aftereach component is selected, it can be ordered off the shelf.

As an engineering discipline evolves, a collection of standard design componentsis created. Standard screws and off-the-shelf integrated circuits are only two of thou-sands of standard components that are used by mechanical and electrical engineersas they design new systems. The reusable components have been created so that theengineer can concentrate on the truly innovative elements of a design, that is, the

FIGURE 1.2Idealized andactual failurecurves forsoftware

Increased failurerate due to side

effects

Time

Failu

re ra

te

Change

Actual curve

Idealized curve

Most softwarecontinues to be custom built.

Software engineeringmethods strive toreduce the magnitudeof the spikes and theslope of the actualcurve in Figure 1.2.

Page 5: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Software doesn't wear out

3

PART ONE THE PRODUCT AND THE PROCESS8

changes are made, it is likely that some new defects will be introduced, causing thefailure rate curve to spike as shown in Figure 1.2. Before the curve can return to theoriginal steady-state failure rate, another change is requested, causing the curve tospike again. Slowly, the minimum failure rate level begins to rise—the software isdeteriorating due to change.

Another aspect of wear illustrates the difference between hardware and software.When a hardware component wears out, it is replaced by a spare part. There are nosoftware spare parts. Every software failure indicates an error in design or in theprocess through which design was translated into machine executable code. There-fore, software maintenance involves considerably more complexity than hardwaremaintenance.

3. Although the industry is moving toward component-based assembly, mostsoftware continues to be custom built.

Consider the manner in which the control hardware for a computer-based productis designed and built. The design engineer draws a simple schematic of the digitalcircuitry, does some fundamental analysis to assure that proper function will beachieved, and then goes to the shelf where catalogs of digital components exist. Eachintegrated circuit (called an IC or a chip) has a part number, a defined and validatedfunction, a well-defined interface, and a standard set of integration guidelines. Aftereach component is selected, it can be ordered off the shelf.

As an engineering discipline evolves, a collection of standard design componentsis created. Standard screws and off-the-shelf integrated circuits are only two of thou-sands of standard components that are used by mechanical and electrical engineersas they design new systems. The reusable components have been created so that theengineer can concentrate on the truly innovative elements of a design, that is, the

FIGURE 1.2Idealized andactual failurecurves forsoftware

Increased failurerate due to side

effects

Time

Failu

re ra

te

Change

Actual curve

Idealized curve

Most softwarecontinues to be custom built.

Software engineeringmethods strive toreduce the magnitudeof the spikes and theslope of the actualcurve in Figure 1.2.

Software deteriorates

Page 6: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

SDLC – Software Development Lifecycle

4https://www.tutorialspoint.com/sdlc/

sdlc_overview.htm

Page 7: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Big Bang Model

Develop code

Understand requirements as you go ahead

Basically, no planning, defining, or designing

5

Page 8: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Waterfall

6

Page 9: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Waterfall

6

Page 10: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

7

Page 11: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

Well documented requirements & documentation

Easy to manage phases across teams

7

Page 12: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

8

Page 13: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

Rigid phases

No working software until late stage

Not much reflection or revision

Big Bang Integration at the end

8

Page 14: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

The impact of change (for waterfall)

9

PART ONE THE PRODUCT AND THE PROCESS14

Practitioner's myths. Myths that are still believed by software practitioners havebeen fostered by 50 years of programming culture. During the early days of software,programming was viewed as an art form. Old ways and attitudes die hard.

Myth: Once we write the program and get it to work, our job is done. Reality: Someone once said that "the sooner you begin 'writing code', the longerit'll take you to get done." Industry data ([LIE80], [JON91], [PUT97]) indicate thatbetween 60 and 80 percent of all effort expended on software will be expended afterit is delivered to the customer for the first time.

Myth: Until I get the program "running" I have no way of assessing its quality. Reality: One of the most effective software quality assurance mechanisms can beapplied from the inception of a project—the formal technical review. Software reviews(described in Chapter 8) are a "quality filter" that have been found to be more effec-tive than testing for finding certain classes of software defects.

Myth: The only deliverable work product for a successful project is the workingprogram. Reality: A working program is only one part of a software configuration that includesmany elements. Documentation provides a foundation for successful engineeringand, more important, guidance for software support.

Myth: Software engineering will make us create voluminous and unnecessary doc-umentation and will invariably slow us down.Reality: Software engineering is not about creating documents. It is about creat-ing quality. Better quality leads to reduced rework. And reduced rework results infaster delivery times.

Many software professionals recognize the fallacy of the myths just described. Regret-tably, habitual attitudes and methods foster poor management and technical practices,even when reality dictates a better approach. Recognition of software realities is thefirst step toward formulation of practical solutions for software engineering.

Definition

1.5–6×

Development

60–100×

After release

Cos

t to

chan

ge

FIGURE 1.3The impact ofchange

Whenever you think,we don’t have time forsoftware engineeringdiscipline, ask yourself:“Will we have time todo it over again?”

Page 15: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Spiral model

10

CHAPTER 2 THE PROCESS

• Customer evaluation—tasks required to obtain customer feedback basedon evaluation of the software representations created during the engineeringstage and implemented during the installation stage.

Each of the regions is populated by a set of work tasks, called a task set, that areadapted to the characteristics of the project to be undertaken. For small projects, thenumber of work tasks and their formality is low. For larger, more critical projects,each task region contains more work tasks that are defined to achieve a higher levelof formality. In all cases, the umbrella activities (e.g., software configuration man-agement and software quality assurance) noted in Section 2.2 are applied.

As this evolutionary process begins, the software engineering team moves aroundthe spiral in a clockwise direction, beginning at the center. The first circuit aroundthe spiral might result in the development of a product specification; subsequentpasses around the spiral might be used to develop a prototype and then progressivelymore sophisticated versions of the software. Each pass through the planning regionresults in adjustments to the project plan. Cost and schedule are adjusted based onfeedback derived from customer evaluation. In addition, the project manager adjuststhe planned number of iterations required to complete the software.

Unlike classical process models that end when software is delivered, the spiralmodel can be adapted to apply throughout the life of the computer software. An alter-native view of the spiral model can be considered by examining the project entry pointaxis, also shown in Figure 2.8. Each cube placed along the axis can be used to rep-resent the starting point for different types of projects. A “concept development

37

Construction & releaseCustomerevaluation

Risk analysisPlanning

Customercommunication

Engineering

Project entrypoint axis

Product maintenance projects

Product enhancement projects

New product development projects

Concept development projects

FIGURE 2.8A typical spiralmodel

Adaptable process model

What is a“task set”??

Page 16: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

11

Page 17: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

Used for medium – high risk projects

Complex and unclear requirements that need evaluation

Early involvement with system development & users

11

Page 18: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

12

Page 19: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

Management & process is complex

Large number of cycles require lots of documentation

When is end of cycle not always clear

12

Page 20: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Iterative model

13

Page 21: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

14

Page 22: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

Major requirements (and risks) are identified upfront

Working model at early stage

Parallel development can be planned

Suited for large, mission critical systems

14

Page 23: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

15

Page 24: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

Defining iterations may require definition of complete system

Not all requirements is gathered upfront; changing requirements still expensive

Increased pressure on user engagement

15

Page 25: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Agile

16

Page 26: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Agile ManifestoIndividuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding 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.

17

Page 27: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

18

Page 28: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Pros

Manage changing requirements

Minimal planning or documentation

Promotes team work & collaboration

Quickly change directions

18

Page 29: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

19

Page 30: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Cons

Overall plan/agile manager

Can't handle complex dependencies

Iterations determine scope of project

Heavy reliance on personnel (minimal documentation, newcomer onboarding, customer interaction)

19

Page 31: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

20

Page 32: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Agile methodsScrum

Kanban

Extreme Programming

DSDM (Dynamic Software Development Method)

Feature Driven Development (FDD)

Behavior Driven Development (BDD)

21http://www.guru99.com/agile-scrum-

extreme-testing.html

Page 33: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Extreme Programming

One the first agile methods

TDD, continuous integration, refactoring were originally introduced by XP.

22

Page 34: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

XP PracticesPair Programming TDD Continuous Integration Refactoring Small Releases Coding Standards Collective Code Ownership Simple Design Sustainable Pace

23

Page 35: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum

24

Page 36: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum terminologyProduct Backlog: An ordered list of everything that is known to be needed in the product. A Product Backlog is never complete.

Increment: The sum of all the Product Backlog items completed during a Sprint plus the value of the increments of all previous Sprints. At the end of a Sprint, the new Increment must be “Done.”

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

25

Page 37: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum terminology

Story Points: A unit of measure for expressing an estimate of the overall effort that will be required to fully implement a product backlog item or any other piece of work.

Velocity: The sum of all the story points that are "Done" at the end of the Sprint.

26

Page 38: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

27

Page 39: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

28

Page 40: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum rolesProduct Owner: is responsible for maximizing the value of the product resulting from the work of the Development Team.

The sole person responsible for managing the Product Backlog

Clearly expressing Product Backlog items.

Ordering the items in the Product Backlog

29

Page 41: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum RolesDevelopment Team: consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint.

They are self-organizing. No one tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality.

30

Page 42: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum RolesScrum Master: responsible for promoting and supporting Scrum.

Helping the team to reach consensus for what can be achieved during a specific period of time. 

Removing obstacles that are impeding the team's progress.

Protecting the team from outside distractions.

31

Page 43: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum ActivitiesSprint planning:

What can be delivered in the Increment resulting from the upcoming Sprint?

How will the work needed to deliver the Increment be achieved?

Time-boxed to a maximum of eight hours for a one-month Sprint.

32

Page 44: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Scrum Activities

Daily Scrum: a 15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours.

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

33

Page 45: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

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

The team discusses:

What went well in the Sprint

What could be improved

What will we commit to improve in the next Sprint

34

Page 46: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Kanban

Work flows continuously through the system, instead of being organized into distinct timeboxes.

Work items are represented visually on a kanban board, allowing team members to see the state of every piece of work at any time.

35

Page 47: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

36

Page 48: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

Work in Progress

In Kanban, Work in Progress is limited.

This allows the team to develop a flow, without loosing time switching between different tasks

The board allows the team to identify blockers, and clear them out quickly.

37

Page 49: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

When to choose a particular kind of process

Page 50: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

When to choose a particular kind of process

Waterfall is often a good choice for small systems whose requirements can be fully understood before any design or coding.

Page 51: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

When to choose a particular kind of process

Waterfall is often a good choice for small systems whose requirements can be fully understood before any design or coding.

Spiral is often a good choice for larger systems with vague requirements and many alternatives for designing and coding.

Page 52: Software Development Lifecycle - Fall 2018 · Software Development Lifecycle Tuesday, November 19th 1. Hardware wears out 2 CHAPTER 1 THE PRODUCT ity is achieved through good design,

When to choose a particular kind of process

Waterfall is often a good choice for small systems whose requirements can be fully understood before any design or coding.

Spiral is often a good choice for larger systems with vague requirements and many alternatives for designing and coding.

Agile is often a good choice for systems where you can rapidly create something very small but useful, and then expand from there.