Agile Model Driven Development (AMDD)

55
Agile Model Driven Development(AMDD)

Transcript of Agile Model Driven Development (AMDD)

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 1/55

Agile Model DrivenDevelopment(AMDD)

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 2/55

S oftware Development Life Cycle

(S

DLC)It is developing a computer systemIt concerns a process which takes from two months

to two yearsThis is called a system development life cycle

S ystem Development MethodologyS tandard process followed in an organization toconduct all the steps necessary to analyze, design,implement and maintain information systems.

Traditional methodology for developing, maintaining,and replacing information systems

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 3/55

P roject P hases

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 4/55

P otential Deliverables by P hase

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 5/55

R equirements

Inputs:SOW

,P

roposalO utputs:R equirements Document ( R D)

R equirements S pecification Document ( RS D)S oftware R equirements S pecification ( SRS )

1 st P roject Baseline

The ³ W hat´ phaseS oftware P roject Management P lan ( SP MP )R equirements Approval & S ign- O ff

Your most difficult task in this phaseP erhaps most important & difficult phaseS hortchanging it is a µclassic mistake¶ Can begin with a P roject Kickoff MeetingCan end with a S oftware R equirements R eview ( SRR )

For S ponsor and/or customer(s) approval

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 6/55

W hy are R equirements so

Important?

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 7/55

R equirementsCharacteristics & Issues

Conflict of interest: developer vs. customerP otential tug-of-war:

Disagreement on Features & EstimatesEspecially in fixed-price contracts

Frequent requirements changesAchieving sign-off

P roject planning occurs in parallelR equirements are capabilities and conditionto which the system ± more broadly, theproject ± must conform

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 8/55

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 9/55

R equirements

O ther ways of categorizingGo-Ahead vs. Catch-up

R elative to competition

Backward-looking vs. Forward-lookingBackward: address issues with previous versionForward: Anticipating future needs of customers

Must be prioritizedMust-haveS hould-haveCould-have (Nice-to-have: NT H )

Must be approved

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 10/55

Analysis & DesignThe ³ H ow´ P hasesInputs: R equirements DocumentO utputs:

Functional S pecificationDetailed Design DocumentUser Interface S pecificationData ModelP rototype (can also be done with requirements)

Updated P lan (improved estimates; newbaseline)Continues process from R D

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 11/55

Analysis & DesignEnds with Critical Design R eview (CD R )

Formal sign-off Can also include earlier P reliminary Design R eview( P DR ) for high level design

Characteristics & IssuesEnthusiasm via momentumTeam structure and assignments finalizedDelays due to requirements changes, newinformation or late ideasIssues around personnel responsibilitiesUnfeasible requirements (technical complexity)R esource Issues

Including inter-project contention

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 12/55

DevelopmentThe ³Do It´ phaseCoding & Unit testingO ften overlaps Design & Integration phases

To shorten the overall scheduleP M needs to coordinate thisO ther concurrent activities

Design completionIntegration begins

Unit testing of individual componentsTest bed setup (environment and tools)P roject plans updatedS cope and R isk Management conducted

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 13/55

DevelopmentCharacteristics

P ressure increasesS taffing at highest levelsO ften a ³heads-down´ operation

IssuesLast-minute changesTeam coordination (esp. in large projects)Communication overheadManagement of sub-contractors

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 14/55

Integration & TestEvolves from Dev. P haseO ften done as 2 parallel phases

P artial integration & initial testS tarts with integration of modulesAn initial, incomplete version constructedP rogressively add more componentsIntegration primarily a programmer taskTest primarily a QA team taskIntegration:

Top-down: Core functionality first, empty shells forincomplete routines (stubs)Bottom up: gradually bind low-level modulesP refer top-down generally

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 15/55

Integration & TestTests

Integration testingBlack & W hite-box testingLoad & S tress testingAlpha & Beta testing

Acceptance testingO ther activitiesFinal budgeting; risk mgmt.; training; installation preparation; teamreduced

Characteristics & IssuesIncreased pressureO vertimeCustomer conflicts over featuresFrustration over last-minute failuresBudget overrunsMotivation problems (such as burnout)Difficulty in customer acceptance

Esp. true for fixed-price contracts

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 16/55

Deployment & MaintenanceInstallation depends on system typeW eb-based, CD- RO M, in-house, etc.

