Agile Software Development
- Implement Agile (plus all the extra bits to make Agile a complete solution)
- Address your current Agile, project management or engineering challenges
Delivery options:
- Two-day full workshop (see details below)
- Customized 1- or 2-day session. Tell us your needs.
- 5-day session covering: Scrum/Agile, requirements, estimation, risk management and peer reviews
Two-day workshop
Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Scrum (the example used in the class) is an Agile process for software development and consists of predefined milestones and events that scope, estimate, plan and status the project.
The majority of Agile methods are frameworks, not complete solutions. This workshop will cover additional skills to get the results you want (e.g., requirements elicitation to avoid wasting time in sprints, design and peer reviews within a sprint to find defects, and risk management to avoid surprises).
WORKSHOP AGENDA
Agenda Details- Definition of Agile and Scrum
- Agile Manifesto
- Agile Principles
- Definition of Scrum and Scrum Terms
- Summary of Extreme Programming & SAFe (for comparison)
- Scrum Details
- Backlog and Requirements
- Sprint Planning and Release Planning
- Sprint Order and Length
- Tracking Project Progress
- Sprint Review
- Sprint Retrospective
- Exercise: Implementing Agile/Scrum
Scrum Additions
- Adding Kanban and Lean practices
- Risk Management
- Practices to Add to Scrum (CM, Design, Quality)
- Dealing with Fixed-Price Contracts (as a Vendor & with Suppliers)
- Scaling Scrum for Large / Complex Projects
- Product Owner and Backlog for Large / Complex Projects
- Coordinating Multiple Scrum Teams
- Release and Sprint Planning for Large / Complex Projects
- Documentation and Time Zones for Distributed Teams
- Steps to Deploy Scrum
- Merging with Existing Life cycles (Waterfall, Gates, and Governance)
- Appendix
- Optional: Implementing with PMBOK and/or CMMI
- Tools
- References
Common challenges addressed in workshop
Backlog, user stories, details and grooming
- Do you have a great product? Causes?
- Ambiguous 1-line user stories
- Eliciting requirements — questions to ask
- User stories vs. Use cases — when and where to use
- Adding and organizing details
- Dealing with existing specs
- Calling everything a user story (requirement, task, bug, to-do)
- Fix sloppy backlogs and projects that drag on for 2 weeks at a time with no end in sight
Release and sprint planning
- How to make velocity numbers work
- Factoring in sprint capacity
- Ongoing surprises and risk mitigation
- Managing dependencies across teams
Sprint execution, order and engineering activities
- Speed can be mistaken for progress (many components developed that don’t work together)
- Architecture/design flaws
- Time for final system test/validation
- What version of __ are you working on?
- ScrumBut: What Scrum steps are really being done and how to raise the bar
Tracking project progress
- Ignoring burn down data because it is too painful
- Addressing symptoms and not causes
- No thresholds set when to replan. How bad is bad? Can you really catch up?
Your next step
- What to add because there is a problem to fix
- What to simplify because it is big and cumbersome
- What to delay because people are not ready for it
- Getting organized — your next steps
Audience
A complete project team (e.g., developer, QA/test, project manager and requirements roles).
After Scrum has been practiced, a team can optionally learn more advanced skills to implement each step. Our other workshops, such as requirements, project planning and peer reviews, are natural extensions to the initial skills learned in Scrum.
Read related Scrum articles