se 01 - intro to agile

32
02/09/08 02/09/08 Basic Engineering Methods Basic Engineering Methods 1 1 Software Engineering Software Engineering

Upload: tyler-lavel-bradshaw

Post on 31-May-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 1/32

02/09/0802/09/08 Basic Engineering MethodsBasic Engineering Methods 11

Software EngineeringSoftware Engineering

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 2/32

02/09/08 2

Why do we care?Why do we care?► 60%60% of Software Projects overrun theirof Software Projects overrun their

schedule and initial resource requirements.schedule and initial resource requirements.► 40%40% of all Projects fail to meet their initialof all Projects fail to meet their initial

objectives and requirements.objectives and requirements.► 70%70% of people will work on a failed project inof people will work on a failed project in

two years.two years.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 3/32

02/09/08 3

Basic Engineering StepsBasic Engineering Steps► Eliciting functional goalsEliciting functional goals► Requirements analysisRequirements analysis► DesignDesign► CodingCoding► Unit testingUnit testing► System testingSystem testing► Regression analysisRegression analysis► IntegrationIntegration► Integration testingIntegration testing► MaintenanceMaintenance

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 4/32

02/09/08 4

Basic EngineeringBasic Engineering Steps

Steps► Eliciting functional goalsEliciting functional goals► Requirements analysisRequirements analysis► DesignDesign► CodingCoding► Unit testingUnit testing► System testingSystem testing► Regression analysisRegression analysis► IntegrationIntegration► Integration testingIntegration testing► MaintenanceMaintenance

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 5/32

02/09/08 5

Waterfall MethodWaterfall MethodRequirements

Design

Coding

Testing

Integration

Evaluation

Maintenance

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 6/32

02/09/08 6

Waterfall ResultsWaterfall ResultsRequirements

Design

Coding

Testing

Integration

Evaluation

Maintenance

Reqs & Use cases

Architecture

System

Verified System

Integrated System

Feedback

Plan

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 7/32

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 8/32

02/09/08 8

The Problem The Problem

Communication flows in one direction…down towards product

Ford story

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 9/32

02/09/08 9

AdvantagesAdvantages

► You always know what you are doing You always know what you are doing► Forces disciplineForces discipline►

Each step is clear and can be signedEach step is clear and can be signedoff onoff on► Project timeline can be managed on aProject timeline can be managed on a

macro levelmacro level► Looks like good businessLooks like good business

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 10/32

02/09/08 10

DisadvantagesDisadvantages

► Limited communicationLimited communication► No user feedbackNo user feedback►

Resistant to changeResistant to change► Project can not be managed on aProject can not be managed on a

micro scalemicro scale

► Limited predictabilityLimited predictability► Has nothing to do with good businessHas nothing to do with good business

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 11/32

02/09/08 11

Basic EngineeringBasic Engineering ProcessesProcesses► Eliciting functional goalsEliciting functional goals► Requirements analysisRequirements analysis► DesignDesign► CodingCoding► Unit testingUnit testing► System testingSystem testing► Regression analysisRegression analysis► IntegrationIntegration► Integration testingIntegration testing► MaintenanceMaintenance

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 12/32

02/09/08 12

What are we doing?What are we doing?

ManufacturingManufacturing

► It is possible to haveIt is possible to havecomplete specs thatcomplete specs thatyou can build to.you can build to.

DevelopmentDevelopment

► It is rare that youIt is rare that youknow what you areknow what you arebuilding before youbuilding before youhave to start buildinghave to start buildingit.it.

A factory floor versus a new house

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 13/32

02/09/08 13

What are we doing?What are we doing?

ManufacturingManufacturing

► We can estimate costsWe can estimate costs

up front.up front.► We can identify, define,We can identify, define,and schedule alland schedule allactivities.activities.

Change is theChange is theexception, not the rule.exception, not the rule.

DevelopmentDevelopment

► Up front estimation isUp front estimation is

problematic.problematic.► Activities emerge fromActivities emerge fromthe process of the process of development.development.

Change is the rule. AtChange is the rule. Atall levels.all levels.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 14/32

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 15/32

02/09/08 15

ChangeChange

► All of these factors lead to the need toAll of these factors lead to the need toembrace changeembrace chan ge ..

Embracing change is at the heart of Embracing change is at the heart of agile methodsa gile methods ..

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 16/32

02/09/08 16

ChangeChange

► All of these factors lead to the need toAll of these factors lead to the need toembrace changeembrace chan ge ..

Embracing change is at the heart of Embracing change is at the heart of agile methodsa gile methods ..

Iterative and Incremental DevelopmentIterative and Incremental Devel opment are how agile methods work.are how agile methods work.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 17/32

02/09/08 17

The Agile Manifesto The Agile Manifesto