Migration strategy

H ow to get customers up on the systemP arallel operation

Deployment typically in your project plan, maintenance not

MaintenanceFix defectsAdd new featuresImprove performance

Configuration control is very important hereDocuments need to be maintained alsoS ometimes a single team maintains multiple products

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 17/55

Deployment & MaintenanceCharacteristics & Issues

Lack of enthusiasmP ressure for quick fixesInsufficient budgetToo many patches

P ersonnel turnoverR egression testing is criticalP referably through automated tools

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 18/55

LifecycleP

lanningLifecycle Management or S DLC

Greatly influences your chance of successNot choosing a lifecycle is a bad optionThree primary lifecycle model components

P hases and their orderIntermediate products of each phaseR eviews used in each phase

Different projects require different approachesYou do not need to know all models by nameYou should know how that if given a certain scenario what sort of S DLC would be appropriateThere are more than covered hereA lifecycle is not a design, modeling or diagramming technique

The same technique (UML, DFD, etc) can be used with multiplelifecycles

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 19/55

Pure

Waterfall

The ³granddaddy´ of modelsLinear sequence of phases

³ P ure´ model: no phases overlap

Document drivenAll planning done up-frontW orks well for projects with

S table product definitionW ell-understood technologies

Quality constraints stronger than cost & scheduleTechnically weak staff P rovides structureGood for overseas projects

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 20/55

W aterfall

Follows the ³classic´ S DLC:R equirements Analysis, Design,Coding, Testing, O perations.Great for managing projects andcontrolling clients, lousy foractually building software.

Assumes you can identify andagree on requirements that won¶tchange.Doesn¶t find problems until late inthe game when they¶re verydifficult and expensive to fix.S ets up a very specific set of expectations around creation of artifacts (and getting paid!).

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 21/55

Disadvantages of W

aterfall

Not flexibleR

igid march from start->finishDifficult to fully define requirements upfrontCan produce excessive documentation

Few visible signs of progress until theend

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 22/55

SpiralEmphasizes risk analysis & mgmt. ineach phaseA S eries of Mini-projectsEach addresses a set of ³risks´

S tart small, explore risks, prototype,plan, repeat

Early iterations are ³cheapest´ Number of spirals is variable

Last set of steps are waterfall-like

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 23/55

Iterative: S piral

Concurrent rather thansequential determination of artifactsR eview of objectives,constraints, alternatives, and

risk with commitment toproceedLevel of effort driven by riskconsiderations

Degree of detail driven byrisk considerations

Use of LC O , LCA, I O C anchorpoint milestonesEmphasis on system andlifecycle activities

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 24/55

SpiralAdvantages

Can be combined with other modelsAs costs increase, risks decreaseR isk orientation provides early warnin

DisadvantagesMore complexR equires more management

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 25/55

P rototyping

Iterative development process:R equirements quickly converted to a working systemSystem is continually revisedClose collaboration between users and analysts

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 26/55

P rototyping Model

Advantages: :Good when input/output requirements and userinterface not clear initially

Good for development of ³visible´ parts of the systemFosters communication with customers and usersH elps identify and refine requirements

D isadvantages:

False expectations: customer sees what appears tobe a working productNot good for ³invisible´ aspects of systemEarly unfinished prototypes may perpetuatethemselves

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 27/55

Iterative Model

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 28/55

A nalysis

Design

Programming

Testing,etc.

CoreProduct

A nalysis

Design

Programming

Testing,etc.

A nalysis

Design

Programming

Testing,etc.

Increment 1

Increment 2

Etc.

Integration +R egressionTesting

Th e IncrementalModel

(Linear S equential)

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 29/55

Incremental ModelAdvantages:

Core functionality can be provided quickly

Increments can be planned to manage technical risks(e.g., increment, evaluate, increment, evaluate, etc.)

D isadvanges:

Takes a long time to finish entire systemLater increments may never get done

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 30/55

V P rocess Model

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 31/55

V P

rocess ModelDesigned for testability

Emphasizes V erification & V alidationV ariation of waterfallS trengths

Encourages V & V at all phasesW eaknesses

Does not handle iterations

Changes can be more difficult to handleGood choice for systems that require highreliability such as patient control systems

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 32/55

R apid Application Development( R AD)

