Play 4
Ready, Refine, Sprint…
Activities undertaken by the entire team to define a fulsome “Sprint 0” prepare the team for product development sprints.
Adopt code frameworks and libraries that accelerate your development to create a working Minimal Viable Product (MVP) solutions that adheres to security and privacy requirements.
Define your architecturally significant requirements (ASR) based on product abilities.
Step 1: Develop a Release Plan
- Refine the (initial) backlog
- Define the product release schedule
- Develop/review feature stories
- Identify dependencies
Step 2: Develop Your Conceptual Architecture
- Document the overarching view of the system and placement of technical functions (e.g. use modeling tools to visualize relationships)
- Whiteboard relationships between components and the data model
Step 3: Adhere to Modern Application Principles
- Adopt the 12 factor approach
- Understand cloud-native architecture
Step 4: Set up Your Technical Infrastructure
- Establish communication channels for support
- MS-Teams, RocketChat, Slack
- Create a documentation repository
- Provision your environments
- Verify access
Step 5: Identify Your Development Workflow Processes
- Analyze your workflow
- Identify key processes and break them down
- Look for opportunities to Automate
Step 6: Set Up, Document, and Implement Your Tooling (Code Repository, Pipelines, Automation)
Verify your processes for successful:
- Integration
- Build and Deployment
- Application Security
Step 7: Educate Your Business Stakeholders
Your project has a finite set of resources and funding; defining and managing the scope is critical to your team’s success. The product owner educates both the team and the stakeholders in order to manage the team’s velocity and output.
- Keep an eye on the budget
- Ensure change management processes are being followed
- Regularly prune the backlog(s)
Step 8: Now Sprint…
- Following a successful “Sprint 0” phase, your team is prepared to start coding, testing, and committing features into the source code management system
Step 9: Monitor and Measure the Development Process
- Is the rate (velocity) of development keeping up with expectations?
- Monitor your system for reliability
Step 10: Conduct Code Reviews (As Required)
- Automate where possible
Step 11: Complete User Acceptance Testing and Remediate Defects
- Being agile means user acceptance testing is happening all the time
- Dealing with this often will save effort and time in the future
Step 12: Deploy and Promote Through Your Environments
- The Product Owner (PO) confirms the Definition of Done (DoD) prior to deployment
Step 13: Demonstrate Your Products Frequently and Obtain User Feedback
- Sprint demo (feature delivery)
- Stakeholder demo (batch delivery)
Definition of an MVP
A Minimal Viable Product (MVP) is one that delivers core functionality as expected by a business unit’s target audience. The core functionality is a set of features that is delivered at the initial product launch. Once launched, the product follows a documented lifecycle for user feedback and product support.
An MVP is no longer considered to be an experiment, but a product that has value to its users.
https://en.wikipedia.org/wiki/Minimum_viable_product
Guidance to Consider
- Understand how product management is different in Agile projects
- Understand Agile software product integrity
- Define and develop your pipeline (ex: Jenkins)
- Create and maintain a testing framework