Agile
From Epowiki
Agile software development is a conceptual framework for undertaking software engineering projects. There are a number of agile software development methodologies, such as those espoused by the Agile Alliance, a non-profit organization.
Contents |
Agile Resources
Articles
The order presented is the suggested reading order.
- http://en.wikipedia.org/wiki/Agile_methods
- An Iteration in the Life of an XP Project
- An Introduction to Agile Methods
- Is Design Dead?
- Case study: Distributed Scrum Project for Dutch Railways
- Inventing and Reinventing Scrum in Five Companies
- Best Practices in Scrum Project Management and XP Agile Software Development
- Taking Projects to the Extreme
- Extreme Programming Agile Project Management
- Using XP in a Big Process Company
- Learning by Doing: Why XP Doesn�t Sell
- The Scrum Software Development Process for Small Teams
- Scrum With XP
- SCRUM Software Development Process Building The Best Possible Software
- The New Methodology
- eXtreme Adoption eXperiences of a B2B Start Up
- A Customer Experience: Implementing XP
- Sabre takes extreme measures
- An Introduction to Agile Methods
- Extreme Programming A Gentle Introduction
- Extreme Success / �If You build It, They Will Come�
- Lessons in Agility from Internet-Based Development
- Best Practices in Scrum Project Management and XP Agile Software Development
- Extreme Programming and Embedded Software Development
- AGILE MEETINGS
- Agile Software Development Methods Review and Analysis
- Agile Requirements Modeling
- Communication
- An Overview of Feature Driven Development
- Feature-Driven Development (FDD)
- Lean Software Development
- Lean Development & the Predictability Paradox
- Lean Programming
- Lean Construction
- Learning to Love Unit Testing
- Exploring Extreme Programming in Context: An Industrial Case Study
- The XP Customer Role in Practice: Three Studies
- Is There Such a Thing as Object Oriented Analysis?
- Scrum On One Page
- XP On One Page
- Pigs and Chickens
- Two Bugs in Two Years
- Two Great Wastes
- Cost of Change Curve
- The Agile Difference for SCM
- Iterative and Incremental Development: A Brief History
- Critical Chain Scheduling
- 10 Evolutionary Project Management (Evo) principles
- Ignore Users To Satisfy Them
- A Psuedo-Serious XP Case Study
- Agile, Top Down - how an executive or highly-placed manager could get Agile going.
- The Roots of Lean
- Stretching Agile to fit CMMI Level 3
- Agile Use Cases
- Are Iterations Hazardous to Your Project?
- A Tiny Technique for Blocked-Task Madness
- A one-day Cooperative Game / Crystal lecture-workshop
- XP Six Sigma CMMI How They Can Work Together - A JPMorgan Chase Case Study
- Architectural Practices Extreme Project Management for Architects
- Scrum Figures
- Tactical Management of Agile Development: Achieving Competitive Advantage
- A CIO�s Playbook for Adopting the Scrum Method of Achieving Software Agility
- Lean Six Sigma
- Lean Production
- Drum-Buffer-Rope
- Variation in Software Engineering
- Systems Thinking
- Principled of Lean Thinking
- How To Compare Six Sigma, Lean and the Theory of Constraints
- Game Development Enters the Scrum
- The XP Game
- Using Customer Tests to Drive Development - This article reports a concrete experience of incorporating customer input in a Test-Driven Development approach.
- Agile Requirements by Rachel Davies - This article explains the approach to handle requirement in agile projects
- Adaptative Project Management Using Scrum - This article provides a basic overview of Scrum, an agile process for managing software development project.
- Adaptative Project Management Using Scrum by Craig Murphy - This article provides a basic overview of Scrum, an agile process for managing software development project.
- The 59-Minute Scrum�Teaching a Group about Scrum Fundamentals using Interactive and Facilitative Approaches
- Scrum from Hell
- Release Planning Party
- User Stories for Agile Requirements
- six attributes of good stories and includes examples:
- Agile Estimating and Planning
- Becoming an Effective Product Owner
- Continuous Integration
- Test-first development with FitNesse
- Agile Work Uses Lean Thinking
- Agile Game Development GDC2006
- Wicked Projects - When you're scrambling to complete a never-ending task and no one can decide
- Compensating a Team
- Why the Three Questions in the Daily Scrum Meeting?
- Interviewing Techniques for Staffing Lean-Agile Teams
- Twenty Ways to Split Stories
- The simplest Sprint Backlog possible!
- Scrum Primer
- The Roots of Scrum Movie
- Ken Schwaber Talk at Google
- Writing Contracts for Agile Development
- XP Planning Game
- Scrum and XP from the Trenches - Lessons learnt after a year of Scrum experimentation with a group of 40 developers. Includes details on how we approached multi-team sprint planning, testing, retrospectives, etc.
- Presentation: Ken Schwaber on Code Quality as a Corporate Asset - The "Canary in a Coalmine" talk. Magic has a cost and it can ruin your company through creating dead core systems.
- Why Good Projects Fail Anyway
- Interview: Ron Jeffries on Running Tested Features - essence of Agile is running tested features.
- Effects of Bias on Creating Poor Schedules
- Movie about Lean by Marry Poppendieck - Competing on the basis of speed. Keep it simple. Make it flawless. Make if flawless. Set-based development.
- A Mix of Agile Videos - by Ron Jeffries, Ken Schwaber, Jeff Sutherland, Mary Poppendick, Lee Copeland, and Elisabeth Hendrickson.
- The �Toyota Way� Is Translated for a New Generation of Foreign Managers
- Minimum Marketable Feature
- Agile Team Performance Reviews
- It's Not Just Standing Up: Patterns of Daily Stand-up Meetings
- Agile Estimation, Mike Cohn, Video of Bay XP Meeting Part 1, Part 2, slides
- Video on Doubling the Value of Automated Tests by Rick Mugridge
- Video on Behavior Driven Development - the step after TDD
- Alistair Cockburn's Top 10 Indications You are Not Agile
- Agile Contract Presentation, paper
- Risk To Pattern Table - fixes for common problems.
- The Origins of Scrum
- Scrum - 40+ page introduction.
- The Pipelining Anti-Pattern
- A Structured Approach to Adopting Agile Practices: The Agile Adoption Framework
- High Moon Studios Agile Game Development Slides and Tutorial
- Video: The Dysfunctional Daily Scrum - very funny
- If Your Daily Scrum is Not Fulfilling�
- Where's the money? - By increasing the process time of a product, and therefore increasing its cost, the weekly profit has almost doubled.
- Alistair Cockburn's Latest Presentation - use video instead of paper
Agile Testing Tools
- StoryTestIQ - a tool for creating "Executable Requirements" which have also been known as acceptance tests or functional tests.
- FitNesse - A simple tool that allows non-technical users to specify and run acceptance tests for software.
- Fit Library - FitLibrary provides general-purpose fixtures (and runners) for storytests with Fit and FitNesse
- FIT - Framework for Integrated Test
- Selenium - a test tool for web applications
- Test Link - MMFs are units of software value creation. They represent components of intrinsic marketable value.
- Video on using FIT by Rick Mugridge
- [Comparative Analysis of Job Satisfaction in Agile and
Non-Agile Software Development Teams | http://sern.ucalgary.ca/melnik/papers/XP2006_GMelnik_FMaurer_revised_final.pdf]
Agile Process Tools
- ScrumWorks - an Agile process automation tool that enables teams to self-organize and maximize productivity.
- Project Cards - This project planning software provides an enabling tool for Agile Project Management.
- Card Meeting - The innovative tool for long-distance collaboration.
Charts
- Example Burn Down Chart
- Agile Charts
- Earned-value and burn charts
- Charting Change
- Big Visible Carts
- Five Signs of Trouble in an Iteration
- Release Burn Down Chart
Web Sites
- Agile Manifesto
- Mountain Goat Software Presentations
- Agile Alliance
- Extreme Programming
- Agile Modeling
- http://www.xpuniverse.com/
- http://www.objectmentor.com/resources/articles
- http://www.xprogramming.com
- Extreme Programming Roadmap
- http://www.testdriven.com
- Many Agile Papers
- http://www.poppendieck.com/
- http://www.controlchaos.com
- http://www.xbreed.net/
- http://www.dsdm.org
- http://www.adaptivesd.com/
- Agile Alliance Library
- Agile Testing
- Testing Lessons
- Software Testing Hotlist
- Agile Offshore References
- The Roots of Scrum - How Japanese Lean Manufacturing Changed Global Software Development Practices
- Task Board Layout
- Agile Work Uses Lean Thinking
- Planning Poker - Play. Plan. Estimate.
Podcasts
- Mike Cohn Podcast On Agile Estimating and Planning
- SCRUM Introduction Part 1, [Part 2 |
http://podcast.xebia.com/293E0F64-4EF3-477C-8AB0-22FECEF23302.html]
Discussion Groups
- Scrum http://groups.yahoo.com/group/scrumdevelopment
- Extreme Programming http://groups.yahoo.com/group/extremeprogramming/
- Refactoring http://groups.yahoo.com/group/refactoring
- http://groups.google.com/groups?group=comp.software.extreme-programming
- http://groups.google.com/groups?group=comp.object
- http://c2.com/cgi/wiki
- http://www.xp123.com
- Jeff Sutherland's Scrum Blog
- http://groups.yahoo.com/group/agile-usability/
- http://www.testing.com/cgi-bin/blog
- http://www.mountaingoatsoftware.com/agileplanning/
Scrum Videos
- Scrum Tuning: Lessons learned from Scrum implementation... by Jeff Sutherland
- Scrum et al. by Ken Schwaber
- The Roots of Scrum by Jeff Sutherland
- Planning and Maintaining the Rhythm of Distributed Scrum by Guy Pshigoda & Hubert Smits
- Jeff Sutherland on Scrum and Not-Scrum
Research
Books
- http://www.jeckstein.de/agilebook - Agile Software Development in the Large is a collection of best practices that should be applied to any large agile, for example Extreme Programming (XP) project.
- Barry Boehm and Richard Turner
- �Balancing Agility and Discipline: A Guide for the Perplexed�, Addison Wesley, 2003
- Christopher A. Alexander
- �The Timeless Way of Building�, Oxford University Press, New York, 1979
- �A Pattern Language�, Oxford University Press, New York, 1977
- Ed Yourdon
- �Death March Projects�, Prentice Hall, 1997
- Jim Collins
- �Good to Great: Why Some Companies Make The Leap�and Others Don�t�, HarperCollins, Oct. 2001
- Jim Highsmith
- �Adaptive Software Development: A Collaborative Approach to Managing Complex Systems�, Dorset House, 2000
- Ken Schwaber and Mike Beedle (foreword by Martin Fowler)
- �Agile Software Development with SCRUM�, Prentice Hall, October 2001
- Kent Beck
- �Extreme Programming Explained: Embrace Change�, Addison Wesley, 2000
- Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
- �Refactoring: Improving the Design of Existing Code�, Addison-Wesley, 1999
- Robert Martin, Timothy R. Lister, Tom DeMarco
- �Measuring and Managing Performance in Organizations�, Dorset House, June 1996
- Watts S. Humphrey
- �A Discipline for Software Engineering�, Addison Wesley, 1995, 12th printing (July 2002)
- �Introduction to the Personal Software Process�, Addison Wesley, 1997
- �Introduction to the Team Software Process�, Addison Wesley, 2000
- �Winning With Software�, Addison Wesley, 2002
- Applying User Stories, Mike Cohn
- Agile Estimating and Planning, Mike Cohn
- Collaboration Explained, Jean Tabaka
- Lean Software Development, Mary Poppendieck
- Agile Project Management - Jim Highsmith
- Agile Project Management with Scrum - Ken Schwaber
- Managing Agile Projects - Sanjiv Augustine
- FIT for Developing Software - Rick Mugridge, Ward Cunningham
- Agile and Iterative Development - Craig Larman
- Domain Driver Design: Tackling Complexity at the Heart of Software - Eric Evans
- Working Effectively with Legacy Code - Michael Feathers
- Refactoring to Patterns - Joshua Kerievsky
- Fearless Change: Patterns for Introducing New Ideas, Linda Rising
- Product Development for the Lean Enterprise - Michael Kennedy
- Project Retrospectives: A Handbook for Team Review - Norm Kerth
- Agile Retrospectives - Ester Derby
Publications and Presentations
- Alistair Cockburn, Characterizing People as Non-Linear, First-Order Components In Software Development, 4th International Multi-Conference on Systems, Cybernetics and Informatics, Orlando, Florida, June 2000, http://alistair.cockburn.us/crystal/articles/cpanfocisd/characterizingpeopleasnonlinear.html
- Alistair Cockburn and Jim Highsmith;Agile Software Development: The People Factor;, IEEE Computer, Nov. 2001, http://www.jimhighsmith.com/articles/IEEEArticle2Final.pdf
- Barry Boehm, USC-CSE;Agile and Plan-Driven Methods / Oil and Water?;, Agile Universe 2002; slide 28;Reflections on the Agile Manifesto;, http://www.agilealliance.com/articles/articles/agileAndPlanDrivenMethods.pdf
- Barry Boehm and Richard Turner;Rebalancing Your Organization;s Agility and Discipline;, XP Universe 2003
- Christina Wallin, Fredrik Ekdahl, Stig Larsson;Integrating Business and Software Development Models;, IEEE Software, Nov/Dec 2002
- Cutter IT Journal;The Great Methodologies Debate;, Vol. 14 No. 12 http://www.cutter.com/freestuff/itj0112.html
- David Webb and Watts Humphrey, "Using TSP on the TaskView Project", in CrossTalk, The Journal of Defense Software Engineering, Feb 1999, pp. 3-10, online at http://www.stsc.hill.af.mil/crosstalk/frames.asp?uri=1999/02/webb.asp
- Donald Reifer;How to get the Most out of Extreme Programming/Agile Methods, 2nd XP and 1st Agile Universe Conference, 2002, LNCS Vol. 2418, Jan. 2002, pp. 185-196, http://www.springerlink.com/link.asp?id=wa2fdb2ddfml962b
- Edward Berard;Misconceptions of the Agile Zealots;, http://www.toa.com/shnn?searticles (The Object Agency)
- Eric Steven Raymond (open source);The Cathedral and the Bazaar, http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/
- Georg Gretter, Stefan Ferber, Michael Neumann, Der Persnliche Softwareprozess: Konzepte, Ehrfahrungen, Und Synergien mit XP, http://www.sigs.de/publications/os/2002/06/gruetter_OS_06_02.pdf, ObjektSpectrum 06/2002
- Georg Grtter, Stefan Ferber, The Personal Software Process in Practice: Experience in Two Cases over Five Years, Software Quality - ECSQ 2002, 7th International Conference, Helsinki 2002
- Booch/Martin/Newkirk, Object Oriented Analysis and Design With Applications, chapter 4 draft at http://www.objectmentor.com/publications/RUPvsXP.pdf (dX; also source of Stroustrup quote)
- Hillel Glazer, http://www.stsc.hill.af.mil/crosstalk/2001/11/glazer.html, Dispelling The Process Myth: Having a Process Does Not Mean Sacrificing Agility or Creativity
- J. Sterling Livingston, "Pygmalion in Management, reprinted in January 2003 issue of Harvard Business Review, cited in http://www.dhemery.com/journal/archives/2003-06/the_benefits_of_failure.html
- Jim Highsmith, "Adaptive Software Development Process Framework," 2/21/2001, http://crystalmethodologies.org/processes/asd/asdprocess.ppt
- Jim Over/SEI, Launching a TSP Project - The TSP Launch Process, TSP2001.04
- Larissa Moss, Business Intelligence Methodologies: Agile With Rigor?, Cutter IT Journal, Vol. 14 No. 12, http://www.cutter.com/freestuff/itj0112d.html
- Laurie Williams, The Collaborative Software Process, PhD dissertation, University of Utah, August 2000, http://www.cs.utah.edu/lwilliam/Papers/dissertation.pdf
- Larry Constantine, editor of Software Development Magazine Management Forum, intro to Beyond Optimizing, Sept. 1999
- Linda Rising and Norman Janoff, The SCRUM Software Development Process for Small Teams, IEEE Software, July/August 2000, available online at http://members.cox.net/risingl1/articles/IEEEScrum.pdf
- Martin Fowler, http://www.sdmagazine.com, Put Your Process on a Diet, Dec. 2000,
- Noopur Davis and Julia Mullaney, The Team Software ProcessSM (TSPSM) in Practice: A Summary of Recent Results, CMU/SEI-2003-TR-014, Sept. 2003, available on the SEI website
- Robert L. Glass, Agile Versus Traditional: Make Love, Not War!, Cutter IT Journal, Vol. 14 No. 12, http://www.cutter.com/freestuff/itj0112c.html
- Roy W. Miller, http://www-106.ibm.com/developerworks/java/library/j-xp0910.html, Demystifying Extreme Programming: "XP distilled" revisited, Part 2
- Russell Kay, Quickstudy: System Development Life Cycle, http://www.computerworld.com/developmenttopics/development/story/0,10801,71151,00.html
- VTT, Agile Software Development Methods, Sept. 2002, http://www.inf.vtt.fi/pdf/
- Watts S. Humphrey, The Team Software ProcessSM (TSPSM ), Nov. 2000, CMU/SEI-2000-TR-023, available on the SEI website
- William A. Wood and William L. Kleb
- Extreme Programming in a Research Environment, XP/Agile Universe 2002, LNCS 2418, pp. 89-99, 2002
- Exploring XP for Scientific Research, IEEE Software, vol. 20, pp. 30-36, May-June 2003
Websites � Agile topics
- The Agile Alliance (http://www.AgileAlliance.org/home, also .com)
- http://www.agilealliance.org/programs/roadmaps/Roadmap/index.htm
- Everette R. Keith,
http://www.agilealliance.com/articles/articles/ADifferentApproach.pdf,
Agile Software Development Processes- A Different Approach to Software Design�
- The Agile Manifesto
- http://www.agilemanifesto.org/
- Twelve Principles http://www.agilemanifesto.org/principles.html
- The Agile Movement
- Crystal Methodologies
- http://www.crystalmethodologies.org - see Alistair Cockburn
- http://alistair.cockburn.us/crystal/wiki/TitleIndex
- Lean Software Development
- http://www.leanprogramming.com/
- http://www.poppendieck.com/, Mary & Tom Poppendieck
- Scrum Alliance
- The SCRUM Development Process http://www.controlchaos.com/
- XP (eXtreme Programming)
- http://www.extremeprogramming.org/ - A Gentle Introduction
- http://www.extremeprogramming.org/rules.html
- http://www.xprogramming.com/
- http://www.extremeprogramming.org/rules/planninggame2.html
- http://www.xprogramming.com/Practices/justrule.htm, Ron Jeffries
- http://www.xprogramming.com/SD2000Class/sld025.htm , Ron Jeffries
- List of XP links http://ootips.org/xp.html#links
Scrum
- http://www.mountaingoatsoftware.com/presentations.php - good overview presentations
- scrum
Websites � authors on Agile topics
- Alistair Cockburn, http://alistair.cockburn.us
- http://alistair.cockburn.us/crystal/crystal.html, Crystal Methodologies
- http://alistair.cockburn.us/crystal/articles/jmc/justintimemethodologyconstruction.html, �Just In Time Methodology Construction�
- http://alistair.cockburn.us/crystal/articles/mpp/methodologyperproject.html, �A Methodology Per Project�
- Laurie Williams, http://collaboration.csc.ncsu.edu/laurie/
- Mike Beedle, http://www.agilescrum.com and http://www.xbreed.net
- Martin Fowler, http://martinfowler.com/articles/newMethodology.html, �Should you go agile?�
- Dale H. Emery, �Conversations With Dale: The Benefits of Failure�, http://www.dhemery.com/journal/archives/2003-06/the_benefits_of_failure.html
Software Engineering Institute (SEI) (http://www.sei.cmu.edu)
- http://www.sei.cmu.edu/tsp/
- http://seir.sei.cmu.edu - Software Engineering Information Repository
Websites and General Agile topics and discussions
- actiF http://www.microtool.de/process/en/actif_extreme.asp (process and tool)
- Wikipedia Extreme Programming http://www.wikipedia.org/wiki/Extreme_Programming
- The C2 Wiki:
- http://c2.com/cgi/wiki?AgileRevolution, Mike Beedle
- http://c2.com/cgi/wiki?AgileAndTspDiscussion
- http://c2.com/cgi/wiki?ExtremeProgrammingPractices
- http://c2.com/cgi/wiki?ExtremePspExperience, Marnix Klooster (Netherlands)
- http://c2.com/cgi/wiki?ExtremeRoles
- http://c2.com/cgi/wiki?ExtremeUnifiedProcess
- http://c2.com/cgi/wiki?HighDisciplineMethodology
- http://c2.com/cgi/wiki?MartialArtsAsSoftwareDevelopmentMetaphor, Walden Mathews
- http://c2.com/cgi/wiki?MethodologicalPluralism, Paul Feyerabend
- http://c2.com/cgi/wiki?PainlessSoftwareSchedules
- http://c2.com/cgi/wiki?PairProgrammingCostsBenefits, also see Laurie Williams doctoral thesis
- http://c2.com/cgi/wiki?ReleasePlan
- http://c2.com/cgi/wiki?SixSigmaDiscussion
- http://c2.com/cgi/wiki?ToddPasley, thesis
- http://c2.com/cgi/wiki?XpIsHeavyWeight
