Contents

Preface

Acknowledgments

About the Authors

Chapter 1: The History and Value of Agile Software Development

The Beginnings of Software Development as Methodology

The Rise of Agile Software Development

The Agile Manifesto

Cayman Design

Conclusion

Summary

Interview with Robert Martin (Uncle Bob)

References and Further Reading

Review Questions

Chapter 2: Organizational Culture Considerations with Agile

What Is Organizational Culture, and Why Does It Matter?

The Team Members’ Viewpoint

What Is Different?

Successes

Failures/Risks

A Manager’s Viewpoint

What Is Different?

Successes

Failures/Risks

An Executive’s Viewpoint

What Is Different?

Successes

Failures/Risks

Conclusion

Summary

Interview with Scott Ambler

References and Further Reading

Review Questions

Chapter 3: Understanding the Different Types of Agile

Extreme Programming (XP)

Frequent Releases, Short Development Cycles

Pair Programming

Regular Builds, Integration Tests, and Rapid Feedback

Scrum

Feature-Driven Development

Dynamic Systems Development Method

Lean Software Development

Kanban Method

Crystal Family

Certification

Implementing Tools and Techniques at Cayman Design

Conclusion

Summary

Interview with Alistair Cockburn

References and Further Reading

Review Questions

Chapter 4: Describing the Different Roles

Deep Dive into Scrum Roles

Product Owner

Scrum Master

The Team

Chickens and Pigs

Practical Examples of the Scrum Roles

Extended Team Members

Roles in Other Methodologies

Project Sponsor

Requirements Gatherer

Project Manager

Team Coach

Architect or Technical Lead

Development Team

Documentation and Training

Agile Coach

Kanban

Practical Examples of Roles

Start-Up

Mid-Sized Company

Large Multinational Company

Conclusion

Summary

Interview with Roman Pichler

Interview with Lyssa Adkins

References and Further Reading

Review Questions

Chapter 5: The New Way to Collect and Document Requirements

Old Form of Requirements Gathering

Agile Requirements in Scrum

User Story Format

Epics

Acceptance Criteria

User Story Writing Best Practices

Additions and Considerations from the Other Methodologies

Extreme Programming

Dynamic Systems Development Method

Enhancing Requirements

Incorporation of Personas

Human–Computer Interaction (HCI) and Usability

Business Value

From User Stories to Deliverables

Release Management

Managing Features—Marketing/Sales versus Development

Customer-Specific Code

Communication

Sharing the Vision

Roadmaps—Internal and External

Lean Product Development and the Minimum Viable Product (MVP)

Conclusion

Summary

Interview with Ellen Gottesdiener and Mary Gorman

References and Further Reading

Review Questions

Chapter 6: Grooming and Planning

Product Backlog (Scrum and XP)

Feature-Driven Development (FDD)

Prioritization of Stories

Prioritization Based on Value

Value Stream Mapping

MoSCoW

Kano Model

Estimating

Level of Effort (LOE) or T-Shirt Sizing

Ideal Time (Days or Hours)

Hours

Story Points

Team Participation

Scrum: Product Backlog Grooming

Additional Inputs

Scrum: Sprint Planning

Inputs

Planning Session

Output

Chickens and Pigs

Extreme Programming: XP Planning Game

Maintenance of Legacy Code

Build Time into the Sprint

Assign a Team Resource to Maintenance

Split into Two Teams

Triple Constraints

Kanban

Conclusion

Summary

Interview with Mike Cohn

References and Further Reading

Review Questions

Chapter 7: Testing, Quality, and Integration

Quality

Creating a Quality-Focused Culture

Test-Driven Development (Unit Testing)

Refactored Code

A TDD and Refactoring Example

More Complex Test Cases

Test Cases to Compare

Manual, Automated, and Customer Testing

Conclusion

Summary

Interview with Tim Ottinger

References and Further Reading

Review Questions

Chapter 8: Tracking and Reporting

Kanban

Kanban Board

Work in Progress (WIP) Limit

Tracking

Extreme Programming (XP)

Burn Charts

Information Radiators

Feature-Driven Development (FDD) Parking Lots

Other Progress Charts

Tracking Quality

Meetings or Ceremonies

Daily Stand-Up Meeting

Sprint Review or Demo

Retrospectives

Measuring Success in Agile

Conclusion

Summary

Interview with Kent McDonald

References and Further Reading

Review Questions

Chapter 9: Agile beyond IT

Products beyond Software Development

Customer Collaboration

Responsiveness to Change

Working Software

Individuals and Interactions

Speaking to the Market with Agility

Managing Features

Limited Audience

Continuous Enhancements

Agile in Other Organizations

Tools for Broad Use

Agile Marketing

Conclusion

Summary

Interview with Travis Arnold

References and Further Reading

Review Questions

Appendix: John Deere Case Study

Glossary

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset