Ernest Cachia Department of Computer Information Systems

Slides:



Advertisements
Similar presentations
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Advertisements

SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
SDLC – Beyond the Waterfall
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
1 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
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,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
Chapter 3 Agile Development
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
DSDM Dynamic Systems Development Method. DSDM Methodology Goals On time Within budget Of desired quality.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
10 key principles of agile software development
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
44222: Information Systems Development
Some Rapid Application Development (RAD) Principles Dr. Ernest Cachia.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
CHAPTER 9: LEARNING OUTCOMES
Software Engineering cosc 4359 Spring 2017.
Embedded Systems Software Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Development - Methodologies
Agile Methods SENG 301.
Agile Methodology and Scrum
AGILE SCRUM METHODOLOGY
Shifting to Agile: Are University Libraries Ready?
Methodologies and Algorithms
The Project Infrastructure
Appendix B Agile Methodologies
Software Engineering Process
Chapter 1: Introduction to Systems Analysis and Design
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Business System Development
Valuable Project Management Tools and Techniques
Chapter 1 The Systems Development Environment
Software Development methodologies
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Iterative and Agile Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Chapter 1 The Systems Development Environment
Copy rights  Exam Eligibility  Exam Pattern  Pre requisites  Content Distribution  Tools and Techniques  Domains and Tasks for.
Project Management and the Agile Manifesto
Tim Hirner - Flagship Speakers January 23, 2014
Methodologies For Systems Analysis.
How to Successfully Implement an Agile Project
Chapter 2 Software Processes
Timebox Development Instructor: Manfred Huber
CIS 210 Systems Analysis and Development
Agile Process: Overview
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
DSDM ArLinda A. Carroll.
Project Lifecycle and IT Product Life Cycle
Appendix B Agile Methodologies
Rapid software development
Agile software development
Chapter 1: Introduction to Systems Analysis and Design
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presented by: Dishant Mittal CS 846
Presentation transcript:

Ernest Cachia Department of Computer Information Systems CIS1107/1207 – RAD (batch 5) Rapid Application Development (RAD) In this part we look at the agile approach taken to software development. Agile, or rapid, development techniques are an attempt to maintain software quality while making development faster to increase competitiveness in today’s software development market. Ernest Cachia Department of Computer Information Systems

Agile Development Principles Priority given to individuals and interaction, rather than to processes and tools (trust, personal communication, quality of work, responsibility, self-management at micro-level) Attention to working parts of solution, rather than to comprehensive documentation (tangible results, client reassurance, evident solution parts) Importance to customer involvement, rather than contractual detachment (stakeholder participation, transparency, collaboration, feedback, client acceptance) Reactive to change, rather than railed into a rigid plan (flexibility, relevance, result effectiveness, client satisfaction) General points only taken from www.agilealliance.org Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems RAD Principles All stakeholders - must take active part in decision taking - can take binding decisions Deliverables - are frequent - must clearly map on to the business process - are bite-sized All development effort is reversible Requirements are agreed upon at a high level - the method of their actual implementation is not that important Testing permeates the SDLC Collaboration, not competition between stakeholders is of essence Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems Main RAD Features User involvement Strict (and usually fast) delivery times Prototyping Effective use of modern development tools Reduction of the requirements capture and analysis effort Incremental development The next slides will go through each feature Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems User Involvement JAD Decision taking Sign-offs Prototype demos Bite size development focus Problem detection and correction Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems Strict Delivery Times Timebox approach 2 to 6 weeks Prioritisation (MoSCoW rules) Must, Should, Could, Want to have User agreement Power of decision Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems Prototyping The main communication tool in RAD Requires planning Serve as milestones Should be measureable Can take any form horizontal or vertical Is generally evolutionary in nature Ernest Cachia Department of Computer Information Systems

Effective use of Modern Techniques The “educated” use of: Models Methods Techniques Technologies Environments Ernest Cachia Department of Computer Information Systems

Reduction of Requirements Capture and Analysis Effort Less time on getting every part right as early as possible at model level, producing a “ready” solution. More time on doing smaller bits, asking for feedback, combining the bits to “grow” the solution. Shift of some analysis effort from developer to user. Ernest Cachia Department of Computer Information Systems

Incremental Development The current version of evolves from a simpler previous version Development can be subdivided into manageable parts Requires good configuration management to work Small development chunks are a must Frequent deliverables are a must Ernest Cachia Department of Computer Information Systems

DSDM- An SDLC based on RAD Dynamic Systems Development Method (DSDM) Is a standard used throughout the UK and a number of other countries. Yet others, use it sparingly Is an “open” method – i.e. non-commercialised Is supported by a consortium also called the “DSDM Consortium” see site: dsdm.org (registration might be required) Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems The DSDM Framework From http://dsdm.org Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems DSDM Does not specify a particular method of development to use in its phases Just offers a framework upon which development may proceed and at which points and what sort of milestone to produce Really only covers analysis, design and implementation phases Ernest Cachia Department of Computer Information Systems

RAD Principles (9 in all) (1/2) Win-Win (my addition) All stakeholders must take active part All stakeholders can take binding decisions Deliverables are frequent Deliverables must clearly map on to the business process Deliverables are bite-sized Ernest Cachia Department of Computer Information Systems

RAD Principles (9 in all) (2/2) All development effort is reversible Requirements are agreed upon at a high level – i.e. the method of their actual implementation is not that important Testing permeates the SDLC Collaboration, not competition between stakeholders is of essence Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems The DSDM Filter When to use DSDM? Answer these… Is the functionality visible through the UIs? Can all end user classes be identified? Is the system heavy on computation? Is the system “large” and can it be sensibly split up? How time-constrained is the project? Are requirements abstract enough and can they change within limits? Ernest Cachia Department of Computer Information Systems

Systems that can benefit from DSDM Interactive Based on UIs (functionally) User groups are clearly defined Not too complex Can be incrementally developed Time-wise guaranteed Requirements can be prioritised Requirements can undergo changes Ernest Cachia Department of Computer Information Systems

Examples of Agile Methodologies XP (Taken to be generically representative of all the “agile” methodologies) This method was outlined in the previous slides Scrum (first created in 1994, commercially used in 2002/3) This method is based on iterative (usually 30-day) segments called “sprints”. Autonomous teams work in parallel on pre-prioritised requirements and synchronise through short daily meetings called “Scrums”. Crystal (2002) This method is developer-centric. It assumes that the main project quality driver is the quality of people. Also relies on frequent communication and less intermediate deliverables. Adaptive Software Development (2000) This is a feature-oriented method that is driven by the development of features as understood by the client. Change is expected and risk is tackled “head-on” by tackling the most complex issues first. Ernest Cachia Department of Computer Information Systems

Ernest Cachia Department of Computer Information Systems Summary The concepts behind agile development methods Rapid Application Development (RAD) Examples of some agile methodologies Ernest Cachia Department of Computer Information Systems