Software development is riddled with risks and challenges. That's why development companies often try to mitigate those risks through well known methodologies like Agile. While Agile is something everyone strives to be, it can be confusing knowing exactly what it means. To help place a structure around the methodology, WorkingMouse has created a Way of Working.
At WorkingMouse we work in project teams called Pods. Each Pod consists of a squad lead, UX designer, web developer and testing engineer. Because there are multiple Pods working across a number of projects it can be difficult to ensure uniformity. This might lead to Pods performing differently. The Way of Working embraces the agile methodology and creates a structure that every Pod follows. The benefit is that every team has a blueprint for developing a successful, agile project.
WorkingMouse separates a projects lifecycle into five stages. These are brief, scope, development, environments and support. The image below gives the best summary of how the lifecycle works. In the words of all Philadelphia 76ers fans, we "trust the process
Brief is intended as a high level discovery stage. It's purpose is to understand the project and determine whether there is a good fit between the client and WorkingMouse. Scoping starts to drill down into the specifics of the project. By using the discovery kit, Pods can create a backlog and roadmap for the project as well as a prototype that we build towards. Once a project is scoped, it proceeds into development. The development cycle is shown below.
The iteration commences with a planning session. This is conducted with the entire Pod as well as other business stakeholders. The purpose of the planning session is to determine what tickets (features) will be taken from the backlog and developed over the next fortnight. It is also an opportunity for the team to re-define the user acceptance criteria if required. After the session is complete, the Pod elaborates and determines if the iteration is ready to begin.
While in an active iteration, tickets are completed by the web developer and thoroughly tested by the testing engineer. This continues until all the planned tickets are completed or until the assigned time period concludes. All completed tickets are presented to the business stakeholders during the review session. The tickets are released to a beta environment where the client is advised to conduct user acceptance tests (UATs).
This leads into the Environments stage of the Way of Working. As mentioned above, the application is firstly deployed from a local development environment to a beta environment. This is tested against the user acceptance criteria to ensure it meets the definition of done. When all stakeholders are ready to proceed, the production release checklist is completed and it the application is live.
As mentioned above, the Way of Working is based on the agile methodology. This can be seen through the blend of scope, development and environments. WorkingMouse doesn't treat them as singular stages where one leads on to the next. Rather, they are blended together so that before an application is finished it may go through various cycles of scope, development and deployment. This allows the team to learn and measure from previous iterations rather than simply developing to a waterfall methodology.
The most important point to note is that the Way of Working is never finished. There are always more lessons to be learned and new strategies to adopt. That is why the document that you download
now may not be the same document you download in 2 months. The trick, keep your eye out for the star on the front cover. That's how you can tell the Way of Working has been updated.
A lot of blood, sweat and tears went into creating the Way of Working. There are a lot of unknowns in software development and at times, we have had to learn quickly. We encourage everyone to adopt the Way of Working in their business.