Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 © 2008 Pearson Prentice Hall.

Slides:



Advertisements
Similar presentations
Software Project Management
Advertisements

Managing Information Technology 6th Edition
E. Wainright Martin Carol V. Brown Daniel W. DeHayes Jeffrey A. Hoffer William C. Perkins MANAGINGINFORMATIONTECHNOLOGY FIFTH EDITION CHAPTER 10 M ETHODOLOGIES.
Alternate Software Development Methodologies
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
1 Modeling System and Prototyping. 2 Introduction  Techniques for gathering users’ requirements  should be used in early stage(s) of SDLC  Information.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Agile Modeling and Prototyping Systems Analysis and Design, 8e Kendall & Kendall 6.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Chapter 1 The Systems Development Environment
Agile Modeling and Prototyping
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Agile Modeling and Prototyping
Chapter 6 Prototyping, RAD, and Extreme Programming
Chapter 1 Assuming the Role of the Systems Analyst
Chapter 8 Prototyping and Rapid Application Development
Effective systems development requires a team effort from stakeholders, users, managers, systems development specialists, and various support personnel,
Systems Analysis and Design Kendall & Kendall Sixth Edition
Agile Modeling and Prototyping
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Fundamentals of Information Systems, Second Edition
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Principles of Information Systems, Sixth Edition 1 Systems Investigation and Analysis Chapter 12.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Investigation and Analysis Chapter 12.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Chapter 1 The Systems Development Environment
Introduction to Computer Technology
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
Chapter 2: Approaches to System Development
Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 © 2008 Pearson Prentice Hall.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
RAD Model BY - Dhivakaran.JM.
Chapter 1 The Systems Development Environment
Laudon & Laudon: Canadian Edition
Managing the development and purchase of information systems (Part 1)
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Current Trends in Systems Develpment
Information Systems Technology Ross Malaga "Part III - Building and Managing Information Systems" III 11 Copyright © 2005 Prentice Hall, Inc MANAGING.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
3/5/2009Computer systems1 Agile Modeling and Prototyping Prototyping Agile Modeling a collection of innovative, user-centered approaches to systems development.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
Copyright © 2011 Pearson Education Agile Modeling and Prototyping Systems Analysis and Design, 8e Kendall & Kendall Global Edition 6.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
The Systems Development Environment Systems Analysis and Design II.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
To RAD or not to RAD? RAD is the relatively new kid on the block. You know the one. The one with all the flashy stuff and is practically the Usain Bolt.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Chapter 1 Assuming the Role of the Systems Analyst.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Software Engineering cosc 4359 Spring 2017.
Software Development - Methodologies
Appendix B Agile Methodologies
CASE Tools and Joint and Rapid Application Development
Rapid Application Development
Agile Modeling and Prototyping
Agile Modeling and Prototyping
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Appendix B Agile Methodologies
Chapter 8 Prototyping and Rapid Application Development
Lesson 2 Prototyping.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 © 2008 Pearson Prentice Hall

Kendall & Kendall6-2 Learning Objectives Understand the roots of agile modeling in prototyping and the four main types of prototyping Be able to use prototyping for human information requirements gathering Understand the concept of RAD for use in human information requirements gathering and interface design Understand agile modeling and the core practices that differentiate it from other development methodologies Learn the importance of values critical to agile modeling Understand how to improve efficiency for users who are knowledge workers using either structured methods or agile modeling

Kendall & Kendall6-3 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 & Kendall6-4 Major Topics Prototyping Rapid application development (RAD) Agile Modeling

Kendall & Kendall6-5 Prototyping Patched-up Nonoperational First-of-a-series Selected features

Kendall & Kendall6-6 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 & Kendall6-7 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 & Kendall6-8 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, and if successful, duplicates are installed at all locations based on customer usage patterns and other key factors

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

Kendall & Kendall6-10 Figure 6.1 Four kinds of prototypes (clockwise, starting from the upper left)

Kendall & Kendall6-11 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 & Kendall6-12 Guidelines for Developing a Prototype Work in manageable modules Build the prototype rapidly Modify the prototype in successive iterations Stress the user interface

Kendall & Kendall6-13 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

Kendall & Kendall6-14 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 & Kendall6-15 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 & Kendall6-16 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 & Kendall6-17 RAD (Rapid Application Development) An object-oriented approach to systems development that includes a method of development as well as software tools

Kendall & Kendall6-18 RAD Phases Requirements planning RAD design workshop Implementation

Kendall & Kendall6-19 Figure 6.4 The RAD design workshop is the heart of the interactive development process

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

Kendall & Kendall6-21 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 & Kendall6-22 Implementation Phase As the systems are built and refined, the new systems or part of systems are tested and then introduced to the organization When creating new systems, there is no need to run old systems in parallel

Kendall & Kendall6-23 Martin’s Pioneering Approaches to RAD Requirements planning User design Construction Cutover

Kendall & Kendall6-24 Figure 6.5 Martin’s phases of RAD

Kendall & Kendall6-25 Software Tools for RAD Microsoft Access, Microsoft Visual Basic, Visual C++, 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 & Kendall6-26 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 & Kendall6-27 Figure 6.6 The RAD design workshop and the SDLC approach compared

Kendall & Kendall6-28 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 & Kendall6-29 Disadvantages of RAD Trying to hurry the project too much Lack of documentation

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

Kendall & Kendall6-31 Values and Principles of Agile Modeling Communication Simplicity Feedback Courage

Kendall & Kendall6-32 Figure 6.7 Values are crucial to the agile approach

Kendall & Kendall6-33 The Basic Principles of Agile Modeling Providing rapid feedback Assuming simplicity Changing incrementally Embracing change Encouraging quality work

Kendall & Kendall6-34 Figure 6.8 Five Agile Principles guide the systems analyst through a successful project

Kendall & Kendall6-35 Activities, Resources, and Practices of Agile Modeling Coding Testing Listening Designing

Kendall & Kendall6-36 Four Resource Control Variables of Agile Modeling Time Cost Quality Scope

Kendall & Kendall6-37 Four Core Agile Practices Short releases 40-hour work week Onsite customer Pair programming

Kendall & Kendall6-38 Figure 6.9 The core practices are interrelated with agile modeling’s resources, activities, and values

Kendall & Kendall6-39 The Agile Development Process Exploration Planning Iterations to the first release Productionizing Maintenance

Kendall & Kendall6-40 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 & Kendall6-41 Figure 6.10 User stories can be recorded on cards. The user story should be brief enough for an analyst to determine what systems features are needed

Kendall & Kendall6-42 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 & Kendall6-43 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 & Kendall6-44 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 & Kendall6-45 Figure 6.11 There are six vital lessons that can be drawn from the agile approach to systems

Kendall & Kendall6-46 Scrum Product backlog Sprint backlog Sprint Daily scrum Demo

Kendall & Kendall6-47 Comparing Agile Modeling and Structured Methods Improving the efficiency of systems development Risks inherent in organizational innovation

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

Kendall & Kendall6-49 Figure 6.13 Adopting new information systems involves balancing several risks

Kendall & Kendall6-50 Summary Prototyping Patched-up system Nonoperational First-of-a-series Selected-features Prototype development guidelines Prototype disadvantages

Kendall & Kendall6-51 Summary (Continued) Prototype advantages Users’ role in prototyping Agile modeling Five values of the agile approach Principles of agile development Agile activities Agile resources

Kendall & Kendall6-52 Summary (Continued) Core practices of the agile approach Stages in the agile development process User stories Agile lessons Scrum methodology Dangers to adopting innovative approaches