Introduction to the WoW
By Mikaela Robertson and Will Derrington 15 June 2020 Way of Working
An introduction to the Codebots Way of Working.
The Way of Working is a compilation of the process, practices, tools and principles which we recommend a team follows throughout the development life-cycle of a product. The contents of the book come from many years of experience of building software, the result of both successes and failures, and our learnings from both. The book is our recommendation on how a software project team can plan, build, test and launch a product, ensuring customer and team satisfaction along the way.
Depending on the size of a project and the velocity required, we have found that a small pod consisting of a Web Engineer and a Testing Engineer pairing (senior and junior) along with a UX Designer, work efficiently together as a project team (pod). This pod is overseen by a Team Lead (Scrum Master) who can manage multiple projects and pods depending on the size of the projects. If greater velocity is required for a project, then additional developer pods can be engaged for increased productivity.
Within the context of the Way of Working, when we say "customer" we refer to the person or persons that engage a project team for the intention of developing a piece of software. This entity could be internal or external, but they have a vested interest in the success of the project and a say in its direction.
You can learn more about the various Team Roles.
Broadly speaking, a project is broken into five phases: Brief, Scope, Development, Releases, and Support. Normally, the project will go through the first four stages with the same project team, before being handed over to support engineers.
The goal of the Brief Stage is to understand the problem (or opportunity) and set the criteria for its success. In the brief stage, the problem is unpacked and an initial roadmap is presented. The roadmap indicates a broad sense of how the project vision can be reached.
In the Scoping Stage, the problem or opportunity is explored further and a solution is proposed. We have found it is best to move in sequence through the discovery, inspiration, ideation, and realisation stages.
The Development Stage is the part of the cycle where the product is actually built and tested. The project team delivers early and often, striving to maximise learning along the way. This stage is comprised of iterations which repeat until development is finished.
The goal of the Release Stage is to deploy the product into production and ensure that the stakeholders are ready to go into a live environment.
The Support Stage is focused on helping the product transition from active development to daily operation. The support team helps to monitor the production environment and focuses on keeping the product running smoothly. While the support stage is optional, planning and preparing for operational support in advance allows for a more detailed knowledge transfer to take place. For that reason, it is best to assume that all applications will go through this stage.