We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byMabel Randall
Modified about 1 year ago
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1
Define Agile Methodologies Explain when to use Agile Methodologies and when to use engineering-based approaches to systems development Define eXtreme Programming Discuss the Agile Methodology approach to systems requirements determination, design specifications, and the combination of coding and testing Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.2
Three Phases of Systems Analysis Since Inception › Undisciplined (Developer as Artist) Lack of documentation and development tools High degree of dependence upon developer for maintenance › Developer as Engineer Documentation Rigorous testing Structured tools and techniques Computer-based tools Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.3
Three Phases of Systems Analysis Since Inception (continued) › Agile Methodologies Object-oriented approach Sacrifices milestones and multiple phases Close cooperation between developers and clients Many life cycle phases combined into one Multiple rapid releases of software Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.4
Many Different Methodologies nder Umbrella › Crystal family of methodologies › Adaptive Software Development › Scrum › Feature Driven Development › eXtreme Programming Agile Manifesto Developed in February 2001 (Figure B-1) › Three Key Principles: Focus on adaptive rather than predictive methodologies Focus on people rather than roles Self-adaptive process Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.5
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.6
Engineering Methodologies Do Not Fit Well with Software Development › Engineering requirements are well understood; software requirements often are not › In many engineering projects, design is only 15 percent of project; in software engineering, design can be as much as 50 percent Agile Methodologies Embrace Change and Deal with Lack of Predictability › Iterative development Provides feedback to customers and developers alike › Focus on individuals › Adaptive software development process Process can be refined and improved as software is developed Agile Methodologies are Recommended for Projects That Involve: › Unpredictable or dynamic requirements › Responsible and motivated developers › Customers who understand and will get involved Engineering Approach is Recommended when: › Project involves more than 100 people › Project is operating under fixed-price or fixed-scope contract Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.7
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.8
One Example of Agile Methodologies Distinguished by: › Short development cycles › Incremental planning approach › Focus on automated tests › Reliance on evolutionary approach to development › Use of two-person (pair) programming teams › Customer on-site during development process Relates to Design Specifications › Planning, design, analysis, and construction are fused together into a single phase of activity › Systems requirements are captured and presented in a unique way › Programmers who write code also write the tests Pair Programming › All programming is done by two people working together › Includes coding and testing › Advantages More communication among developers Higher levels of productivity Higher quality code Reinforcement of other practices, such as code and test discipline Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.9
Continual User Involvement › Traditional Approach Users involved in early stage User signs off at project completion Often, system business processes changed during development System many times did not adequately address user’s needs › Iterative Process of User Feedback Agile Usage-Centered Design › Process of eight steps › See Table B-2 › Most effective steps: Venting session Use of 3 x 5 cards Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.10
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.11
The Planning Game › Players Business (Customers) Development › Game pieces are story cards Created by Business Contain description of a feature or procedure Each card is dated and numbered › Three Phases Exploration Business creates a story card Development responds with a time estimate Commitment Business sorts cards into three stacks: essential, non-essential but add value, and nice to have Development sorts story cards according to risk Business selects cards that will be used in next release Steering Business sees how development is progressing Plan is adjusted accordingly Can take place as often as once every three weeks Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.12
The Planning Game (continued) › Iteration Planning Game Follows planning game Played only by programmers Uses task cards Same three phases Exploration Programmers convert story cards to task cards Commitment Programmers accept responsibility for tasks Balance workloads Steering Write code and test Integrate into product Takes place between steering phase meetings of planning game Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.13
eXtreme Programming Employs Two Techniques to Continually Improve Quality of Design › Simple Design Four constraints The system must communicate everything that you want it to communicate The system must contain no duplicate code The system should have the fewest possible classes The system should have the fewest possible methods › Refactoring Process of simplifying a system after new features have been added Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.14
Traditional systems development involves an implementation phase In eXtreme Programming and Other Agile Methodologies, implementation is complete once testing has been done Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.15
Trend to Agile Methodologies eXtreme Programming as an Example › Continual user involvement › Agile-Centered approach › Pair programming › The Planning Game Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.16
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2012 Pearson Education, Inc. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Extreme Programming ( an introduction ). Software Engineering Computer programming as an engineering profession rather than an art or a craft Meet expectations:
Basic SDLC Models. Agenda SDLC definition Waterfall SDLC V-Shape SDLC Spiral SDLC RUP SDLC Agile methods.
Testing Relational Database. Overview Once the design of a database system has been completed, the developers are ready to move into the implementation.
Software Development Practices and Methodologies Svetlin Nakov Telerik Corporation
1 Computer Systems & Architecture Lesson 3 5. Designing the Architecture.
Agile and Open Development Neil Chue Hong, OMII-UK Ross Gardler, OSS-Watch JISC e-Infrastructure Programme Meeting Birmingham, 7 Feb 2008.
Management Information Systems MANAGING THE DIGITAL FIRM, 12 TH EDITION GLOBAL EDITION BUILDING INFORMATION SYSTEMS Chapter 13 VIDEO CASES Case 1: IBM:
Extreme Programming Patrick Mattis Alana Trafford Akarsh Sakalaspur.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Rapid Software Development IS301.
© University of Glamorgan1 Extreme Programming and its effect on project management Second Computing Project Management Workshop 13 September 02, University.
Unit-V -SOFTWARE QUALITY. To develop and deliver robust system, we need a high level of confidence that Each component will behave correctly Collective.
תהליך הפיתוח האחוד (The Unified Process) 1. Motivation: Analysis and Design Should Be Done Iteratively! Presented 1981, this is one of the most famous.
1 Notes content copyright © 2004 Ian Sommerville. NU-specific content © 2004 M. E. Kabay. All rights reserved. Software Processes IS301 – Software Engineering.
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
© 2005 by Prentice Hall Chapter 6 Determining System Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
Software Development QA Best Practices May 20, 2010 Suzette Hackl, CSM Senior Project Manager Skyline Technologies, Inc.
IT203 Unit 2: Gather Information and Define Requirements Gathering Information Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter2.1.
Kathy Reed June 4, 2013 IIBA Austin CBAP Study Guide for the Business Analyst Body of Knowledge (BABOK) Version 2.0.
An Introduction to eXtreme Programming Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
1 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
HCI in the Software Process and Design Rules. Overview Software Engineering provides a means of understanding the structure of the design process, and.
Slide 3.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach.
Ch-10 Configuration Management. Introduction A software project produces a number of items during its execution including various documents, manuals,
Ch-6 Effort Estimation and Scheduling. Introduction A proper effort estimation method is a requirement for the software project planning KPA of CMM level.
© 2014 by McGraw-Hill Education. This is proprietary material solely for authorized instructor use. Not authorized for sale or distribution in any manner.
ISBN Prentice-Hall, 2006 Chapter 1 What is Software Engineering? Copyright 2006 Pearson/Prentice Hall. All rights reserved.
© Connextra 2003 John Nolan & Rachel Davies Connextra.
© 2016 SlidePlayer.com Inc. All rights reserved.