Individuals and interactionsIndividuals and interactions overover processes and tools.processes and tools.

Working softwareWorking software overover comprehensivecomprehensivedocumentation.documentation.

Customer collaborationCustomer collaboration overover contract negotiation.contract negotiation.

Responding to changeResponding to change overover following a plan.following a plan.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 18/32

02/09/08 18

The Agile Principles The Agile Principles

1: Our highest priority is to satisfy the1: Our highest priority is to satisfy thecustomer through early and continuouscustomer through early and continuousdelivery of valuable software.delivery of valuable software.

What does a customer want?What does a customer want?

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 19/32

02/09/08 19

The Agile Principles The Agile Principles

2: Welcome changing requirements,2: Welcome changing requirements,even late in development. Agileeven late in development. Agileprocesses must harness change for theprocesses must harness change for thecustomer's competitive advantage.customer's competitive advantage.

What is the difference betweenWhat is the difference between allowingallowi ng andand embracingembracin g change?change?

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 20/32

02/09/08 20

The Agile Principles The Agile Principles

3: Deliver working software frequently,3: Deliver working software frequently,from a couple of weeks to a couple of from a couple of weeks to a couple of months, with a preference for themonths, with a preference for theshorter timescale.shorter timescale.

What is the difference betweenWhat is the difference betweendeliveringdelivering

and releasing code?and releasing code?

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 21/32

02/09/08 21

The Agile Principles The Agile Principles

4: Business people and developers work4: Business people and developers worktogether daily throughout the project.together daily throughout the project.

How does this change business?How does this change business?How does this change the developers?How does this change the developers?

The legacy of timesharing

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 22/32

02/09/08 22

The Agile Principles The Agile Principles

5: Build projects around motivated5: Build projects around motivatedindividuals, give them the environmentindividuals, give them the environmentand support they need and trust them toand support they need and trust them toget the job done.get the job done.

What is the role of the manager?What is the role of the manager?

Analogy to producers

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 23/32

02/09/08 23

The Agile Principles The Agile Principles

6: The most efficient and effective6: The most efficient and effectivemethod of conveying information withmethod of conveying information withand within a development team is face-and within a development team is face-to-face conversation.to-face conversation.

Understanding trumps documents.Understanding trumps documents.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 24/32

02/09/08 24

The Agile Principles The Agile Principles

7: Working software is the primary7: Working software is the primarymeasure of progress.measure of progress.

If a project is going to fail, find out early.If a project is going to fail, find out early.Specs can’t fail. Documentation can’tSpecs can’t fail. Documentation can’t

fail. Architectures can’t fail.fail. Architectures can’t fail.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 25/32

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 26/32

02/09/08 26

The Agile Principles The Agile Principles

9: Continuous attention to technical9: Continuous attention to technicalexcellence and good design enhancesexcellence and good design enhancesagility.agility.

Nimble doesn’t equal sloppy.Nimble doesn’t equal sloppy.

Agile doesn’t equal lax.Agile doesn’t equal lax.

~Rapid ApplicationDevelopment

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 27/32

02/09/08 27

The Agile Principles The Agile Principles

10: Simplicity—the art of maximizing the10: Simplicity—the art of maximizing theamount of work not done—is essential.amount of work not done—is essential.

If you focus on theIf you focus on the tasktask … then that’s… then that’sall you have to do.all you have to do.

If you focus on theIf you focus on the solutionsolution ……

Crossen’s Law

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 28/32

02/09/08 28

The Agile Principles The Agile Principles

11: The best architectures,11: The best architectures,requirements and designs emerge fromrequirements and designs emerge fromself-organizing teams.self-organizing teams.

Form follows failure.Form follows failure.

Ford project “task manager”

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 29/32

02/09/08 29

The Agile Principles The Agile Principles

12: At regular intervals, the team12: At regular intervals, the teamreflects on how to become morereflects on how to become moreeffective, then tunes and adjusts itseffective, then tunes and adjusts itsbehavior accordingly.behavior accordingly.

Remember, people over process.Remember, people over process.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 30/32

02/09/08 30

Agile MethodsAgile Methods

► Scrum: Self directed teams.Scrum: Self directed teams.

XP: Collaboration + quick and earlyXP: Collaboration + quick and earlycodingcoding

►EVO: Short iterations over phases.EVO: Short iterations over phases.

► UP (RUP): Very short developmentUP (RUP): Very short development

cycles.cycles.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 31/32

02/09/08 31

Features that define themFeatures that define them► The practice. The practice.

► The cycles. The cycles.

► The ceremony. The ceremony.

The work products. The work products.

► The roles. The roles.

8/15/2019 SE 01 - Intro to Agile

http://slidepdf.com/reader/full/se-01-intro-to-agile 32/32

02/09/08 32

But they all come down toBut they all come down to

People over processPeople over process