MethodologiesLife Cycle Models Some Advantages of a Methodology

  • Slides: 24
Download presentation
Methodologies/Life Cycle Models

Methodologies/Life Cycle Models

Some Advantages of a Methodology … • • • Ensures a consistent and repeatable

Some Advantages of a Methodology … • • • Ensures a consistent and repeatable process Creates traceable projects Enables better project communications Makes projects more robust with respect to personnel changes Enhances project troubleshooting and error-correcting Improves accommodation of changes in requirements 2

Some Standard Life Cycle Models • The Waterfall Model (Linear Sequential Model) • Prototyping

Some Standard Life Cycle Models • The Waterfall Model (Linear Sequential Model) • Prototyping Model • Rapid Application Development (RAD) Model • Evolutionary Development Models 3

Waterfall Model • The Waterfall Model (Linear Sequential Model) is the de facto standard

Waterfall Model • The Waterfall Model (Linear Sequential Model) is the de facto standard model • Uses distinct phases • Deliverables of one phase provide input for next phase • Walkthroughs and sign-offs at end of each phase • The BCBSSC methodology is based on the Waterfall Model 4

Waterfall Model (cont’d) Analysis requirements Design program design Code/ Test coded and tested system

Waterfall Model (cont’d) Analysis requirements Design program design Code/ Test coded and tested system Delivery/ Maintenance Implementation Post-Implementation 5

Prototyping Life Cycle Model May be particularly useful when: • User interface is an

Prototyping Life Cycle Model May be particularly useful when: • User interface is an important component of the product • User interface is particularly complex • Customer leaves interface design to systems analyst • Requirements appear to be somewhat in doubt, i. e. not fully agreed upon by customer(s) 6

Prototyping as a Complete Life Cycle Begin Prototype Accepted Determine Requirements & Design Complete

Prototyping as a Complete Life Cycle Begin Prototype Accepted Determine Requirements & Design Complete Implementation and Testing of Production System repeat this cycle Build Mockup of System Evaluate Mockup With Customer 7

Hybrid Prototyping/Waterfall Model requirements Analysis employing prototyping Design This is the most frequent use

Hybrid Prototyping/Waterfall Model requirements Analysis employing prototyping Design This is the most frequent use for prototyping program design Code tested system Delivery/ Maintenance 8

Prototyping: Pros and Cons • Pros • Integral involvement of the customer • More

Prototyping: Pros and Cons • Pros • Integral involvement of the customer • More robust requirements • Great for refining user interfaces • Cons • Customers may have unrealistic expectations for a quick delivery of the final system • Not particularly applicable when complex processing algorithms or performance issues are important 9

Hybrid Model May Be Very Useful. . . • When user interface(s) are: •

Hybrid Model May Be Very Useful. . . • When user interface(s) are: • New • Complex • Not fully agreed upon by customer(s) • When customer: • Has a history of providing poorly thought out requirements • Has little experience in specifying requirements • Leaves interface design to systems analysts Photo by larar 10

Prototypes Can Reduce Surprises • Prototypes can help avoid customer surprises about: • User

Prototypes Can Reduce Surprises • Prototypes can help avoid customer surprises about: • User interfaces • Scope of the system • System work flow issues • How the problem is approached Photo by Benjamin Earwicker 11

RAD (Rapid Application Development) • Rapid Application Development (RAD) Model may be particularly applicable

RAD (Rapid Application Development) • Rapid Application Development (RAD) Model may be particularly applicable when: • Requirements are well understood and scope is tightly constrained • Reusable software components are available • System to be developed is highly modular • “High speed” adaptation of the Waterfall model 12

RAD Characteristics • Requirements must be well understood and scope must be tightly constrained

RAD Characteristics • Requirements must be well understood and scope must be tightly constrained for RAD to be successful • RAD teams work in parallel “Waterfall” development teams • Best employed with highly modular systems Photo by Kenneth De Buck 13

Evolutionary Development Models May be useful when: • Rapid development of incremental versions of

Evolutionary Development Models May be useful when: • Rapid development of incremental versions of the product seems desirable • Not all requirements are known at the beginning and the remaining requirements must be defined over a period of time • Developing “experimental products” in which design of later increments will depend on customer's acceptance of earlier increments 14

Two Evolutionary Models • Incremental Model • Spiral Model 15

Two Evolutionary Models • Incremental Model • Spiral Model 15

Incremental Model • Modified Waterfall model • Deliverable increments of the final product are

Incremental Model • Modified Waterfall model • Deliverable increments of the final product are produced sequentially • Phased delivery • Each phase delivers a usable product Photo by N. Ghorn 16

The Incremental Model -- Strategy • The first increment, or phase, is usually a

The Incremental Model -- Strategy • The first increment, or phase, is usually a “core” or high priority component/product • This core is delivered, evaluated, and used by the customer • Other components or phases are added incrementally • Can be used to “buy” time when budgets and/or schedule will not permit the delivery of the full system at one time 17

Incremental Model -- An Example Suppose our objective is to development a word processing

Incremental Model -- An Example Suppose our objective is to development a word processing system. Using the Incremental model we might: • Develop basic file management, document creation, and editing functions as the first deliverable (the “core” product) • Refine the core and deliver more sophisticated editing capabilities in the second increment • Provide spell-checking in the third increment • Add page layout in the fourth increment • Each increment could be developed using a methodology based on the Waterfall model or the hybrid prototype/Waterfall model 18

Spiral Model • Couples iterative characteristic of prototyping with the incremental model • Rapid

Spiral Model • Couples iterative characteristic of prototyping with the incremental model • Rapid development of partially complete incremental versions of the product Spiral stairway in a Vatican museum Photo by Warren Gibb 19

The Spiral Model -- Strategy • Product is developed in increments, but increments may

The Spiral Model -- Strategy • Product is developed in increments, but increments may be incomplete (prototypes, shells, etc. ) • Increments are delivered, then evaluated for further development • More increments may be added as we learn more about what is required and what will be acceptable 20

Spiral Model Illustrated formulate requirements 2 3 1 analyze needs with customer finish/accept plan

Spiral Model Illustrated formulate requirements 2 3 1 analyze needs with customer finish/accept plan increment modifications 4 start design new and modified (more detailed) increments evaluate with customer 6 5 build & release next version 21

Group Exercise Take a moment or two to consider the following. . • What

Group Exercise Take a moment or two to consider the following. . • What are the strengths/weaknesses of the following models? • • • Waterfall Hybrid waterfall/prototyping RAD Incremental Spiral 22

Team Activity #1 You’ve been assigned to lead the analysis for a new Web-based

Team Activity #1 You’ve been assigned to lead the analysis for a new Web-based proof-of-concept project that will provide Web “front-end” access to your company’s traditionally mainframe-based applications. This will be the company’s first foray into Webbased development. The details of the new system requirements are still a bit sketchy, but management is convinced that such systems will become increasingly important for the future of the company. The company’s primary business is financial and investment services and one of the primary benefits management expects to realize is increased customer self-service and a subsequent reduction in costs of providing a subset of the company’s services. 23

Team Activity #1 (cont’d) Following are some essential features and high-level objectives for the

Team Activity #1 (cont’d) Following are some essential features and high-level objectives for the proof-of-concept system. • The underlying philosophy for the system is one of customer self-service – a new approach for this company. • The system should provide customers direct access to status information appropriate to their current accounts. • The system should provide customers access to their account history with the company. • The system should provide “canned” responses for frequently asked questions about investment strategies. • The system should provide an opportunity for customers to pose additional questions (to be responded to later). Identify what software life cycle model(s) you think might be appropriate for this project. Explain your choice(s). 24