My company, Architects.io, produces blueprints for software projects
The blueprint is a design specification for a single application, or for several different applications which communicate with eachother using different APIs and protocols. Our goal in developing these blueprints is generally to use research and experimentation, measurements, prototypes, and things of that nature to learn as much as we can and to provide as much specifity and context as we can about the problem domain we are attempting to write software for.
We aim to understand the user and everything they want to do, and all of the different constraints the software is operating under and that the people building the software will be living under while they work on it.
We capture this information in a living document which is deeply integrated into the software itself and the processes and tools of the developers and designers working on the system. This provides a single unified place to see all of the necessary information to build, maintain, and refine the software, from the conceptual to the nitty gritty, practical details of the code under development or test, to the annotated wireframes and mockups provided by the designers, directly linked to Dropbox.
An example blueprint may contain the following sections:
- Data model diagrams and descriptions
- Conceptual diagrams and information about the problem domain
- Estimates and Cost / Labor Projections
- Links to research
- Annotated Wireframes
- a UI component style guide
- User Stories and Release Milestones
- Integration Tests and API Documentation
- Software and server performance metrics
- Business performance metrics
- Github Integration (Commits, Issues, Pull Requests)
- Continuous Integration Service Integration
With information like this, a Blueprint serves as the home for a software project, the designers and developers working on it, the rest of the stakeholders, and everyone involved in making software work. It serves to capture the intent and purpose behind the project, the vision and goals, the metrics by which we will measure our performance against them, the specifications and standards with which we will build it, and all the other necessary details about our day to day strategy.
Architects.io, Inc. is contracted by companies to build custom software projects, from small apps to systems which power the day to day activity of hundreds of people. Before we invest a million dollars and a year of everyone's time attempting to build something, we like to help our clients minimize the risk involved by producing an interactive blueprint that aims to ensure that what is built actually reflects the design intent and that it is a smooth process which happens with as much predictability as one can expect.
We charge a flat retainer for everyone involved in producing the design specifications, which comes out to around 10% of the expected budget for a year long project involving multiple people. The blueprint we produce is intended to live along side the project from the first line of code until it is handed off to different people and eventually sunset. It is easily worth the investment.
The purpose of this document is to introduce the idea of the Blueprints, and also to share one of the tools I discovered while writing these blueprints by hand, incorporating the work product of UX Designers, Visual UI Designers, and a developers who built prototypes.