Stephen Vance - CM and the Principles of Agile Software Development

Slides:



Advertisements
Similar presentations
1 Department of Computer Science, University of Sheffield eXtreme Programming - Practices Dr. Marian Gheorghe.
Advertisements

© University of Glamorgan1 Extreme Programming and its effect on project management Second Computing Project Management Workshop 13 September 02, University.
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Alternate Software Development Methodologies
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
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.
Software Engineering.
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.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
An Agile View of Process
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
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.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development That's been one of my mantras - focus and simplicity. Simple can.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Agile Software Development Brian Link
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Extreme programming overview Agenda  Extreme programming goals  Extreme programming values  Extreme programming practices  The Extreme programming.
Extreme Programming Daniel Baranowski 3/29/06. What is Extreme Programming? An agile development methodology Created by Kent Beck in the mid 1990’s A.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Extreme Programming and Systems Engineering Similarities and Synergy (based on talk given to INCOSE New England Chapter) Joseph (Yossi) Weihs Sept 10 th,
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Center for Advanced Studies, Research and Development in Sardinia Network Distributed Application XP4IDE Applying XP Practices to Project Management Open.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Test Driven Development Daniel Brown dxb17u. Introduction Originates from Extreme Programming (XP) Proposed by Kent Beck in Test Driven Development.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
EXtreme Programming and Open Source engineering paradigm A comparison
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Information Architecture 2 Mailing List? No Class Scheduled October 23 Books? -Beck, K. (1999). Extreme Programming Explained: Embrace Change.Extreme Programming.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY 1 eXtreme Programming – one of the Agile Software Development Methodologies.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
CS223: Software Engineering Lecture 16: The Agile Methodology.
Life Cycles. Waterfall Advantages? Disadvantages? Well suited for what type of projects? Requirements Specification Design Coding Unit Testing Installation.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Embedded Systems Software Engineering
Software engineering (cs3529) target classes: cs14: A,B
CS223: Software Engineering
CompSci 280 S Introduction to Software Development
Appendix B Agile Methodologies
Extreme Programming.
Extreme Programming.
Agile Software Development
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Chapter 3 – Agile Software Development
Introduction to XP.
Appendix B Agile Methodologies
Extreme Programming.
Presentation transcript:

Stephen Vance - CM and the Principles of Agile Software Development Configuration Management and the Principles and Values of Agile Software Development Stephen Vance Stellar Advances October 14, 2004 BCS CMSG 12 October 2004

Agile Software Development Agile Methods Low overhead Low ceremony Examples: Extreme Programming Scrum DSDM

Extreme Programming (XP) Earliest Well-documented Common philosophy with other Agile methods as captured in the Agile Manifesto

Software Configuration Management Agile emphasizes “individuals and interactions over processes and tools” May suggest SCM unimportant XP emphasizes low-technology methods Well-chosen SCM practices support and enhance Agile methods

Stephen Vance - CM and the Principles of Agile Software Development XP’s Four Variables Variables Cost Time Quality Scope Risks affect variables; SCM helps address risks BCS CMSG 12 October 2004

XP’s Four Values Values Communication Simplicity Feedback Courage SCM supports values; values guide SCM implementation

Communication Supported SCM tool is medium for communication through code supporting continuous integration and collective ownership SCM support for continuous integration Workspace management Sync frequently Unit tests encapsulate requirements and design Integration with IDE improves efficiency

Communication Applied Effective use of SCM Minimize documentation Directory structures Captured in SCM repository Branching policies SCM tool can capture explanations Perforce branch spec Description field

Communication Applied (cont’d) Builds denoted through Labels Changelist numbers Date/time queries Release branches Task branches support sharing of larger stories

Simplicity Supported SCM tool saves overhead of manual processes SCM tool has its own overhead, but less than manual management IDE integration simplifies SCM usage Justified through Versioning Easy recovery of past releases Change status tracking

Simplicity Applied Use SCM patterns Only apply patterns that are immediately necessary or reasonably anticipated SCM refactoring harder than code refactoring suggests slightly more anticipation Use SCM tool facilities rather than external documentation to capture intent More complex SCM patterns help Agile scale

Feedback Unit tests are a major component of developer feedback; SCM tool supports as the repository for this code Builds, triggers and review daemons enforce XP’s coding standards practice Style checking Continuous integration test execution Testing coverage analysis Automate reporting on change and development status Integration with work tracking updates story completion

Courage SCM tool is the safety net Branches can support prototyping multiple alternatives without interfering with other work “Throwaway code” can be recoverable Refactoring can be strongly supported Perforce’s Inter-File Branching™ allows a single file to branch to multiple targets

Conclusion SCM tools and processes can support Agile methods Agile principles apply to create and streamline SCM implementations Apply Agile principles to create SCM implementations that support Agile methods

Resources Manifesto for Agile Software Development, http://www.agilemanifesto.org Beck, Kent, Extreme Programming Explained: Embrace Change, Addison-Wesley, 2000 Vance, Stephen, “Advanced SCM Branching Strategies,” http://www.vance.com/steve/perforce/Branching_Strategies.html