akshayvijaynair / poredocs

https://akshayvijaynair.github.io/poredocs/
1 stars 1 forks source link

Software Design Specification for Pore #8

Open akshayvijaynair opened 1 year ago

sossboyj commented 11 months ago

Purpose of Software Design Specifcation

Software Design Specification (SDS) serves as a pivotal step for the engineering team and other stakeholders to establish precise expectations for a project prior to diving into the coding phase. Although it may not guarantee the elimination of all potential rework, an SDS serves as an invaluable starting point.

Benefit of SDS

The advantages of an SDD extend beyond mere documentation; it plays a crucial role in streamlining the coding process. The act of creating an SDD necessitates a thorough examination of the entire system architecture before any code is written. This proactive approach enables the anticipation and mitigation of potential snags or roadblocks. Consequently, as various team members embark on constructing their respective components of the software, a centralized document is readily available, outlining features, dependencies, and other vital pieces of information.

sossboyj commented 11 months ago

Contents of SDS

The SDS should include:

  1. Authors, Reviewers (team members @akshayvijaynair @sossboyj @kbalasahithi @sujitha-99 )
  2. Functional description (what does the software do, error handling, user limitations etc)
  3. UI design (UX guide, Wireframes, Key Components etc)
  4. Goals and milestones (github functionality allows for this through issues, epics, discussions etc)
  5. Priortisation (github functionality allows for this through issues, epics, discussions etc)
  6. Current and proposed solution (check to see competitors in the industry and how we (Pore) are different)
  7. Timline (enabled via github functionalities)
sossboyj commented 11 months ago

Functional description

5 Indicates majority of the functional requirements and non functional requirements. It also mentions the purpose of the application, Pore.

@akshayvijaynair @kbalasahithi @sujitha-99 @sossboyj need to colloabrate on other factors to include user limitations and error handling etc.

sossboyj commented 11 months ago

UI design

The UX style guide, front-end UI design, component and asset library, UI wireframes and functioning prototype can be found at https://www.figma.com/file/fn5gijpoaDsAAtvcKTTbTF/UI-PROTOTYPE?type=design&node-id=0%3A1&mode=design&t=CauwL5PzKuZvp3cE-1

If any issues accessing file please message @sossboyj

sossboyj commented 11 months ago

Current and Proposed Solution

There are existing skin care applications that can be found on the app store such as "Skin care routine", "Trove", "Charm" and "Skin Bliss". These applications provide the MVP of our products across individual applications. No application was found that is a all inclusive of the MVP of Pore (Skin analysis, Progress tracking, Routine generation and guidance, Product Recommendations, Marketplace and Consultant search and Booking).

Market research needs to be ongoing to ensure Pore is providing new and better solutions than exisiting apps in the industry on the app store.

sossboyj commented 11 months ago

@akshayvijaynair please review and approve

sossboyj commented 11 months ago

@sossboyj

Scrum Master Input of SDS

I recognize the pivotal role that a well-crafted Software Design Document (SDD) plays in our agile development process. The SDD acts as a North Star, guiding our development efforts by providing a clear roadmap for the entire team.

In our Scrum framework, the SDD becomes a vital artifact during Sprint Planning sessions. It allows us to break down the user stories into actionable tasks and helps the team understand the intricacies of the upcoming sprint. During Sprint Review and Retrospective, the SDD serves as a valuable reference to evaluate whether we adhered to the planned architecture and to identify any deviations or learnings.

Moreover, the SDD serves as a communication tool, ensuring that not only the developers but all stakeholders are on the same page regarding the system architecture and functionalities. It becomes a living document that evolves with the project, accommodating changes and updates as needed.

In essence, as your Scrum Master, I encourage collaboration around the SDD, leveraging it not just as a documentation tool but as a dynamic instrument that fosters communication, planning, and continuous improvement within our agile development journey. @akshayvijaynair @kbalasahithi @sujitha-99