CS3100 Software Project Management Agile Approaches.

Slides:



Advertisements
Similar presentations
Agile Software Development Robert Moore Senior Developer Curtin University.
Advertisements

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
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
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..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
1 Agile Methodologies in DoD Software By Cynthia Johnson.
Agile
6 December ’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
Extreme Programming Collaboration in Software Development Process.
Agile Software Development Matt Rice November 27, 2006.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software SYSTEMS DEVELOPMENT
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Lecture 3 Enterprise Systems Development (CSC447) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Agile Programming Principles.
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
IS2210: Systems Analysis and Systems Design and Change Twitter:
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Agile
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Extreme Programming Based on and
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development Process Models (II) Agile Methodologies Extreme Programming.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Planning User stories are written.
Agile Software Development
Agile and XP Development
Agile and XP Development
Agile and XP Development
Introduction to XP.
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

CS3100 Software Project Management Agile Approaches

CS3100 Software Project ManagementSlide 2 Learning Objectives 1. Reflect on Traditional Approaches and their effectiveness in delivering successful projects? 2. Consider Alternative ways of running projects. 3. Understand XP as an example Agile methodology

CS3100 Software Project ManagementSlide 3 A Short History of Methodology In the old days Small systems Adhoc development (No methodologies) Dijkstra (1968) GOTO Statement Considered Harmful Then (80s-90s) Large systems BIG methodologies Design up-front Long test-cycles (unpredictable & expensive)

CS3100 Software Project ManagementSlide 4 Justification for Methodologies Late change is costly Requirements Analysis Design Implementation Testing Production Cost

CS3100 Software Project ManagementSlide 5 Make changes early Lots of up-front planning Nail down requirements early Waterfall mentality

CS3100 Software Project ManagementSlide 6 But does this stop change? Does a client’s business stop changing? What if the user wants changes? How do we deal with this?

CS3100 Software Project ManagementSlide 7 More Modern View Customer requirements change Accept it Be Adaptive Lightweight (Agile) methodologies Late 90s brought the Agile Alliance

CS3100 Software Project ManagementSlide 8 Agile Alliance 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: That is, while there is value in the items on the right, we value the items on the left more. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

CS3100 Software Project ManagementSlide 9 eXtreme Programming - XP is an Agile Methodology - A set of Core Principles - Based on Four Values - If principles are good then: apply them in their extreme form!

CS3100 Software Project ManagementSlide 10 Values 1. Communication 2. Simplicity 3. Feedback 4. Courage

CS3100 Software Project ManagementSlide 11 - Regular Stand-up meetings - Customer always available Communication

CS3100 Software Project ManagementSlide 12 Simplicity - Do only what is needed now - Add functionality only as needed - Don’t assume what is needed later

CS3100 Software Project ManagementSlide 13 Feedback - From tests - From customer - From testers - Feedback drives the process

CS3100 Software Project ManagementSlide 14 Courage - Do what needs doing - Throw stuff away - Try alternatives

CS3100 Software Project ManagementSlide 15 XP Process User Stories Release Planning Iteration bugs iterate based on J Donvan Wells Small Releases approval Acceptance Tests

CS3100 Software Project ManagementSlide 16 Planning Process Summarised - User Stories written by customer - Developers estimate (1-3 weeks) - Stories scheduled in release plan - Customer accepts finished story Use acceptance tests to verify stories - Customer is always available Monitor project velocity and re-plan!

CS3100 Software Project ManagementSlide 17 XP Roles 1. Customer 2. Programmer 3. Coach 4. Tracker 5. Tester 6. Doomsayer

CS3100 Software Project ManagementSlide 18 XP Practices 1. The Planning Process 2. Frequent, Small Releases 3. System Metaphor 4. Simple Design 5. Test Driven Development 6. Refactoring 7. Pair Programming 8. Collective Code Ownership 9. Continuous Integration 10. Sustainable Pace 11. On-site Customer 12. Coding Standard

CS3100 Software Project ManagementSlide 19 Other Agile Flavours - Lean Development Based on lean manufacturing - SCRUM Highly Iterative