Infrastructure and Specifications
Specification Work
Our standard specifications for Web applications include:
- The Functional Specification which describes how things work from the user's perspective. This includes wireframes, processes, and flowcharts.
- The Technical Specification which describes the internals, technologies employed, and overall architecture of the system. The Technical Specification provides the basis for setting up infrastructure, automated testing, and so on.
The Mainspring Framework provides a blueprint for a lot of the features we plan to implement, especially those features that represent HR processes.
As of today, we have completed the draft specifications and have begun transferring the original prototype to the new project.
Infrastructure Work
Large projects such as Basis HR require special considerations for servers and hosting resources.
The goal should always be, as much as possible, to develop and test in environments that match the final live environment to which the product is deployed.
Deployment
Speaking of deployment, this is always a pain. Modern Web applications are tremendously complicated and typically have a wide range of requirements that must be met for optimal functionality.
Environments
We've defined 4 standard environments for developing and supporting Basis HR.
- Development
- Testing
- Staging
- Live
There is a fifth, special, environment called Control that serves as the place where documentation and deployment resources are maintained.
Development and Testing is where we build new features and engage in quality control. The Live environment is the latest stable release, while the Staging environment may be considered the preview of the next release.
Conclusion
With the basics in place, the development workflow will become normal and steady. This first stage is always fun -- the calm before the storm. Now it's on to the long slog of building out features.