CompSci 230 Software Construction

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
SDLC – Beyond the Waterfall
Scrum Research at Carnegie Mellon Mark C. Paulk, Ph.D. March 16, 2009 Scrum Gathering, Orlando.
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Agile Software Development Matt Rice November 27, 2006.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
Developing for continuous change UCD demands a different model for development An iterative approach is suitable.
Agile Methods.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Programming with eyes wide open. Your host today Subby Angelov Team
Software engineering Process models Pavel Agejkin.
Agile Software Development What is Agile? And How are we implementing Agile?
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
CompSci 230 Software Design and Construction
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Lecture 3 – Agile Approach
Software Engineering Lecture 7 Lecture # 7 Agile Software Development Fahim Khan Assistant Professor of Computer Science UOL, Sargodha
Seeker Process R. Brimble Introduction The slides here describe the development process to be used on the Seeker project. The process is.
ICS 61 – The Game Improves through Iteration Based on Schell, ch. 8 Winter, 2015.
JASS 2006 Agile Software Development. JASS 2006 Agenda.
Microsoft Project for Software Projects Florian Ivan | Rolf Consulting.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Project Workflow.
Software Engineering cosc 4359 Spring 2017.
Embedded Systems Software Engineering
Software Engineering Principles I (Spring 2017)
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Agile Methodology and Scrum
Agile Education Teacher Presentation
Principles for Agile Development
CompSci 230 Software Construction
Software Engineering Process
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
7 Sins of Scrum and other Agile Anti-Patterns
Extreme Programming.
Agile Frameworks Individuals and interactions over processes and tools
Agile Software Development
Project Workflow.
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
Agile Software Development Brian Moseley.
Introduction to Software Engineering
Tim Hirner - Flagship Speakers January 23, 2014
Being Agile Minded: Even if your team is not
7 Sins of Scaling and other Agile Anti-Patterns
Agile Software Development
How to Successfully Implement an Agile Project
Agile Development Agile Development Damian Gordon Damian Gordon.
Lecture 2 Revision of Models of a Software Process
Agile Process: Overview
Introduction to XP.
Project Lifecycle and IT Product Life Cycle
Topic 1: Introduction to the Module and an Overview of Agile
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presentation transcript:

CompSci 230 Software Construction Lecture Slides #26: Agile Methods S1 2016

Agenda Topics: The Agile Development philosophy CompSci 230: AG

Agile Philosophy Waterfall has drawbacks 2001: Agile Alliance inflexible, documentation-heavy, isolated stages, fragile 2001: Agile Alliance Idea: There’s got to be better ways of developing software Manifesto “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the left more.” CompSci 230: AG

What are agile methods? Agile Development isn’t a single way of doing things Numerous development process models claim the “agile” label, e.g., eXtreme Programming, Rational Unified Process, Scrum, Open Source, … Focus on twelve principles CompSci 230: AG

Agile Principles https://www.agilealliance.org/ CompSci 230: AG

Agile Principles https://www.agilealliance.org/ CompSci 230: AG

Agile Principles https://www.agilealliance.org/ CompSci 230: AG

Agile Principles https://www.agilealliance.org/ CompSci 230: AG

Agile Issues Sounds great, but success depends on: Scope of project Large projects may simply not see their initial working software for a while – this is a problem in particular if the software is something really novel Amount of specification creep If requirements change faster than development is able to keep up with… Communication Ability to communicate requirements effectively is key Tends to work better in small teams Direct communication rather than via intermediary: developers talks directly with customers Composition, competence, and motivation of team CompSci 230: AG

Agile Issues Sounds great, but success depends on: Scope of project Large projects may simply not see their initial working software for a while – this is a problem in particular if the software is something really novel Amount of specification creep If requirements change faster than development is able to keep up with… Communication Ability to communicate requirements effectively is key Tends to work better in small teams Direct communication rather than via intermediary: developers talks directly with customers Composition, competence, and motivation of team CompSci 230: AG

Agile Issues The agile principles are not very prescriptive Black-box view of the processes Don’t tell us how they should be implemented Note the variety of methods claiming to be agile Why not come up with your own method in a specific situation? CompSci 230: AG

Review Is there an ideal way to develop software? Can you think of methods that would work better in some scenarios than others? Is there an ideal way to specify software? Which methods do you know? Could you come up with others? Is there an ideal way to design software? Which design tools and principles do you have at your disposal? Do you understand their advantages and drawbacks? Is there an ideal way to test software? Can you describe the various testing philosophies, the challenges that arise from them, and choose an appropriate testing technique in a practical situation? CompSci 230: AG