There's More to DevOps than Meets the Eye
1. Process IntegrationFocusing on improving the activities that require transitions of work between development and operations. Try to minimize this transition time. (Scott didn't mention this, but the teams should probably have more frequent interaction, trying to work as one team rather than two silos)
2. Tool IntegrationHaving common tools that can be used by both development and operation teams allows for quicker deployment and resolution of product issues, again minimizing transition time.
3. Data IntegrationHaving tools that can work easily with both sets of data from both teams, so development teams can access operations' statistics/monitoring and operation teams have access to software information.
-Agile Development Strategies for DevOps-Ambler is spot-on in recognizing that "DevOps has its roots in the agile software development when agilists realized that they needed to work effectively with operations staff in order to release often into production." Here are some of the different agile strategies Ambler feels are effective for DevOps:
Include all stakeholdersMake sure all stakeholders (Dev, Ops, and Business folk) are being included and considered during all phases of the lifecycle.
Plan your releases
Work with operations to determine possible release windows, black out periods, etc.
Figure out operational and architectural requirements up front
- Determine what the common operations requirements are for a project up front, so teams can deploy faster and with less issues.
- Determine any changes in the organization's architectural strategy that need to be made and coordinate these changes with operations to ensure fast deployment with minimal setbacks.
Run third-party testing parallel to development team testing to work through validation of non-functional requirements or product environment system integration.
Automate the deployment efforts between development and operation environments as much as possible.
Update product documentation throughout the development lifecycle.
Final release preparations
Focus on the remaining release issues necessary for deployment, including release window, training, and potential upgrades.
Final checks and post-release readiness
Have operations assess the work done by the development team in preparing the product for deployment to ensure that installation scripts are tested, documentation is up-to-date, and, perhaps most importantly, that the development team is available during the release.
Ambler suggests running "your fully automated regression test suite against your baselined code once construction ends" to ensure that the product is ready for deployment.
In the end, Ambler sums it up by accurately stating that "there's more to DevOps than simply adopting some good practices. Your process must also embrace several supporting philosophies." While he may have placed a safe bet by predicting DevOps will be the new IT buzzword for 2012, Ambler clearly has a detailed knowledge of what it takes for an organization to maximize the potential of development and operations.
I encourage you to check out his article here for the full descriptions of key DevOps components.