Agile development By Sam Chamberlain. First a bit of history..

Slides:



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

Applying Agile Methodologies to Traditional Publishing Kristen McLean Bookigee, Inc. February 12 th, 2011.
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
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.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
3 Traditional Development Methods Of (SDLC) -Prototype -Waterfall -Agile Group9 Q2 Heng shujia 0823.
Agile Project Management with Scrum
NAUG NAUG Knowledge Evening – th February 2007.
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.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Agile Methods.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
Rally: One Writer’s Perspective. Background 28 years in technical communications including Symantec, Autodesk, and Cisco. Participated in Rally-based.
AgileCamp Presents: Scrum. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution 4.0.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Chapter 4 Agile Development
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Building a new HMS from scratch Bite size software delivery Richard Troote Alex Stephenson Head of ICT Head of Property Services.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
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.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
CS3100 Software Project Management Agile Approaches.
Jeff Briggs Senior Consultant Capstone Consulting.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
CSCI 521 Software Project Management Agile Project Management.
Steve Lundquist, PMP, M.Sc..  As a PMP certified program manager, there are numerous tools, processes, methodologies, and tricks that are available to.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile Scrum Development Carter Jasinski. Outline ● Introduction ● Roles ● Artifacts ● Sprints ● Uses.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
AGILE SCRUM METHODOLOGY
Introduction to Agile Software Development
Principles for Agile Development
Agile Training Day 2 November 17, 2015.
Agile Software Development Brian Moseley.
Project Management and the Agile Manifesto
How to Successfully Implement an Agile Project
The Agile Manifesto is based on 12 principles
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile software development
Agile Development.
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Agile development By Sam Chamberlain

First a bit of history..

Waterfall development and the V model

Waterfall the V model In the beginning there was no process Then waterfall is / was a very heavily used software development lifecycle (SDLC) V model is an enhancement on the waterfall method with corresponding testing materials being prepared at each stage Traditional project management is similar. For example PRINCE 2, MS Project, Gant charts etc.

V model characteristics Try and decide requirements at the beginning Budget and time also fixed Lots of detailed, up-front specification and modelling (UML for example) What usually happens is requirements change somewhat and then time and budgets slip as well Disconnect between business and development Testing and quality often an afterthought

Introducing Agile Iterative and incremental Fixed, time-boxing but then changing, prioritised requirements Customer focussed The Agile manifesto – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan

More from the Agile Manifesto Customer satisfaction by rapid delivery of useful software Welcome changing requirements, even late in development Working software is delivered frequently (weeks rather than months) Working software is the principal measure of progress Sustainable development, able to maintain a constant pace Close, daily co-operation between business people and developers Face-to-face conversation is the best form of communication (co- location) Projects are built around motivated individuals, who should be trusted Continuous attention to technical excellence and good design Simplicity- The art of maximizing the amount of work not done - is essential Self-organizing teams Regular adaptation to changing circumstances

Agile and Agile Scrum Scrum is a popular Agile methodology Different to XP - eXtreme Programming or Unified Process, Lean etc. But methodologies can be mixed Characteristics of scrum – Sprints – Product and sprint backlog – Stand-up – User stories

Agile scrum - lifecycle

Scrum roles Product owner – Responsible for Product Backlog – Interface with business, stakeholders and customers – Removes product obstructions Scrum master – Facilitator for the scrum team – Enforces rules – Removes team obstructions Development team – Programmers – Testers

Scrum lifecycle Daily stand-up / scrum – “what have I done, what am I doing next, are there obstructions” Backlog grooming with Product Owner Sprint planning and “planning poker ”mainly with Development team Development and testing No new stories in the sprint “Done, done” Product release – working software and communication with stakeholders Sprint retrospective

Agile – board

Sample – burn-down chart

User stories and their use "As a I want to so that “ Small piece of functionality needed by a user – Stack rank – i.e. priority – Story points – important: measure of complexity only – Associated tasks – with time estimates Includes detailed “acceptance criteria” Should be at least one test for each acceptance criteria item “Done, done” means a story has been closed – i.e. all tests passed successfully

Agile bugs Bugs found in the iteration should be fixed in the iteration, otherwise the relevant story should be removed from the iteration. Planning needs to make time for this Other bugs or customer bugs are placed in the backlog and put into iterations during planning Bugs need to be reproducible and fully analysed before they are added to the backlog Continuous integration and automated testing as well as experienced scrum will mean less bugs. A well working scrum often has no open bugs

Successful Agile Constant improvement of process Deliver around the same amount of story points each iteration Even burn-down rate Contents of iteration planning match what is released at the end of each iteration Confident stakeholders – “if we don’t get it this iteration, we’ll get it in two weeks” Constant refactoring No or very few open bugs Regular “cool-down” and refactoring iterations

Other aspects of Agile Product roadmap and vision Release notes and other documentation Self organising teams No managers, aside from line-managers – Scrum Master tries to enforce rules, remove impediments – Product Owner manages the product backlog and priorities, but has no control over what the scrum actually does Pair programming – used allot in XP Scrum / Agile works very well with SAAS

Continuous integration Technical: Scrum / developer responsibility Code repository and daily builds Constant check-ins Tests run frequently Automated testing – build up a regression test suit (code) that can be run any time, quickly Separate Dev, testing, staging and live systems Can help to have a tool to manage everything from the scrum, to the code and check-ins, to the test suit, to reporting – for example MS TFS

Implementing Agile for a Company Asses suitability of Agile and appropriate parts Form team and define roles Good to have experienced Scrum Master Need dedicated tester(s) Need Product Owner Decide on tool(s) Product Road map Define and start to prioritise and groom user stories Start scrum cycles Move towards continuous integration and automated testing

Sam Chamberlain – relevant skills Plan and implement high level Agile processes Guidance on Agile and Agile principles Product ownership Product road map and product release Business and systems analysis Extensive technical knowledge Testing and training Supplier shortlisting, selection and management Recruitment

Questions?

Thank you