The purpose of this handbook is to provide guidelines for software quality best practices within our small, fast-moving startup. With 20 software engineers working independently, there has been unpredictable progress with projects and many defects making it into production. This handbook will serve as a resource for existing and new team members to learn the "right way" of doing things in our company. The handbook will cover the following topics: Task estimation in Scrum, Code reviews, and a third topic of our choosing based on our research.
a. Break tasks down into smaller, more manageable pieces to accurately estimate effort required.
b. Use Planning Poker or similar techniques to facilitate group discussion and decision-making.
c. Consider the impact of dependencies and potential risks when estimating tasks.
d. Review and revise task estimates regularly, particularly when new information becomes available.
e. Identify and mitigate potential blockers or obstacles that may impact task completion.
a. Review code regularly and frequently to catch issues early and provide timely feedback.
b. Establish clear guidelines and standards for code formatting, documentation, and style.
c. Encourage peer review and collaboration to promote learning and knowledge sharing.
d. Use tools and automation to support the review process and identify potential issues.
e. Provide constructive feedback that is specific, actionable, and respectful.
a. Write tests early and often to ensure coverage and catch issues early in the development process.
b. Use a variety of testing types, including unit, integration, and end-to-end testing, to ensure comprehensive coverage.
c. Use tools and frameworks to support testing, such as Selenium for web applications or Appium for mobile applications.
d. Continuously monitor and evaluate test results to identify potential issues and areas for improvement.
e. Integrate testing into the development process as a standard practice, rather than as an afterthought.