Play 3
Building Your Team
Project success is never guaranteed. Determine your approach to product development in order to correctly fit your resource needs. Develop your team’s capacity to deliver modern digital products by enhancing your existing skillset through exposure to experienced people either using temporary assignments, contractors, or co-ops. Once you have your team arrive at a common understanding of the culture you wish to promote, then entrust design and development to the team which you have empowered.
Have a design system that establishes your product framework, is based on your priorities, and complies with government standards.
Step 1: Go Agile; Don’t Repeat the Old Ways
- Select Agile when:
- The intended solution is large
- The solution can be a collection of many different projects
- Working within a time and materials contract
- Requirements are expected to change over time
- Product Owners are embedded in a team and prepare requirements daily
- Projects do not have a Project Manager as all team members co-manage the project
- Developers have cross-functional skills
- Reject the “old ways” (aka: Waterfall) because:
- The intended solution will be large and has a higher risk for failure
- Requirements are expected to change over time
- Many Waterfall projects are abandoned and do not meet user expectations when finally completed
Step 2: Augment Your Team with Experience
- Identify the roles your project needs
- Build up your team’s capacity by bringing in resources that are seasoned professionals
- Work with the procurement team to understand how to evaluate proposals
- Provide existing staff with opportunities to pair up with contractors to build more internal capability
- Identify the product/project owner
- Include a Security and Privacy Officer in your team
- Consider the Sprint with Us and Code With Us mechanisms that allow the Government of B.C. to procure Agile software development teams
Step 3: Introduction to the Product Vision
- Review the project team membership and identify responsibilities:
- Product Owner, Scrum Master, Developers, Testers, and Delivery Manager
- Specify the approval process for signing off deliverables
- Review and understand the Product Owner’s solution vision
- Discuss the client’s attitude and approach to managing risk and change
- Agree on a reporting strategy to track and communicate progress to stakeholders
- Agree on which tools will foster the most productive collaboration
- Decide what assets are required in order to start delivering products
- Formulate the Project Inception Agenda
Step 4: Project Inception
- Have a team agreement session
- Introduce the team members and the project stakeholders
- Define and agree on the team’s values; display them prominently
- Establish your team agreement
- Establish “way of working” (sprint cycles, way of communication, meeting regularity)
- Advertise when you will hold Sprint Planning, Stand-ups, Sprint Reviews, and Product/feature Demos
- Agree on a common “definition of done”
- Create a virtual/physical workspace for the team
- Set up your development environment
- Define an initial backlog of requirements/stories/features
- Identify the high value user stories based on their needs/challenges formulated as user stories
- Specify acceptance criteria for each story
- Review your Definition of Ready
- Work in the open. Deliver often. Increment continuously
Resources
- Adopt a set of Digital Principles and Standards
- The Government of Canada Digital Playbook has a useful tool to help determine if Agile is right for your project
- For more information on the BCDevExchange approach to Agile, consult the DevHub
- The US Digital Playbook and the GSA Guides describe the benefits of adopting an incremental Agile approach to digital project development
Tooling to Consider
- Kanban board
- Task assignment system (Jira)
- Documentation hub (Confluence)
- Code repository (GitHub)
- Training schedule
- Scrum templates
- Scrum ceremonies