Agile Modeling and Prototyping

6

Systems Analysis and Design, 7e Kendall & Kendall
© 2008 Pearson Prentice Hall

Agile Modeling, but First Prototyping
• Agile modeling is a collection of innovative, user-centered approaches to systems development • Prototyping is an information-gathering technique useful in seeking user reactions, suggestions, innovations, and revision plans
Kendall & Kendall 6-2

Major Topics
• Prototyping • Rapid application development (RAD) • Agile Modeling

Kendall & Kendall

6-3

Prototyping
• • • • Patched-up Nonoperational First-of-a-series Selected features

Kendall & Kendall

6-4

Figure 6.1 Four kinds of prototypes (clockwise, starting from the upper left)

Kendall & Kendall

6-5

Patched-Up Prototype • A system that works but is patched up or patched together • A working model that has all the features but is inefficient • Users can interact with the system • Retrieval and storage of information may be inefficient Kendall & Kendall 6-6 .

Breadboarding Kendall & Kendall 6-7 .

Patched-Up Prototype • A system that works but is patched up or patched together • A working model that has all the features but is inefficient • Users can interact with the system • Retrieval and storage of information may be inefficient Kendall & Kendall 6-8 .

Nonoperational Scale Models • A nonworking scale mode that is set up to test certain aspects of the design • A nonworking scale model of an information system might be produced when the coding required by the application is too expensive to prototype but when a useful idea of the system can be gained through prototyping of the input and output only Kendall & Kendall 6-9 .

and if successful. duplicates are installed at all locations based on customer usage patterns and other key factors Kendall & Kendall 6-10 .First-of-a-Series Prototype • Creating a pilot • Prototype is completely operational • Useful when many installations of the same information system are planned • A full-scale prototype is installed in one or two locations first.

but not all. essential features are included • Built in modules • Part of the actual system Kendall & Kendall 6-11 . but not all. of the features that the final system will have • Some.Selected Features Prototype • Building an operational model that includes some.

