The clean room delivery model
There are always new trends on the horizon when it comes to software development approaches that improve efficiency.
The Clean Room Delivery Model is the epitome of software development and one that BizXcel plans to investigate further to see how it relates to the Business Intelligence and Analytics environment.
This models looks at automating as much of the development life cycle as possible. This allows for the integration of development tools for a continuous process form start to finish. Tools include source control, app build, repository/app versioning, quality checks (functional and non-functional testing), security checks, deployment and support.
Companies have different requirements, so the model varies between teams. For example, some code analysis tools could be used to analyze the code just before the app build step.
Each step has check points to ensure that all automated tests pass (unit, functional and non-functional). If one of these does not pass, the process stops to report on the issue. The ideal process has no issues and completes the process without intervention.
Software development has been consistently improving in how much is automated. In the past, this has involved numerous customized scripts to automate app builds, test case execution, and deployment between servers - all of which are time consuming. In the past, automation has been segmented and meant building multiple versions of the same application.
But with cloud-based models, the trend towards automation is allowing us to connect all of these steps. This is called Continuous Integration and Continuous Delivery (CI/CD). When code is checked into a server, a trigger starts the build process on the build server and once the build is completed the automated tests are executed, a trigger then sends the application to the test server for automated functional testing, another trigger passes it on to a non-functional load test server for automated load testing, and optionally to any other server.
We can even take this one step further, and automatically deploy right to production. This is called Continuous Integration and Continuous Deployment (CI/CD) II. The process automatically deploys to the production server after all development and testing triggers are done. Most companies choose to stop just before the final step to production and manually deploy the application due to the sensitivity of the environment.
Here are the essential elements of the clean room delivery model:
So, what does this all mean? What is really means is a fundamental shift in culture so that we are focusing on how to effectively and efficiently ensure our customers are getting the highest standard of service. Is your company thinking about this type of development?