Planning Phase
In this phase, the focus is on gathering requirements, defining tasks, estimating the project scope, and planning resources. This foundation is essential for creating a smooth development workflow and achieving our project goals efficiently.
1. Tools
Tool | Purpose |
---|---|
Google Docs | Document requirements, ideas, and gather feedback. |
Jira | Task management and backlog creation, track milestones, priorities, and assignments. |
Excel Sheets/ Google Docs | Task estimation, complexity rating, and capacity planning. |
Slack | Team communication and coordination. |
Google Calendar | Schedule meetings, weekly catch-ups. |
Miro / MURAL | Brainstorming sessions for ideas and user flows. |
2. Gather Requirements
Identify the core problems the feature or product aims to solve and define the main features. This step is essential to ensure a comprehensive understanding of the project's requirements and goals, aligning the team’s efforts from the outset.
2.1 Business Side
Goal: Understand the product’s value proposition, target audience, and potential business impact.
In the beginning we need to describe the idea, which we would like to implement.
Target Audience
- Age Group: Define specific age ranges depending on product relevance (e.g., 18-35 for a digital-first product).
- Demographic Focus: Consider urban versus rural markets, income levels, tech comfort, and specific user behaviors.
- User Needs: Identify primary motivations, such as convenience, cost-savings, access to services, or educational support.
Value Proposition
- User-Focused Value: Outline how the product solves user pain points or simplifies their lives. This could include features like price comparison, exclusive deals, or tailored suggestions.
- Business-Focused Value: Describe the business advantages, such as customer acquisition through partnerships, insights on customer behavior, or unique advertising opportunities.
Revenue Streams
- Subscription Model: Determine free and premium access levels and any associated pricing tiers.
- Ad Revenue: Outline ad placements and potential business partnerships (e.g., grocery chains).
- Data Insights: Provide anonymized data or analytics to clients if relevant.
Example
Target Audience | Age Group: 18-35, living in cities with access to multiple service providers, price-sensitive, tech-savvy. |
---|---|
Value Proposition | Save time and money by offering real-time price comparisons and promotions. |
Revenue Streams | Premium subscription ($5-10/month), in-app ads, potential data sales for trend analysis. |
Please, see the conducted research for competitor analysis with user flow:
Additionally, it would be nice to have filled business canva model
2.2 Competitor Analysis
Goal: Analyze competing products or services to identify market gaps and improve the positioning of our product.
- Identify Competitors
- Research similar products or services in the target markets.
-
List direct competitors (those with similar offerings) and indirect competitors (services that satisfy a similar need).
-
Competitive Features and Weaknesses
- Create a feature comparison table listing each competitor’s strengths and weaknesses.
-
Take note of customer reviews on app stores and social media to understand user sentiment.
-
Positioning and Differentiation
- Define what sets our product apart: unique features, superior user experience, pricing advantages, or added services.
- Highlight any specific pain points not addressed by competitors and how our product will fill these gaps.
Example Competitor Analysis Table
Criteria | Competitor A | Competitor B | Our Product |
---|---|---|---|
Unique Features | Broad feature set but complex UI | Simple UI, but limited features | Tailored suggestions, AI-generated baskets |
Weaknesses | Clunky navigation, expensive subscription | Limited customer support | User-friendly, affordable tiered pricing |
User Feedback | Mixed - complaints about UI issues | Positive - known for reliability | High engagement, personalized features |
Pricing | $10/month, no free option | $5/month with basic free access | $5/month, free and premium options |
2.3 Feedback and Ideas
Goal: Gather initial ideas and feedback from all stakeholders to enhance product features and functionality.
- Conduct sessions with the team to collect ideas and suggestions, using tools to visualize thoughts and connections.
- Categorize ideas by priority: Must-Have, Nice-to-Have, Future Enhancements.
Feature | User Priority | Team Feedback | Decision |
---|---|---|---|
Price Comparison | High | Essential for user value | Include in MVP |
Personalized Suggestions | Medium | Could increase user engagement | Add after MVP launch |
Community Voting | Low | Not essential for MVP, valuable for community features | Future enhancement |
In the end we will have the following MVP/AFTER MVP/OPTIONAL functionality we would like to see within our application:
3. Task Estimation
Objective: Break down complex tasks, estimate development time, and assign responsibilities to optimize the workflow.
-
Gather/Review Requirements and Define Scope
-
Define the primary problems and expected outcomes for the feature or product (since we have done it already, we need to update the initial requirements which will be splitted into the product stories after all).
-
Collect detailed requirements and document them in Google Docs for easy access and updates.
-
Task Breakdown and Estimation
- Estimate each task's complexity and priority using Excel or Google Sheets according to the PERT (Program Evaluation and Review Technique).
- Split larger features or components into smaller, manageable tasks to ensure realistic estimates and minimize risk.
-
Assign Responsibilities and Set Milestones
-
Identify team members responsible for each component (e.g., frontend, backend, database).
- Set milestone deadlines based on task estimates, and adjust workload according to team capacity.
So, depending on how much time our team can spend working on the product is calculated our potential and development hours
Estimates:
55h/week our team can spend on the development of all functionality → 220h/ month, which means that the whole project can be done within 1.5 months of development.
4 Other Rules
- At the end of the week outline what has been accomplished and remaining work using the template below.
# Weekly Summary [Date]
I have implemented 50% of the task, 1st MR is merged, I have a better idea on how to implement X functionality, which I would like to discuss during the next call, but overall everything is great.
# Remaining Work
Consult with a team regarding this task and complete the assignments
If plans have changed or the task is blocked, this should be reflected on the /Jira ticket.
IMPORTANT: If you have any concerns, got stuck/don’t know how to implement the feature, think that the time estimate is not appropriate and should be moved towards a new deadline, PLEASE SHOUT, DON’T BE ALONE, I AM HERE TO HELP.
Notes:
Once we decide on a management system, I will come up with other rules for setting metadata of the task and description (such as status / Delivered / Not Delivered, etc..). Additionally, I will read a couple of articles to improve our management strategy
5. Weekly Calls
Nobody likes long, overwhelming calls, so in this case we can achieve higher performance in case everyone is prepeared.
Each team member should prepare a mini-document with everything listed above, not to waste time on unnecessary discussions.
# Weekly call agenda
1. Updates from each team member: what’s been completed, blockers, next steps.
2. Discussion of new feature ideas or enhancmenets.
3. Potentially we can use the follcements.
4. Review of current estimates or task re-prioritization.
5. Any team feedback or concerns.
6. Feedback on how to improve all phases and steps of SDLC, this is very important, since we are trying to build a model suitable for everyone in our team, so please I need to know what you think of my suggestions and steps.
Discuss the estimates with a team
- Review the entire backlog with the development team.
- During weekly calls, raise any concerns about anything you have.
- Get feedback and adjust the plan as necessary.
6. Team
The next step will be to estimate the development capability of the team(s) for the project.
Name | Role | Responsibility | Milestones | Availability |
---|---|---|---|---|
Yehor | CTO | Create complex designs, development | Be responsible for the project itself | 24/7 |
Sasha | Team lead | Manage project, Help other people when they get stuck | Authorisation/ Payment Gateway | 15 h / week |
Dima | BE | Implement Trello tickets, Core functionality | Core functionality | 15 h / week |
Vlad | FE | Ensure that FE is stable and always up to date | Frontend part | 15 h / week |
So, depending on how much time our team can spend working on the product is calculated our potential and development hours, AKA as velocity. The velocity and estimates can be reviewed during the development process.
Let’s make calculations and final estimates:
55h/week
our team can spend on the development of all functionality → 220h/ month
, which means that the whole project can be done within 4-12 months of development.
7. Conclusion
In the end of the planning phase we would expect the following:
- A well-defined, prioritised backlog is created and described in Trello or Jira.
- All tasks have been estimated and prioritised.
- The team has a clear understanding of the project scope, key deliverables, milestones and deadlines.
- Everyone has a clear picture of what we are doing and what we are going to achieve.
Notes:
- After a few sprints, we will know our team’s actual velocity (i.e., how many hours/story points they can achieve per week). This data can help us to fine-tune estimates over time.
- It might be worth introducing dependency mapping. Jira's advanced roadmaps or ensure that dependent tasks are tracked correctly.
- Standardise task templates For example, integrating Trello/Jira with automation tools like Zapier or GitHub Actions can keep task management consistent.
- Add buffer time for actual business (marketing/posts/etc..) (maybe 10-20% of allocated time for development)
Please, welcome to suggest anything on this document to improve ourselves! Let’s build the future together.