Methodology to decrease design andimplementation timeInvolves: prototyping, JAD, CA S E tools, and

code generators

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 33/55

Commercial O ff-The- S helf software(C O TS )

Build-vs.-buy decisionAdvantages

Available immediatelyP otentially lower cost

DisadvantagesNot as tailored to your requirements

R emember: custom software rarelymeets its ideal (so compare thatreality to C O TS option)

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 34/55

Agile Modeling (AM)AM is a chaordic, practices-based process formodeling and documentationAM is a collection of practices based on severalvalues and proven software engineering principlesAM is a light-weight approach for enhancingmodeling and documentation efforts for othersoftware processes such as X P and R UP

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 35/55

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 36/55

eXtreme P rogramming

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 37/55

R ational Unified P rocessR UP

From R ational Corporation ³Generic´ version is the Unified P rocessCommercialExtensive tool support (expensive)O bject-orientedIncrementalNewerDevelop IterativelyManage R equirementsUses UML (Unified Modeling Language)P roduces ³artifacts´ Use component-based architectureV isually model softwareComplex processA ³framework´ S uitable for large scale systems

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 38/55

Elaboration

ConstructionInception

Transition

11

22 33

44

R ational Unified Approach - R UP

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 39/55

phases of the EU P

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 40/55

Iterative: R ational Unified P rocess

Use case-driven, architecture-centric, iterative: tackles risk earlyP hases:

Inception: S cope; Go/No-GoElaboration: Test thearchitectureConstruction: Build the rest

Transition: Tune and handoff

50% done = 50% builtDifferent approach to projectmanagement: challenge to controliterative, incremental development

Prob em

So

ut

on

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 41/55

R UP : Key CharacteristicsIterative: Consistent, improvable, insightful, tangible, measurable

Use case-driven: W hat is the context, who are the actors, how dothey interact with the system, and what observable value do theyderive? For each interaction, what¶s the happy path and what are thealternate paths?

Architecture-centric: W hat are the structural elements and how arethey interfaced? W hat behaviors must result from their interactions?H ow do these structural and behavioral elements fit into the overallsystems context?

time

R

D

C

T

R

D

C

T

R

D

C

T

R

D

C

T

R

D

C

T

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 42/55

Agile Model Driven Development(AMDD) P roject Level

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 43/55

W hat Are Agile Models?Agile models:

Fulfill their purposeAre understandableAre sufficiently

accurateAre sufficientlyconsistentAre sufficientlydetailedP rovide positive value

Are as simple aspossibleAgile models are justbarely enough!

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 44/55

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 45/55

Agile DocumentationTravel light ± You need far less documentation than you think Agile documents:

Maximize stakeholder investmentAre conciseFulfill a purposeDescribe information that is less likely to changeDescribe ³good things to know´Have a specific customer and facilitate the work efforts of that customer Are sufficiently accurate, consistent, and detailedAre sufficiently indexed

V alid reasons to document:Your project stakeholders require itTo define a contract modelTo support communication with an external groupTo think something through

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 46/55

Communication Modes

C o m

m u n

i c a

t i o n

E f f e c t i v e n e s s

Richness of Communication ChannelCold Hot

Paper

Audiotape

Videotape

Emailconversation

Phoneconversation

Videoconversation

Face-to-faceconversation

Face-to-faceat whiteboard

DocumentationOptions

ModelingOptions

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 47/55

N

v

r45%

R ¡ r

¢

y19%

Som t £ m ¤

16%

Oft n13%

w ¡ y ¤

7%

The Cost of Traditional B R UF ³ S uccessful´ P rojects S till H ave S ignificant W aste

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 48/55

AMDD ± S imple Approach

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 49/55

Agile Methods

eXtreme P rogramming (X P )S CR UM

Dynamic S ystems DevelopmentMethod (D S DM)Feature Driven Development (FDD)

AdaptiveS

oftware DevelopmentCrystal« and many more !

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 50/55

Generic Agile P rocess

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 51/55

AMDD ± CA S E Approach

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 52/55

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 53/55

AMDD ± Enterprise Level

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 54/55

Agile S oftware R equirementsManagement

8/6/2019 Agile Model Driven Development (AMDD)

http://slidepdf.com/reader/full/agile-model-driven-development-amdd 55/55