..OR SOMETHING THAT LOOKS LIKE IT SCOTT TURNBULL SOFTWARE ENGINEERING MANAGER EMORY UNIVERSITY LIBRARIES Agile Development.

Slides:



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

Agile Software Development Robert Moore Senior Developer Curtin University.
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--
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
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
Agile Architecture Prabhu Venkatesan for COMP-684.
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
Agile Project Management with Scrum
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
Agile Project Management
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 Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
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:
Managing a Project Using an Agile Approach and the PMBOK® Guide
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Software engineering Process models Pavel Agejkin.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Chapter 4 Agile Development
Agile Software Development Brian Link
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
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-
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Information Development Projects
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
CS3100 Software Project Management Agile Approaches.
Software Engineering (CSI 321) An Agile View of Process 1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – 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,
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Project Workflow.
Embedded Systems Software Engineering
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Manifesto for Agile Software Development
Software Engineering Process
Agile Software Development
Project Workflow.
Iterative and Agile Development
Approaches to Systems Development
Introduction to Software Engineering
Tim Hirner - Flagship Speakers January 23, 2014
Agile and XP Development
Chapt 2 Iterative Evolutionary Agile.
Agile and XP Development
Introduction to Agile Blue Ocean Workshops.
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

..OR SOMETHING THAT LOOKS LIKE IT SCOTT TURNBULL SOFTWARE ENGINEERING MANAGER EMORY UNIVERSITY LIBRARIES Agile Development

The Agile Manifesto Collaboration by 17 industry leaders in 2001 Emphasis on ‘Light Weight’ methods & personal Interactions to catch problems early and change Core Principles:  Individuals and Interactions over processes and tools  Working Software over comprehensive documentation  Customer Collaboration over contract negotiation  Responding to Change over following a plan

Flavors of Agile Development Various Techniques with differing process maps In Reality few people strictly adhere to one method Our Own Mix and Match borrows from:  Agile Development: Prototypes & Deployed Software  Scrum: Stand-Ups & Story Points  Extreme Programming: Refactoring Realities of Our Environment:  Little project planning  High number of concurrent projects  High diversity and low complexity of projects  High Complexity and Significant External Workflow Dependency

Breaking It Down and Developing Project Plan >> Release Plan >> User Story Project Plan covers Scope and Overall Goals Release Plan bundles features into logical blocks User Stories tell WHO can do WHAT and WHY Storypoints estimate the relative complexity of satisfying the requirement. Tools we use:  Wiki’s and Documentation sites – Project/Release Plans  Pivotal Tracker – User Stories/Chores  Iteration – 2 Week breakdown and focus of work.  Iteration Board – Daily Management of Development.

Estimation & Planning User Stories are the central focus for developers Each User Story should imply an acceptance test Complexity is estimated in Story Points  Arbitrary measure of relative complexity  We use modified Fibonacci Sequence (0, 1, 2, 3, 5, 8, 13, 21)  Estimates are collaborative to uncover assumptions  Based on Staffing we estimate how many Story Points we can accomplish in a 2 week Iteration (Velocity)

Iterations & The Iteration Board Iterations focus on immediate goals in a release Identify the most critical work over next 2 weeks Set expectations on what we’ll be trying to accomplish Are a means to monitor the progress of development and adjust planning if needed Daily 10 min Stand-Ups keep Everyone In the Loop Significant difference in how we use iterations here

Discipline In The Process Version Control (Git/Subversion) is a MUST Branching and Tagging of Releases Unit Testing Absolutely Vital Communication & Released Software  Daily Stand-Ups  Code needs to be frequently Deployed and Hand’s On  Design Globally, Code Locally  Acceptance Testing is important

Criticisms of Agile Development Feature focus obscures goals and infrastructure. Staffing and long term planning problems. A charismatic movement the generate certification or speaker fees. Works better for Senior Developers who can operate with more discretion. Higher Risk of Scope Creep. Inadequate handing of non-functional details.

My Own Conclusions No method excuses you from knowing your business. Just like software, pick the right tools for the right job. Make the process as transparent and avoid Scrum- But. Define with expected outcomes but iterate through features. Why is the most important question you can ask.

TOOLS OF THE TRADE Agile Development

Pivotal Tracker for Project Management

Iteration Cards

Analog, the wave of the future

Reporting and Tracking

Velocity and Where it takes You