Figure 6. starting from the upper left) Kendall & Kendall 6-12 .1 Four kinds of prototypes (clockwise.

Prototyping as an Alternative to the Systems Life Cycle • Two main problems with the SDLC • Extended time required to go through the development life cycle • User requirements change over time • Rather than using prototyping to replace the SDLC use prototyping as a part of the SDLC Kendall & Kendall 6-13 .

Guidelines for Developing a Prototype • Work in manageable modules • Build the prototype rapidly • Modify the prototype in successive iterations • Stress the user interface Kendall & Kendall 6-14 .

User interface Kendall & Kendall 6-15 .

Disadvantages of Prototyping • It can be difficult to manage prototyping as a project in the larger systems effort • Users and analysts may adopt a prototype as a completed system • Not scalable Kendall & Kendall 6-16 .

Advantages of Prototyping • Potential for changing the system early in its development • Opportunity to stop development on a system that is not working • Possibility of developing a system that more closely addresses users’ needs and expectations Kendall & Kendall 6-17 .

Prototyping Using COTS Software • Sometimes the quickest way to prototype is through the modular installation of COTS software • Some COTS software is elaborate and expensive. but highly useful Kendall & Kendall 6-18 .

Users’ Role in Prototyping • Honest involvement • Experimenting with the prototype • Giving open reactions to the prototype • Suggesting additions to or deletions from the prototype Kendall & Kendall 6-19 .

RAD (Rapid Application Development) • An object-oriented approach to systems development that includes a method of development as well as software tools Kendall & Kendall 6-20 .

RAD Phases • Requirements planning • RAD design workshop • Implementation Kendall & Kendall 6-21 .

4 The RAD design workshop is the heart of the interactive development process Kendall & Kendall 6-22 .Figure 6.

Requirements Planning Phase • Users and analysts meet to identify objectives of the application or system • Orientation is toward solving business problems Kendall & Kendall 6-23 .

RAD Design Workshop • Design and refine phase • Use group decision support systems room if available • Users respond to actual working prototypes • Analysts refine designed modules based on user responses Kendall & Kendall 6-24 .

there is no need to run old systems in parallel Kendall & Kendall 6-25 . the new systems or part of systems are tested and then introduced to the organization • When creating new systems.Implementation Phase • As the systems are built and refined.

Martin’s Pioneering Approaches to RAD • • • • Requirements planning User design Construction Cutover Kendall & Kendall 6-26 .

Figure 6.5 Martin’s phases of RAD Kendall & Kendall 6-27 .

and Microsoft .NET • Differ from one another in their: • Capabilities to support client/server applications • Ease of use and the amount of programming skill that is required Kendall & Kendall 6-28 .Software Tools for RAD • Microsoft Access. Microsoft Visual Basic. Visual C++.

Comparing RAD to the SDLC • RAD software tools are used to generate screens and exhibit the overall flow of the running of the application • RAD users are signing off on a visual model representation • RAD implementation is less stressful because users have helped to design the business aspects of the system Kendall & Kendall 6-29 .

6 The RAD design workshop and the SDLC approach compared Kendall & Kendall 6-30 .Figure 6.

When to Use RAD • The team includes programmers and analysts who are experienced with it • There are pressing reasons for speeding up application development • The project involves a novel ecommerce application and needs quick results • Users are sophisticated and highly engaged with the goals of the company Kendall & Kendall 6-31 .

Disadvantages of RAD • Trying to hurry the project too much • Lack of documentation Kendall & Kendall 6-32 .

user-centered approaches to systems development • Tries to define an overall system plan quickly. develop and release software quickly.Agile Modeling • Agile methods are a collection of innovative. and then continuously revise the software to add additional features Kendall & Kendall 6-33 .

Values and Principles of Agile Modeling • • • • Communication Simplicity Feedback Courage Kendall & Kendall 6-34 .

Figure 6.7 Values are crucial to the agile approach Kendall & Kendall 6-35 .

The Basic Principles of Agile Modeling • • • • • Providing rapid feedback Assuming simplicity Changing incrementally Embracing change Encouraging quality work Kendall & Kendall 6-36 .

8 Five Agile Principles guide the systems analyst through a successful project Kendall & Kendall 6-37 .Figure 6.

Resources. and Practices of Agile Modeling • • • • Coding Testing Listening Designing Kendall & Kendall 6-38 .Activities.

Four Resource Control Variables of Agile Modeling • • • • Time Cost Quality Scope Kendall & Kendall 6-39 .

Four Core Agile Practices • • • • Short releases 40-hour work week Onsite customer Pair programming Kendall & Kendall 6-40 .

The Agile Development Process • • • • • Exploration Planning Iterations to the first release Productionizing Maintenance Kendall & Kendall 6-41 .

Writing User Stories • Spoken interaction between developers and users • Seeking first and foremost to identify valuable business user requirements • The goal is prevention of misunderstandings or misinterpretations of user requirements Kendall & Kendall 6-42 .

Remember the following • • • • • • • • Ice 9 Bar Tube Vegas Kidney 11 Woman Kendall & Kendall 6-43 .

Remember the following Kendall & Kendall 6-44 .

Remember the following • • • • • • • • Vegas Bar Woman Ice 9 11 Tube Kidney Kendall & Kendall 6-45 .

10 User stories can be recorded on cards.Figure 6. The user story should be brief enough for an analyst to determine what systems features are needed Kendall & Kendall 6-46 .

and GUI testers • Tools for quality assurance • Measuring system and component performance • Source code configuration management • Development environments Kendall & Kendall 6-47 .Development Tools for Agile Modeling • Tools that facilitate collaboration • Tools that support defect management • Automated unit testers. acceptance testers.

Kendall & Kendall 6-48 .

and GUI testers • Tools for quality assurance • Measuring system and component performance • Source code configuration management • Development environments Kendall & Kendall 6-49 .Development Tools for Agile Modeling • Tools that facilitate collaboration • Tools that support defect management • Automated unit testers. acceptance testers.

Kendall & Kendall 6-50 .

Development Tools for Agile Modeling • Tools that facilitate collaboration • Tools that support defect management • Automated unit testers. acceptance testers. and GUI testers • Tools for quality assurance • Measuring system and component performance • Source code configuration management • Development environments Kendall & Kendall 6-51 .

Kendall & Kendall 6-52 .

and GUI testers • Tools for quality assurance • Measuring system and component performance • Source code configuration management • Development environments Kendall & Kendall 6-53 . acceptance testers.Development Tools for Agile Modeling • Tools that facilitate collaboration • Tools that support defect management • Automated unit testers.

Lessons Learned from Agile Modeling • Short releases allow the system to evolve • Pair programming enhances overall quality • Onsite customers are mutually beneficial to the business and the agile development team Kendall & Kendall 6-54 .

Lessons Learned from Agile Modeling (Continued) • The 40-hour work week improves worker effectiveness • Balanced resources and activities support project goals • Agile values are crucial to success Kendall & Kendall 6-55 .

Figure 6.11 There are six vital lessons that can be drawn from the agile approach to systems Kendall & Kendall 6-56 .

Comparing Agile Modeling and Structured Methods • Improving the efficiency of systems development • Risks inherent in organizational innovation Kendall & Kendall 6-57 .

Figure 6.12 How Davis and Naumann’s (1999) strategies for improving efficiency can be implemented using two different development approaches Kendall & Kendall 6-58 .

36925796.0.:165 :99:765:: 51.:951:514613:/.6.33 .%:5692:67  :5..4:9664 .:  :96710:65:7769.::.6.51957.7:  5.3:.33 51../3  :9:9:7651.3.

 .

6::.51..9/3. 69.333 51.9 .33 .695631::.1.65#.9.4:.5.4:.33 51..5::..:.51951  .65  509.:  :.96101.::..4: .4:57.55::.55.6.9.47345.9:56 51.4:697..

 .

555 :91:5 65:.9.65 .0:.:73.5:#65957796.90.33 51.69 51..6 %     %8945.33 .

 .

9  % .33 .::6 51.9.33 51.5:7.

 .

33 51.51 096:6.445:233.00::  096:6.&6..95.3.:99 .33 .51..:.9'663:69%  096:6.9  ..6:7769.56.:0  :./3. !'  996465.7730.465.6 7969.7.:..3 .035.:9891 51..:6:.65:  .

 .

51/.&  %:6..65  %47345.371.::..95556.69.:70.65:3:::.95%..7730.:.9::3 /0.9:1..61:5 .9:55665.4 51../:5::.663:.6....647.3 4613979:5.33 .:6.33 51.6 59..::9:.9.:095:.33 366.65  %:9:.

 .

00647.9  '%1:5692:67 .33 51.51.&.7796.33 .91 51.

 .

7730.3:.563064490 .65136745..45031:7969.979501.1..563:.65.  '9.5.0647.5 51.33 51.0.51 .9:67:.3:6.  '7960..33 .1.5.979::59.513 5...:6.6:%  '.7730.:  :9:.6.449:.5151:8029:3..:65:69:715 7.

 .

..02616045.699.33 .7960.65 51.6640  ..33 51.:6%  '95.5.1.:..

 .

9.61:. :9.656 556..06330.3 6135  34.

:6.5193.11.51.3.11.473.569.0:.::6.33::.5 8023 1367.33 51.9.6.7796.  '9:..6 ::..9: 51.91.4:136745.33 .65.615.56:39: ..05.5065.9 8023 .

 .

65 &4730. 51..33 51.02 69.51#95073:63 6135     64450..33 . 1/.3:.

 .

9090..33 .33 51.3:.6 .3.3.0 51.7796.9  .

 .

02 ::45:4730.:0#95073:63 6135      #96159.5 5069.5550945.'.33 4/9.33 51.33 . .3.050..711/.58.692 51.

 .

 ::.3:.. 51.4:.:00::37960.9  3#95073:1.33 51.5.96.33 .

 .

33 51.0..: %:690: .55 :55 51.0:63 6135     615 ':.0.33 .51 #9.5 :.

 .

963.9.69%:69065.33 51./3: 63 6135     '4 6:. $. &067 51.3.33 .

 .

93.0.:: .0:     &69.69693#9.

0:.33 51.97969.649 #.33 .696922 "5:.445 51.

 .

6.33 .65 #3.: #9610.33 51.93.'336745.5.5.65:.555 .50 51.9.9:...#960::      7369.655 .

 .

. .516946:.:  '6.: 51.9.65: 6:998945../3/:5:::998945.615.65/.3:795.515:694:5.0.33 ..9.5:9&.656 4:519:.979.3.51:9:  &259:...69:  &76255.513679: .33 51.

 .

9 '/ .: 15  64.%44/9.33 .5 51.33 51.63365         0  .

 .

33 51.33 .63365 51.%44/9.

 .

33 .63365         .: .5 0   '/ 15 51.33 51.9 64.%44/9.

 .

33 51.9:.6 1.91: ' :9:..5.4:..3:.5/906911650.69:631//95669.945.33 ..69:0.5.9  :9:.::.9511 51.

 .

:7769.15.9: .007../69. 79694.:95::..33 51.  ....36745.: 51.64.:.50  .50  &6900610659..4.:.50.510647655.45.:.0633.'663:693 6135  '663:.9:  '663:698.03..596545.65  '663:..  36745.4.3.9:  ..::9.33 .51.654.10..5....45.5.

 .

33 51.33 .51.

 .

64..45.4.'663:693 6135  '663:.5.51.::9.65  '663:....596545.:.9: .50..654.45.007.50  ...03..50  &6900610659.510647655.:..:.36745.: 51./69..3..:95::.9:  '663:698. 79694.:7769..9:  .10.33 51.  36745.0633.  ..33 .4.5.15.

 .

33 .51.33 51.

 .

4.45.65  '663:.4.:95::..3.15.. 79694.36745..9:  '663:698.33 ..50..:.:.  36745.: 51.:..0633..33 51.654.51.510647655..::9.'663:693 6135  '663:.:7769.596545.5.9:  ./69.  .03.45.9: .10.....50  &6900610659.64.007.50  .5..

 .

33 51.33 .51.

 .

03.5.510647655..51.33 51.9:  .64.9: ..50  .4..50  &6900610659.:7769..15..5.10..'663:693 6135  '663:.36745.0633.33 ...:.9:  '663:698...45.:.65  '663:..:95::.3.. 79694./69.007.4.45..50.654.596545.:.::9.  .  36745.: 51.

 .

33 8.4..93.33 51.97969.::65:.9519643 6135  &69.4455.3 136745.33 /50.3...  "5:.51.336.33 .3./:5::.6 63  #.6.::.649:..94.0:.::.50:69.4 51.

 .

::65:.9519643 6135 65.51  '.

51..6969224796: 69290.3:.5::  .6:00:: 51.3.33 .9090.6.3.0.33 51.: :7769.5019:690:.3:  3.7960.

 .

9  '9..4: 51..33 51..0.9:.33::65:.3.33 .5964.5 /19..0.7796.6::.

 .

33 .33 51..  %:2:595.953 6135.61:  47965..4: 136745.569.91 .647.65.3 556.65 51.51 &.5.90.0506::.

 .

:69479650500.1 :5.33 51.9  6.0: 51.55:   :.5/47345.6195...:.4.7796.9.136745.33 .51!.

 .