Development Required Approvals
There are specific scenarios we are identifying that will require additional approval before moving forward. At Bramble we value freedom and responsibility over rigidity, however in the examples requiring approval section below we outline which decisions will need to go through the approval process before proceeding.
Approval Process
Each section requiring approvals will have a considerations section. If you answered yes to all of the questions in the considerations section, then you will need to get approval for your proposal before proceeding with implementation. Steps for the approval process:
- Submit an issue with your design proposals
- Make the issue visible to the CEO and CTO
- Label with ~“CEO Interest”
- You will need to gain approval from the CEO and the CTO
- Use the issue created in the first step to coordinate how to gain approval
Examples Requiring Approval
Proposing a separate database
If there are times when it makes sense to separate the data out into its own database, the following sections describe what data points you should consider and how you would move forward in gaining approval to create a separate database.
Considerations
- Was the feature written in a completely separate code base?
- Only do a separate database when it has a completely separate codebase, and that is the only codebase querying the data.
- Will the feature incur a heavy write load? Writes are harder to scale than reads who can be scaled with replicas.
- Will the feature not need any access to the main App database? Example, the data is completely isolated from the main database and will not need to share data across databases.
- Are there existing APIs that we need to support?
Proposing the creation of microservices
With our company strategy of a Flywheel with two turbos we default to delivering Bramble as a single application. However, we are not opposed to adopting the right architecture to solve our problems at scale, in this case microservices. When submitting your proposal for the creation of microservices for approval please be sure to include the following considerations.
Considerations
- Given that our direction indicates we are Saas First how will this change improve our SaaS first offering?
- How can these improvements be measured going forward?
- How will this impact our customers?
- Can this problem be solved in our current monolithic environment?
- Are the ongoing deployment considerations listed in your proposal?