Current Trends in Systems Develpment

Slides:



Advertisements
Similar presentations
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--
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
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.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
Agile
17 Systems Analysis and Design in a Changing World, Fifth Edition.
Agile Software Development Matt Rice November 27, 2006.
COMP 350: Object Oriented Analysis and Design Lecture 2
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
16 Systems Analysis and Design in a Changing World, Fourth Edition.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Get quality results faster: Agile Projects and your team Presenters: Laurie Barnas and Wendy Taylor, Associate Registrars, University of Victoria.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 17 Current Trends in System Development
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the Agile Development philosophy  List and describe the features.
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
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,
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Extreme Programming Based on and
Software Engineering (CSI 321) An Agile View of Process 1.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Approaches to Systems Development
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
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, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Iterative and Agile Development
Information Technology Project Management – Fifth Edition
Approaches to Systems Development
Software Engineering (CSI 321)
How to Successfully Implement an Agile Project
Agile Software Processes
Agile Process: Overview
System DEVELOPMENT LIFE CYCLE MODELS
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Introduction to Agile Blue Ocean Workshops.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Appendix B Agile Methodologies
Agile software development
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Current Trends in Systems Develpment Satzinger, Jackson, and Burd Object-Orieneted Analsys & Design Chapter 14

Adaptive Approaches to Development Allow for uncertainty Use empirical controls Describe processes that are variable and unpredictable Monitor progress and make corrections on the fly Share the following characteristics Less emphasis on up-front analysis, design, and documentation More focus on incremental development More user involvement in project teams Reduced detailed planning (used for near-term work phases only) Tightly controlled schedules by fitting work into discrete time boxes More use of small work teams that are self-organizing

The Agile Development Philosophy and Modeling A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment Requires agility - being able to change direction rapidly, even in the middle of a project Agile Modeling A philosophy about how to build models, some of which are formal and detailed and others sketchy and minimal

The Agile Development Philosophy and Values Responding to change over following a plan An agile project is chaordic - both chaotic and ordered Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation

Adaptive Methodologies using Agile Modeling

Agile Modeling Principles AM is about doing the right kind of modeling at the right level of detail for the right purposes Use models as a means to an end instead of building models as end deliverables Does not dictate which models to build or how formal to make those models Has basic principles to express attitude that developers should have as they develop software

Extreme Programming An adaptive, agile development methodology created in the mid-1990s Extreme programming Takes proven industry best practices and focuses on them intensely Combines those best practices (in their intense form) in a new way to produce a result that is greater than the sum of the parts

XP Core Values Communication Simplicity Feedback Courage In open, frequent verbal discussions Simplicity In designing and implementing solutions Feedback On functionality, requirements, designs, and code Courage In facing choices such as throwing away bad code or standing up to a too-tight schedule

Some XP Practices Planning Users develop a set of stories to describe what the system needs to do Testing Tests are written before solutions are implemented Pair programming Two programmers work together on designing, coding, and testing Refactoring Improving code without changing what it does Owning the code collectively Anyone can modify any piece of code Continuous integration Small pieces of code are integrated into the system daily or more often System metaphor Guides members towards a vision of the system

XP Project Activities System-level activities Release-level activities Occur once during each development project Involve creating user stories to planning releases Release-level activities Cycle multiple times - once for each release Are developed and tested in a period of no more than a few weeks or months Iteration-level activities Code and test a specific functional subset in a few days or weeks

Scrum A quick, adaptive, and self-organizing development methodology Responds to a current situation as rapidly and positively as possible A truly empirical process control approach to developing software

Scrum Philosophy Responsive to a highly changing, dynamic environment Focuses primarily on the team level Team exerts total control over its own organization and work processes Uses a product backlog as the basic control mechanism Prioritized list of user requirements used to choose work to be done during a Scrum project

Scrum Organization Product owner Scrum master Scrum team or teams The client stakeholder for whom a system is being built Maintains the product backlog list Scrum master Person in charge of a Scrum project Scrum team or teams Small group of developers Set their own goals and distribute work among themselves

Scrum Practices Sprint Parts of a sprint The basic work process in Scrum A time-controlled miniproject Firm 30-day time box with a specific goal or deliverable Parts of a sprint Begins with a one-day planning session A short daily Scrum meeting to report progress Ends with a final half-day review

Project Management and Methodologies Project time management Smaller scope and focused on each iteration Realistic work schedules Project scope management Users and clients are responsible for the scope Scope control consists of controlling the number of iterations Project cost management More difficult to predict because of unknowns Project communication management Critical because of open verbal communication and collaborative work Project quality management Continual testing and refactoring must be scheduled Project risk management High-risk aspects addresses in early iterations Project human resource management Teams organize themselves Project procurement management Integrating purchased elements into the overall project Verifying quality or components Satisfying contractual commitments

Summary Slide Adaptive Approaches to Development The Agile Development Philosophy and Modeling Extreme Programming Scrum