Agile Development Workflow at Defactor
Defactor's Agile Development Workflow documentation outlines our approach to software development, characterized by iterative progress, collaborative effort, and frequent reassessments of plans at short intervals. This workflow emphasizes collaboration, customer feedback, and rapid releases to enhance project transparency and efficiency.
Agile Principles at Defactor
Agile at Defactor involves delivering incremental value through a structured yet flexible process. By adapting to feedback and changes quickly, we ensure the continuous improvement of our products.
Agile at Defactor is about:
- Quick Wins: Delivering small product increments for feedback and iteration.
- Quality: Rigorously testing each increment.
- Time Management: Using time-boxed sprints, usually two weeks long.
- Scope Management: Prioritizing work to deliver the most valuable features first.
Refer to the Agile Manifesto for foundational principles.
Key Agile Roles
- Product Owner: Sets the vision and prioritizes the backlog to align with business goals.
- Project Manager: Guides the development process and assumes the responsibilities of a traditional Project Manager, facilitating meetings and removing obstacles.
- The Team: Delivers high-quality work in collaboration.
The Scrum Guide offers further insights into these roles, however we don's adhere to a strict implementation of scrum.
Agile Artifacts
- Epic: A large body of work that encompasses significant functionality.
- Feature: An enhancement that delivers value and aligns with an Epic.
- User Story: A requirement from the user's perspective.
- Task: The smallest work unit to achieve a user story.
Release Planning Process
- Identify Features: Define what is needed for upcoming releases.
- Analyze Features: Research and create a feature list.
- Prioritize: Order the backlog by business value.
- Define Features: Clearly outline features with acceptance criteria.
- Plan Releases: Schedule feature development.
- Map Execution: Visualize the feature delivery timeline.
Agile Framework and Ceremonies
- Backlog Grooming: The team reviews the backlog to ensure clarity and readiness of upcoming User Stories.
- Sprint Planning: This is where the team aligns on the goals for the sprint, discusses the roadmap, and plans the development tasks.
- Daily Stand-Ups: A quick, daily check-in where the team reports on progress, plans for the day, and discusses any impediments to their tasks.
- Design Review: A session to evaluate design proposals and ensure they meet the requirements and standards before development begins.
- Sprint Review & Release Demo: The team showcases the work completed during the sprint to the Product Owner/CTO and other stakeholders for feedback.
- Retrospective: An opportunity to reflect on the sprint, discussing what went well, what didn't, and how processes could be improved for the next sprint.
The Process Framework
Sprint Ceremonies Detailed
Sprint Kickoff & Dev Planning
- Goal: Initiate the sprint by setting goals and planning development activities.
- Participants: Project Manager, Product Owner, Dev Team, Stakeholders.
- When: First day of the sprint.
Daily Standup
- Goal: Facilitate daily communication and prompt resolution of blockers.
- Participants: Project Manager, Product Owner, Dev Team.
- When: Every day of the sprint.
Backlog Grooming
- Goal: Refine the backlog, ensuring that the team has a clear understanding of upcoming work.
- Participants: Project Manager & Dev Team.
- When: Twice per sprint / once per week.
Design Review
- Goal: Assess design plans, ensuring they meet user needs and technical requirements.
- Participants: Project Manager, Dev Team, Product Owner.
- When: Once per sprint.
Sprint Review / Demo
- Goal: Showcases completed work to stakeholders and gathers feedback for future improvements.
- Participants: Project Manager, Product Owner, Dev Team, Stakeholders.
- When: End of the sprint.
Retrospective
- Goal: Enhance team collaboration and sprint effectiveness.
- Participants: Project Manager, Dev Team, Product Owner.
- When: Last day of the sprint.
Test Review
- Goal: Analyze defects and testing outcomes from the sprint.
- Participants: Project Manager, Product Owner, Testers.
- When: After sprint completion.
High-level Sprint Meeting Schedule
Week 1
Time | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
8:00 | |||||
9:00 | Sprint Kickoff & Dev Planning | Design Review | |||
10:00 | |||||
11:00 | Daily Standup | Daily Standup | Daily Standup | Daily Standup | Daily Standup |
12:00 | |||||
1:00 | Backlog Grooming | ||||
2:00 | |||||
3:00 | |||||
4:00 |
Week 2
Time | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
8:00 | |||||
9:00 | Sprint Review & Release Demo | Retrospective | |||
10:00 | |||||
11:00 | Daily Standup | Daily Standup | Daily Standup | Daily Standup | Daily Standup |
12:00 | |||||
1:00 | Backlog Grooming | ||||
2:00 | |||||
3:00 | |||||
4:00 |
Product Backlog Management
The Product Backlog at Defactor is a living document, continuously updated to reflect the dynamic nature of our project requirements and priorities. It is used to sequence sprint work and track progress across releases and incorporating lessons learned.
User Story Development
User stories are crafted to provide value, are independently testable, and are sized to be completed within a sprint. They are continuously refined and follow the INVEST criteria: Independent, Negotiable, Valuable, Estimable, Small, and Testable.
Template for User Stories
- Format: As a
[role]
, I want[action]
so that[benefit]
.
User Story Best Practices
- Complete Stories: Deliver value in each sprint.
- Organized Work: Enable demonstrable and testable stories.
- Story Decomposition: Break down complex stories for sprint manageability.
- Independence: Develop stand-alone stories to avoid upstream dependencies.
Conclusion
This document is a primer on Agile practices at Defactor. For detailed procedures and methodologies, refer to the comprehensive Defactor Agile Playbook available to all team members.