Skip to content

Sde201 project planning

MLP Service

In the context of product development, MLP stands for Minimum Lovable Product. It is a concept that emphasizes creating a product with the minimum set of features that are required to provide a delightful user experience and generate value for the users.

The concept of MLP is different from the Minimum Viable Product (MVP), which focuses on building a product with the minimum set of features that are required to validate the product idea and gather feedback from early adopters. The MLP, on the other hand, aims to provide a product that users will love and enjoy using, while still maintaining a lean and efficient development process.

The idea behind MLP is to prioritize the features and functionalities that are most important to the users and provide a delightful user experience. By focusing on the core features that users need and love, product teams can deliver a product that stands out from the competition and generates loyalty and enthusiasm from its users.

Engineering Document

  1. BRD: Business Requirements Document, a formal document that outlines the business needs and objectives of a project, along with the proposed solution, requirements, and specifications. It serves as a guide for the development team and stakeholders throughout the project lifecycle.
  2. PRFAQ: A document that combines the format of a press release and a frequently asked questions (FAQ) document. It starts with a high-level description of the product, followed by a set of questions and answers that help to clarify the key features and benefits of the product.
  3. HLD: A High-Level Design document that provides a bird's eye view of the new system. It typically includes an overview of the system architecture, the key components and modules, and the interactions between them.
  4. LLD: A Low-Level Design document that provides detailed information about the implementation, design, pros, and cons of a specific component or module in the system. It includes information about the data structures, algorithms, interfaces, and other technical details.
  5. One Pager: A simple and concise document that describes the problem and proposes a solution. It typically includes a brief overview of the business problem, the proposed solution, and the benefits of implementing the solution.

Enginering Process

  1. Scrum Master: A role in Agile project management that is responsible for organizing and facilitating meetings, tracking the progress of the project, and ensuring that the team is following the Scrum framework. The Scrum Master helps to remove any obstacles that are preventing the team from delivering the product, and works to ensure that the team is working efficiently and effectively.
  2. Meeting Notes: A document that is used to capture the key points and action items from a meeting. It is typically shared with all meeting attendees and stakeholders as a way to provide a summary of what was discussed and what actions need to be taken. Meeting notes can be used for both synchronous and asynchronous communication.
  3. Capacity Planning: A process that involves planning and tracking the tasks that need to be completed in the next sprint. Capacity planning helps the team to understand how much work they can realistically take on, and ensures that the workload is evenly distributed across team members.
  4. Retro: Short for retrospective, this is a process that involves reviewing the good, bad, and actionable items from the previous sprint (usually 1-4 weeks). The goal of the retro is to identify what went well, what didn't go well, and what can be improved in the next sprint. The team discusses and agrees on action items that can be implemented in the next sprint to improve the process and increase efficiency.
  5. Task Grooming Meeting: A meeting where the team reviews and discusses the user stories that will be included in the upcoming sprint. The team clarifies any questions or issues with the user stories, and breaks down the stories into smaller tasks. This helps to ensure that the team has a clear understanding of what needs to be done in the upcoming sprint.

Service Document

  1. Service Level Agreement (SLA): A document that outlines the level of service that customers can expect from the software service. This includes information about uptime guarantees, response times, and customer support.
  2. System Architecture: A document that provides an overview of the software service architecture. This includes information about the different components of the system, how they interact with each other, and how data flows through the system.
  3. Runbook: A document that provides detailed instructions on how to operate and maintain the software service. This includes information about how to start and stop the service, how to monitor its performance, and how to troubleshoot common issues.
  4. User Guide: A document that provides instructions on how to use the software service. This includes information about how to sign up, how to log in, and how to perform common tasks within the software.
  5. API Documentation: A document that provides information about the software service's API (Application Programming Interface). This includes details about how to interact with the service programmatically, including request and response formats, authentication, and error handling.
  6. Release Notes: A document that provides information about the latest release of the software service. This includes information about new features, bug fixes, and any changes that may affect users.
  7. Wiki: A collection of documents that provides detailed information about the software service. This includes information about the software's history, development process, and frequently asked questions. The wiki can also include documentation about specific features, integrations, and workflows.

Project Planning: Example Project Breakdown

Here is an example of project breakdown - Design - HLD - POC for X - POC for Y - LLD for component 1 - LLD for component 2 - Implementation - PreLaunch - PostLaunch - BackLog

Epic 1: Design

  • Component 1: High-Level Design (HLD)
  • Task 1: Outline the overall architecture and major components of the project.
  • Component 2: Proof of Concept (POC)
  • Sub-component 1: POC for X
    • Task 2: Validate the feasibility of implementing a specific feature or technology (X).
  • Sub-component 2: POC for Y
    • Task 3: Validate the feasibility of implementing another specific feature or technology (Y).
  • Component 3: Low-Level Design (LLD)
  • Sub-component 1: LLD for Component 1
    • Task 4: Create detailed design specifications for the first major component.
  • Sub-component 2: LLD for Component 2
    • Task 5: Create detailed design specifications for the second major component.

Epic 2: Implementation

  • Component 1: Feature Implementation
  • Task 6: Implement the features and components as per the design specifications.
  • Component 2: Integration Testing
  • Task 7: Develop integration tests to ensure the smooth interaction between different components/modules.

Epic 3: PreLaunch

  • Component 1: Monitoring and Feedback
  • Task 8: Set up monitoring tools to collect relevant metrics and data.
  • Task 9: Create a dashboard to visualize key performance indicators (KPIs) and project metrics.
  • Task 10: Define thresholds for performance metrics to trigger alarms/alerts.
  • Task 11: Implement alarms/alerts to notify stakeholders of any anomalies or issues detected.
  • Component 2: Testing and Quality Assurance
  • Task 12: Conduct integration testing to verify the interaction between components.
  • Task 13: Perform canary testing to validate new features in a controlled environment.
  • Task 14: Conduct testing and quality assurance activities to ensure the project meets requirements and is stable for launch.
  • Task 15: Prepare documentation and training materials for end-users and stakeholders.
  • Component 3: Deployment Planning
  • Task 16: Finalize deployment plans and infrastructure setup.

Epic 4: PostLaunch

  • Component 1: Monitoring and Feedback
  • Task 17: Monitor the project's performance and gather user feedback.
  • Task 18: Address any issues or bugs identified post-launch.
  • Component 2: Iteration and Enhancement
  • Task 19: Iterate on the project based on user feedback and performance metrics.
  • Task 20: Plan and implement future enhancements or updates.

Epic 5: Backlog Management

  • Component 1: Backlog Maintenance
  • Task 21: Maintain a backlog of features, enhancements, and bug fixes for future sprints or iterations.
  • Task 22: Prioritize backlog items based on business value and project goals.
  • Task 23: Continuously refine and update the backlog as new requirements emerge or priorities change.

With this adjustment, monitoring tasks are moved to the pre-launch phase, ensuring that monitoring systems are in place before the project is deployed. This allows for early detection of issues and ensures that the project is launched with proper monitoring and feedback mechanisms in place.