Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword or section
Like this
2Activity

Table Of Contents

About the Author
Notes To the Reader
Updates In This Version
Acknowledgements
Introduction
We’ve Heard it All Before
Evaluating Agile Development
Think of Your Software Development Process as a Software Product
Agile for Mainstream Adoption
From Mainstream to Standard
Keeping Things in Perspective
A Quick Overview
The Primary Benefits of Agile Development
What is Agile Development?
Defining Agile via Benefits
Six Features in Six Months
Problems with Quality
The Misperception of the Value of Traditional Testing
Low Visibility
The Agile Approach
Agile Allows for More Flexibility and Options
Agile Provides Faster Realization of ROI
Agile Delivers the Highest Business Value and ROI
Agile Produces Higher Quality
Agile Gives High Visibility
Sustainable Pace: Supply and Demand
Primary vs. Secondary Benefits of Agile
Why Bother Changing?
Benefits of Adopting Agile
The Magic of Agile Development
Reinvest in Your Development Engine by Improving Your Work Environment
Your Development Process is Part of Your Work Environment
The Problems with Traditional Development
Traditional Development is a Chinese Finger Puzzle
Problems Hide Longer Than Necessary
The Testing Gauntlet
Code Churn: The Hydra Syndrome
Short Iterations, The Key to Agile Development
Feedback
Accidentally Agile
Short Iterations Reschedule Traditional Development Tasks
Say Goodbye to Feature Creep
Final Qualification of a Release
Remote Feedback
Dealing with Uncertainty
Software Development is Inherently Unpredictable
Sales are Inherently Unpredictable
Predicting the Future
Sales Techniques for Managing Unpredictability
Sales Pipeline
The Software Development Pipeline
Sales Quarters
Sales Forecast
Sales Process
The Business Side of Agile Development
Art vs. Manufacturing
Creativity vs Infrastructure
Agile Provides a Manufacturing Platform for Creative Activities
The Software Development Lifecycle
All Phases of Software Development are Variations on a Theme
Requirements Gathering is Not Design
Specification is Design
Specification is the First Approximation
Estimation is Design
Planning is Design
Design is Design
Implementation is Design
Final Validation of the Design
Software Development is a Search Algorithm
The Search For Value
The Max For the Minimum
Searching For Value in All The Right Places
Responding Rapidly is Better Than Providing Complete Feature Sets
Minimally Useful Feature Sets
Getting Customer Feedback Faster
Fitting Work into Short Iterations
Divide and Conquer
Using Multiple Tracks of Development
Breaking Functionality Down to the Essentials
Breaking Features Down Even Further
Scaling Agile
Agile Exposes Scaling Problems
Process Perspective
There is no Bug
Think Of Your Development Process as Software
Creating a Robust and Scalable Process
A Simple Process
Create and Maintain a Process Document
Continuous Process Improvement
Policies and Procedures
Frequent Feedback
Your Process Has Bugs
Shift Into Hyperdrive
Automate Everything
Always Act Like This is the Release
Customer Interaction
Product Management
The Business Value of Software Development
Tighter Requirements
Requirements
User Stories
Use Cases
Design and Architecture
Software Design Basics
Future-Proof Architectures, Major Releases and Large Feature Sets
Building Architectural Bridges to the Future
From Oversimplification to Rube Goldberg
Serendipity
Planning
Product Backlog
Estimation
Using Story Points For Estimation Instead of Units of Time
Velocity
Estimation Using Planning Poker
The Basics
The Benefits
Whole Teams
User Stories Simplify Estimation
Planning Poker Reduces Both Risk And Waste
Big Stories Can Hide Problems
If a Story Feels Like a Research Project, It Probably Is
If You Don’t Have Enough Information, Don’t Try to Make it Up
Planning Poker Fosters Good Habits
Quality
The Value of QA
Separation of Development and QA
The Role of QA in Agile Development
Maintaining the Balance Between Development and QA
End of Iteration Touch-up
Requirements Based Code Coverage Testing
Writing Tests Early
The False Economy of Big-Bang Testing
Automated Testing
Avoid “Random” Testing
Iteration Reviews, aka Demos
Usability
Integration
Big-Bang Integration
Continuous Integration
Self Integrity
Moving From Known Good to Known Good
It's All for One and One for All
Multi-Stage Continuous Integration
Distributed Integration
Adopting Multi-Stage CI
Releasing Your Software
Sink or Swim Maturation Process
Customers Don’t Want Frequent Releases
Size of Customer Base
Overhead Associated with Producing and Consuming a Release
Supported Versions
Customer Burnout From High Frequency of Releases
Frequent Releases for a Single Customer
It is Better to Find Customer Reported Problems as Soon as Possible
Beta
Limited Availability Releases
Moving to Frequent Releases Takes Time
Release Options
Release Option 1: Support all Versions in the Field
Release Option 2: Always Upgrade to the Latest Release
Release Option 3: One Release For All
Release Option 4: Dual Release Trains
We The People
Whole Team
Collocation
Transitioning to Agile Development
Focus on the Goal
Stage 1: Getting Ready
Self Education
Scope
Scouting
Prepare The Organization
Transition Development and QA Together
Keep Your Healthy Skepticism
Don’t Throw Out the Baby With the Bath Water
Create a Process Document
Stage 2: Establishing a Natural Rhythm
Short Iterations
Create The Initial Backlog
Repeat
Keep Your Process Document Up to Date
Stage 3: Your First Release
Release
Release Retrospective
Celebrating Your First Agile Release
Stage 4: Continuous Process Improvement
Manage Resource Imbalances
Reinvest in the Engine
Recommended Order of Practice Adoption
Process/Planning
Build
Test/QA
Releasing
Going Agile When Nobody Else Will
Scrum Master of One
Reverse Engineered User Stories
Divide And Conquer
One Thing at a Time
Product Owner For a Day – Creating the Backlog
Talking to Yourself
The Moment of Truth - Did it Work For You?
In Retrospect, That Was a Good Idea!
Unit Tests
Refactoring
Growing Your Agile Team
Process Improvement: Creating a Process Document
What is Your Process Today?
Process Improvement: Complimentary Practices
Respecting Domain Knowledge
Anticipating Unintended Consequences
Self-Organizing, Self-Managing, Self-Directing Teams
Group one
Group two
“No-Brainer” Self-Management Practices in Agile
Simplifying and Redistributing the Management Load
Shared Code Ownership
Pair Programming
Meritocracy
Stand Up Meetings
Using 3x5 Cards to Capture User Stories, Plan Iterations, and Manage Backlogs
Outsourcing
Process Improvement: Infrastructure Considerations
Use Off The Shelf Automation
Project Management, Defect Tracking, and Requests for Enhancement
All Electronic Artifacts
Version Everything
Atomic Transactions
Infrastructure Support For One Virtual Site
Asynchronous Coordination
Process Improvement: Advanced Techniques
Decoupling Iteration Activities From the Iterations
Decoupling Iteration Meetings and Story Point Estimation
Decoupling Retrospectives
Decoupling Iteration Reviews
Simplification and Delegation
Appendix A – Example Process Document
Process Document for Acme Widgets Inc
Requirements Gathering
Iteration Planning
Test Plan
Development
Exploratory Testing and Verification
Iteration Completion
Release Process
Appendix B – Case Studies
AccuRev’s Transition to Agile
The Development of AccuWorkflow at AccuRev
Litle & Co
The Iterative Design of a Transforming Lego Sports Car
The Challenge
Transforming Lego Car, Iteration 1
Thinking Outside The Box
Sliding Into Home
Developing a User Interface: Traditional Development vs Agile Development
Appendix C – Mainstream Practices
Mainstream Practices
Current Mainstream Practices
Preparation
Recommended Reading
Business
Requirements, User Stories, and Use Cases
Lean
Software Development
Software Quality Assurance and Testing
Software Configuration Management
Index
0 of .
Results for:
No results containing your search query
P. 1
Do It Yourself Agile

Do It Yourself Agile

Ratings: (0)|Views: 24 |Likes:
Published by kaosad
Do it yourself agile
Do it yourself agile

More info:

Categories:Types, Reviews
Published by: kaosad on Mar 26, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/23/2013

pdf

text

original

You're Reading a Free Preview
Pages 4 to 5 are not shown in this preview.
You're Reading a Free Preview
Pages 9 to 64 are not shown in this preview.
You're Reading a Free Preview
Pages 68 to 125 are not shown in this preview.
You're Reading a Free Preview
Pages 129 to 165 are not shown in this preview.
You're Reading a Free Preview
Pages 169 to 182 are not shown in this preview.

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->