Course Outline:
Module 1: Setting the Stage: Agile and Scrum
What Is the Foundation of Agile Software Development and Project Management?
· Scrum Origins
· How Scrum Works
· Why Are Agile and Scrum Effective in Software Project Management?
· The Shift to Distributed Development Teams
· Globally Distributed Teams to Reduce Costs
· Reaching Market More Quickly with the “Follow the Sun” Model
· Distributed Teams Expand Access to New Markets
· Acquisitions
· Expanding for Innovation and Thought Leadership
· Telecommuting
· Improvements in Distributed Collaboration Tools
· Types of Distributed Teams That Have Emerged
· Collocated
· Collocated Part-Time
· Distributed with Overlapping Work Hours
· Distributed with No Overlapping Work Hours
· Ways of Handling Distributed Teams
· Isolated Scrums
· Distributed Scrum of Scrums
· Totally Integrated Scrums
· IBM’s Experience in Distributed Scrum
· History of Agile in IBM
Module 2: Challenges Faced by Distributed Teams
· Communicating with Distributed Team Members
· Time Zones and Working Hours
· Cultural Differences
· Language Differences
· Keeping Language Simple
· Giving Everyone a Chance to Speak
· Using Group Chat During Meetings
· Providing a Translator
· Confirming What Team Members Understand
· Tools
· File Sharing
· Software Engineering Practices
· Schedule Differences
· Team Dynamics
· Telephone Dynamics
· Providing Access to the Call
· Working with Telephones in a Meeting Room
· Identifying the Speaker
· Handling Visual Cues
· Encouraging Participation
· Limiting Side Conversations
· Muting the Lines
· Checking for Agreement and Disagreement
· Identifying an Advocate to Represent Remote Team Members
· When Nothing Else Works, Everyone Dials In
· Reminders
· Impact of Communication Problems
· How Does Scrum Help?
· Summary
Module 3: Starting an Agile Project
· How to Identify the Problems Your Product Will Solve
· Who Are Your Stakeholders?
· What Problems Will the Project Address?
· What Are Your Solutions to the Problems?
· What Is the Return on Investment?
· Define the Vision
· Create the Product Roadmap
· Organize the Scrum Teams
· Create and Prioritize the Backlog
· Estimating the Stories as a Team
· Prioritizing the Backlog
· Single Backlog for Multiple Scrum Teams
· Single Backlog with Sections for Multiple Teams
· Separate Backlogs for Multiple Scrum Teams
· Single Backlog Populated by Multiple Other Teams
· Create the Release Plan
· What Is the Sprint Length?
· What Is the Estimated Team Velocity?
· What Are the Dependencies?
· What Are the Risks?
· Coordinate Multiple Product Owners
· Use Agile Project Management Tools
· Invest in Smarter Development
· Coordinating Agile and Non-Agile Teams
· Reporting on Release Status
· Ongoing Updates to Release Plan and Vision
· Important Note about Meeting Face-to-Face
Module 4: Preparing for Sprint Planning
· Sprint Preplanning Activities
· Clarification of the User Stories
· Breaking Down User Stories
· Estimating User Stories
· Dealing with Dependencies
· Cleanup of the Product Backlog
· Approaches for the Sprint Preplanning Meeting
· The Full-Team Approach
· The Preplanning Team Approach
· The Balanced Team Approach
· Considerations for Distributed Teams
Module 5: Sprint Planning
· Adequately Preparing for the Sprint Planning Meeting
· Sprint Planning Meeting Logistics
· Sprint Planning Meeting Logistics for Scaled Teams
· Sprint Planning Meeting Logistics for Distributed Teams
· The First Half of Sprint Planning: Deciding What to Do
· Reviewing Product Vision and Sprint Goal
· Reviewing the Product Backlog
· Engaging Stakeholders
· The Second Half of Sprint Planning: Deciding How to Get the Work Done
· Creating the Sprint Backlog
· Gaining Commitment
· Updating the Release Plan
Module 6: Distributed Daily Scrum Meetings
· Using the Three Questions Effectively
· Answering the Three Questions
· Coordinating the Team on a Daily Basis
· Committing to the Team
· Verifying Progress
· Resolving Blockers
· Daily Scrum Logistics
· Ways of Communicating During the Daily Scrum
· Face-to-Face Meeting
· Teleconference Meeting
· Videoconference Meeting
· Group Instant Messaging Approach
· Approaches to Handling Time Zone Issues
· Daily Scrums Through Documentation
· The Liaison Approach
· Alternating Meeting Times
· Sharing the Pain
· Tips for Distributed Daily Scrums
· Removing Side Conversations
· Keeping the Team Engaged
· Facilitating the Meeting
· Taking Daily Scrum Notes
· Dealing with Language Barriers
· Tools to Help with Distributed Daily Scrum
· Scrum of Scrums
Module 7: Effective Collaboration During a Sprint
· Communicating During the Sprint
· Documentation to Overcome Distance
· Using the Right Tools
· Valuing the Whole Team
· Transparency
· Handling New Requests in the Middle of a Sprint
· Single Point of Entry
· Value of the Well-Groomed Backlog
· Shortening the Sprint
· Dealing with Defects
· Disruptions at the Team Member Level
· Handling Stories the Team Cannot Complete During the Sprint
· Handling Blockers During the Sprint
· Responding to Questions During the Sprint
· Sustainable Pace
· Sharing Time Zone Challenges
· Avoiding Double Workdays
· Continuous Integration
· Reports Any Build Failures to the Team
· Reduces the Risk of Integrating Code
· Establishes Greater Confidence in the Product
· Reduces the Time to Find Integration Issues
· Improves the Efficiency of the Team
· Builds Can Run at Different Frequencies
· Test Automation
· Dedicated Automation Teams
· Identify High-Value Automated Tests
· Automate What Is Stable
· Automated Tests Can Run at Any Time
· Automation Helps Improve Software Quality
· Test-Driven Development
· Provides Documentation and Working Examples of Code
· Helps Reduce the Time to Fix Defects
· Helps Improve Code Quality and Provides a Safety Net for Changes
· Helps Team Members Work Together and Collaborate
· Helps Teams Move Away from Big Upfront Designs
· Unit Tests and Continuous Integration
· Handling Infrastructure Projects
Module 8: End of Sprint Reviews
· Who Participates in the Reviews
· Enterprise Stakeholders
· Who Should Present
· Preparing Stakeholders
· Reviewing the Strategic Vision of the Product
· Approaches to Help Focus the Review
· Using Themes and a Script
· Having the Product Owner Introduce Each Presentation
· Scheduling for Teams with Overlapping Work Hours
· Scheduling for Teams with No Overlapping Work Hours
· Alternating Meeting Times
· Multiple Sprint Review Meetings
· Sharing the Pain
· Feeling the Pain
· Recording the Entire Sprint Review Meeting
· Challenges Teams Face
· Not Keeping Track of the Stakeholder Comments
· Demos May Provide a False Sense of Completion
· The Team Has Nothing to Present
· Added Challenges of Distributed Teams
· Neglecting to Demo the Work of Part of the Team
· Coordinate with Teams on Different Sprint Lengths
· Remote Demonstrations
· Network Delays and Poor Performance
· Services May Vary by Location
· Demos Outside of Office Hours
Module 9: Retrospectives
· Sprint Retrospectives
· What Should Come Out of a Retrospective?
· Retrospective Timing
· Hold Joint Retrospective as Needed
· Hold Regular Joint Retrospectives
· Joint Retrospectives for Teams on Different Sprint Lengths
· Retrospectives for Teams in the Same Product Family
· Conducting Retrospectives After Reviews
· Larger Retrospectives
· Building Trust
· Effects of Distance
· Preparing for the Retrospective
· Setting Expectations
· Understanding the Team Members’ Personalities
· Respecting Cultural Differences
· Offering Anonymity
· Asking for Comments Before the Retrospective Meeting
· What Went Well and What Can We Improve?
· Providing Questions to Focus the Discussion
· Consolidating Comments Is Extra Work
· Conducting the Retrospective
· Discussing Reported Issues
· Giving Everyone a Chance to Engage
· Using Common Terminology
· State the Obvious
· Keep the Conversation on Track
· Managing Time Effectively
· Release Retrospectives
Module 10: Pulling it all Together
· Closing Thoughts