AGILE-101
Agile Fundamentals
Course Overview
Orange & Bronze is primarily a software development firm. Our very survival depends on the successful delivery of projects. Our approach to Agile training is therefore pragmatic, rather than theoretical. It is not just a discussion of one methodology or another, but an analysis of why projects succeed or fail, and which practices can address specific issues. We go beyond what is written in books and articles and bring in our own experience. What we found out by applying Agile Software Development since 2005 is that many things written in books are not always applicable in the real world, and we bring this insight to our training.
During the class, we try to understand your organization’s specific issues and pain points, and share the various approaches that we or our clients have tried to address similar situations. More than just giving you technical knowledge, we try to arm you with specific action items that you can immediately apply to your organization.
Learning Outcomes
From this workshop, trainees will:
- Understand the methodologies and practices available in Agile, and to which situation each is applicable
- Gain a shared understanding within the organization of the challenges and expectation of each role, and a shared perspective when addressing process improvements
- Learn how Agile values affect requirements engineering
- Identify and describe user roles, write and evaluate user stories, and learn estimation and prioritization for iterations and releases
- Learn how to split and/or combine user stories, how to write effective acceptance criteria and tests for user stories, capture non-functional requirements as stories, and derive tests from User Stories
Suitable For
Anyone who wants to learn the basics of Agile and how to apply it in understanding and addressing real-world issues
Course Outline
Why do projects fail?
- Requirements
- Estimation & Planning
- Teams & Organizations
- Stakeholder & User Involvement
- Size
What is Agile?
- History
- Agile Manifesto
- 12 Agile Principles
Major Agile Methodologies
- Extreme Programming (XP)
- Scrum
- Kanban & Lean
- Unified Process Hybrids
- Disciplined Agile
- Choosing the right one, depending on your situation.
- Roles
- Problem Experts vs Solution Experts
- Customer / Product Owner
- The Customer Bill of Rights (XP)
- Developers / Development Team / Delivery Team
- The Developer Bill of Rights (XP)
- Scrum Master
- Alternatives: Agile Squad
Requirements
- Needs vs. Written Requirements
- Words are Imprecise
- Three C’s: Card, Conversation, Confirmation
- Asking Better Questions
- Product Backlog
- Product Backlog Refinement
- Definition of Ready
- Acceptance Criteria
- Prioritization
- Acceptance Tests
- Item Splitting
- Personas
- User Stories
Iterative Development
- How Projects Really Work
- What is Waterfall?
- Iterative Development Overview
- What it is.
- What it’s not.
- Benefits
- The Scrum Sprint
- Sprint Planning
- Daily Stand-Up
- Backlog Refinement Meeting
- Sprint Review
- Retrospective
- Information Radiators
- Task Board
- Burndown Chart
- Definition of Done
- Handling underestimation & overestimation
- FAQs & Best Practices
Estimation
- Ways of Estimating, and when to use each
- Story Points
- T-Shirt Sizing
- Absolute Estimation
- No Estimates
- Velocity
- Planning Poker
- Spikes
- Burn Up Chart
Kanban
- History
- Visibility
- Little’s Law
- Cycle Time & Quality & WIP
- The Myth of Multitasking
- Enhancing the Task Board
- Class-of-Service Definitions
Agile Engineering, Layman’s Overview
- Flaccid Scrum
- Technical Debt
- Maintainability
- Coding Standards & Practices
- Simplicity
- Object-Oriented Design
- Domain-Driven Design
- Refactoring
- Test-Driven Development
- DevOps