Agile Software Development Brian Link

Slides:



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

Agile Development Primer – Using Roundtable TSMS in an Agile Shop Michael G. Solomon Solomon Consulting Inc.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
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.
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,
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
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
Agile Development and Data With Scrum and TDD Andy Leonard VSTeamSystemCentral.com With thanks to Brian Knight, SQL Server MVP SQLServerCentral.com.
BTS530: Major Project Planning and Design Iterative Development References: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley. Agile.
Agile Development.
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.
An Introduction to Agile Project Management CHAPTER SEVENTEEN PowerPoint Presentation by Charlie Cook Copyright © 2014 McGraw-Hill Education. All Rights.
Agile development By Sam Chamberlain. First a bit of history..
Agile Software Development Matt Rice November 27, 2006.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
The Product Owner prioritizes the requirements or features through feedback from the Stakeholders & interaction with the core team The Team.
Software SYSTEMS DEVELOPMENT
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
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.
Agile Software Development What is Agile? And How are we implementing Agile?
Software Development Landscape
1 Agile Methodology & Programming Ric Holt July 2009.
An introduction for PMPs
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Current Trends in Systems Develpment
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Project Management.
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.
© 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 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
University of Southern California Center for Systems and Software Engineering Agile Project Management Tools Supannika Koolmanojwong CSCI 577a.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
Creative Disruption: A Core Systems Strategy Workshop November 3, 2011.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Bringing Sense, Sensibility, and Sanity to projects.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Sprint Plans and Burndown Charts David Millard | davidmillard.org.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
WHEN TITLE IS NOT A QUESTION N O ‘WE CAN’ CA Agile Vision Product Manager Michael Lester.
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Quality Assurance Chip Ene, February 14, 2015.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Embedded Systems Software Engineering
Agile Project Management and the yin & yang of
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
Agile Software Development II
Agile Software Development Brian Moseley.
Approaches to Systems Development
Project Management and the Agile Manifesto
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
How to Successfully Implement an Agile Project
Introduction to Agile Blue Ocean Workshops.
Presentation transcript:

Agile Software Development Brian Link

What is Agile? Not this:

Waterfall Sucked ๏ Million dollar design documents ๏ Irrelevant product when done after 12 mos ๏ Focus on deliverables and process – not people and customer ๏ Big design up front (BDUF) is good and the whole fix bugs upstream thing… ๏ But without iterative and adaptive processes to incorporate change, you must have a well defined project up front (impossible?)

Agile’s more like this: ๏ Communication ๏ Simplicity ๏ Feedback ๏ Courage ๏ Respect

Agile Manifesto ๏ Satisfy the customer. Build value quickly ๏ Be adept at accepting, adopting change ๏ Crank out code releases frequently ๏ Focus on relevant business goals ๏ Embrace interactions, not deliverables ๏ Focus on quality, working code ๏

And sort of like this:

Agile is not just one thing ๏ It’s a collection of methodologies and strategies ๏ People often pull from various things to varying degrees and make their own - Scrum - Extreme Programming (XP) - Pair Programming - Test Driven Development - Lean Software Development

Benefits of Using Agile ๏ Focus on building business value ๏ Micro management without micromanagement ๏ Issues uncovered in real-time

Benefits of Using Agile ๏ Control deadlines by shifting features to later sprints ๏ Partnership between tech and business ๏ Transparent status updates daily

It’s not just winging it ๏ Cowboy coding is entirely different ๏ This is just-in-time design and delivery ๏ It’s efficient, not stupid ๏ Principles of Lean Software - Honda production line: nothing wasted

Scrum Process PrioritizedEstimated, Assigned

Daily Tracking & Burndown ๏ During Scrum, progress on tasks are tracked then reported publicly ๏ Bite-sized features easier to estimate ๏ Sprint deadlines enforced by controlling backlog list (add or remove) ๏ Trac + plugin can manage tasks, estimates and burndown charts

Scrum - Roles ๏ Pigs - Product Owner - Scrum Master - Dev Team ๏ Chickens - Users - Stakeholders/Sponsors - Managers ๏ Scrum / Daily Standup - What did you do yesterday, today, issues?

Test Driven Development ๏ Write tests as early as possible - QA helps define/ensure functionality features ๏ Use a tool to track the tests - PHPUnit, Selenium ๏ Continuous Integration Environment - Automate integration testing - Cruise Control ๏ Testing done all the time - No big “OMG, we have to test this thing now”

Digg’s Process Evolved ๏ Started with 3 developers, chaos ๏ Gradually added more to team, added some process (source control!, design specs, estimated task list) ๏ Doubled to 8-10, formed three virtual teams - Big projects, small projects, infrastructure ๏ After 12-14, embraced Agile much more consistently – multiple daily scrums, etc.

Digg Team Structure ๏ Six functionally separated senior teams ๏ Two App/Feature teams, Core/Infra, Maintenance, Admin/Security/Ads, Architecture/Mgt

Digg Product Management ๏ MRD - Marketing Req’ts doc - Measurable goals, intentions, reasons ๏ PRD - Product Req’ts doc - Screens + features ๏ Portfolio prioritization - Every other week cross functional meeting ๏ Feature and scope management

Digg Sample Timeline ๏ Four week cycle ๏ Lots of discussion before project is “approved” and started by dev team ๏ Week one is overlap with previous cycle ๏ Working out estimates, assignments, design ๏ Week two-three heavy dev work ๏ Week four – dry runs to launch, testing

Try it, invent your own ๏ Proceed with some forethought ๏ Have someone who knows what they’re doing guide the process ๏ Take one project in your portfolio with a small team and experiment ๏ Feedback loop is critical at the end - Analyze what worked and what didn’t and adjust