Establish product engineering practices—definition of done, code review, testing, deployment—that ensure quality, speed, and predictability in feature delivery.
As mentioned in the Play: Product Management Process, the Product Management team works in conjunction with the Product Engineering team. While the Product Management team focuses on building the right thing, the Product Engineering team is responsible for building the thing right. There are two elements to building the thing right: Process and Engineering. We will discuss proper Product Engineering process in this play.
The Goal: Establish a comprehensive and effective process to optimize your company's delivery of the right products for your customers.
How can Golden Section Assist?
Development Process Overview
\[Software Development Process Overview\]
Release Cycle Overview
The development process is divided into releases. A release cycle starts from a previous stable release and plan. Releases are achieved by a Scrum process, an iteration-based agile development process. Each release is broken into Sprints. A Sprint is the basic unit of development in Scrum. The Sprint is a timeboxed effort; that is, it is restricted to a specific duration.
Each Sprint starts with a Sprint Planning event that aims to: define a Sprint Backlog, identify the work for the Sprint, and make an estimated commitment for the Sprint goal. At the beginning of a Sprint, the Scrum Team holds a Sprint Planning event to communicate the scope of work that is intended to be done during that Sprint. During the first half, the whole Scrum Team (Development Team, Scrum Master, and Product Owner) selects the Product Backlog Items that might be achievable in that Sprint.
During the second half, the Development Team decomposes the work items (tasks) required to deliver those Product Backlog Items, resulting in a confirmed Sprint Backlog. Once the Development Team prepares the Sprint Backlog, they commit (usually by voting) to deliver tasks within the Sprint. During daily development, code is committed to the code repository. Before code is committed, it will be peer reviewed and team reviewed.
Each Sprint ends with a Sprint Review and Sprint Retrospective that reviews progress
to show to stakeholders and identify lessons and improvements for the next Sprints. Scrum emphasizes having a completed working product at the end of each Sprint. During each sprint, the code is fully integrated, tested and documented.
\[Sprint Graphic\]
Benefits of maintaining a disciplined Sprint Process:
Best Practices in the Sprint Process
Best Practices in Version Control
GitHub is generally used for Version Control efforts. Version Control Process should include:
Best Practices in QA Process
Golden Section recommends establishing a rigorous quality assurance process for your software that includes:
{width="6.447916666666667in" height="2.7395833333333335in"}
Best Practices in Configuration Management (CM)
•All Production configuration changes go through a change control
•All configuration changes are tracked, tested, and documented
•A Roll-back Contingency Plan is in place in the case of unforeseen outcomes
1\. There are many elements necessary to build an executable, successful process to guide your Product Engineering Group. Using the Best Practices above and the PDCA methodology detailed in the Play: Quality Management Systems, create the standards and expectations to
The development process is divided into releases. A release cycle starts from a previous stable release and plan. Releases are achieved by a Scrum process, an iteration-based agile development process.
1\. There are many elements necessary to build an executable, successful process to guide your Product Engineering Group.
Establish product engineering practices—definition of done, code review, testing, deployment—that ensure quality, speed, and predictability in feature delivery.
Establish product engineering practices—definition of done, code review, testing, deployment—that ensure quality, speed, and predictability in feature delivery.
Establish product engineering practices—definition of done, code review, testing, deployment—that ensure quality, speed, and predictability in feature delivery.