How Rocketbun evaluates Software Projects
At Rocketbun, when we have to work into an existing project, we usually start with an audit. This audit gives us and the client more insight in the status and health of the current application.
Loosely based (so taking from, and not limiting to) the 12-factor methodology and AWS Well-Architected Framework, focusing on five conceptual areas that are defined as the pillars of the Well-Architected Framework, we will evaluate the codebase and product.
Why did we choose these methodologies?
In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. For starters, the twelve-factor app is a methodology for building software-as-a-service apps that:
- Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
- Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
- Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
- Minimize divergence between development and production, enabling continuous deployment for maximum agility;
- And can scale up without significant changes to tooling, architecture, or development practices.
This methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc). This means this framework also usually applies 100% to the project at hand.
This will be augmented by the pillars of Well-Architected Framework, a framework for designing and operating reliable, secure, efficient, and cost-effective systems in the cloud.
Doing the audit formulating next steps also happens with a healthy dose of personal practical engineering experience, keeping in mind where the products stands today and wants to move to (now, and in the not so distant future), we aim to highlight the most actionable problems first.
Eventually we end up with a report with actionable steps that can be taken to drive the project forward. Customers are free to take this report to their own developers, or work together with us to also implement the improvements.