BizTalk team is in need of a more automatic, integrated, and productive build and deploys processes due to its growth of business and organization.
Currently, the deployments rely on multiple manual steps from developers and build personnel. The management teams would like to have a streamlined process, more visibility, and risk analysis capacity.
Based on the information collected, I propose to enable the technologies to better serve business needs and improve the team collaboration. The work will include revisiting the branching and merging strategy, standardizing the build process, streamlining the delivery flow, and integrating tools for better communication. Four major goals will be achieved:
Team Collaboration – through proper training and open discussion, team members will have a shared vision and same level of understanding to the tool sets and environments. This will build a better communication base thus increase the collaboration of the team.
- Cherry-Pick branching and merging implementation – The system should be able to support automation of build and deploy based on business decisions
- One-Click Build and Deploy process – Creation of a Continuous Integration (CI) Environment and deploy-on-demand option. The Development team can use this environment to develop project features and fixes without being distracted by building and deploying overhead.
- Peace of mind for the Dev manager – The integration of controlled build/release promotion process, BA and Operation can save time and avoid human errors by using the same deploy process to package and promote code to the next target environments.
- Visibility and risk management – All stakeholders can base on the current and historical data to track the deployments and asses their risks.
Minimum the tool selection is suggested. This is to focus on improving the level of expertise of all existing tool sets. At this moment, clarify the direction and standardize the processes are more critical than introducing more new tools. Below is the brief description of the tools involved.
Web Server – IIS 7 (Win 2008 R2 SP1)
- Version Control System – TFS 2010
- Build – TFS Build Service
- Deploy – Octopus Deploy
- Ticketing – Elementool & TFS Work Item
- Scripting – PowerShell, Nant, Batch
Three phases are proposed. Initial phase, setup and introduce environments to the teams.
- Standardized project/branch/code structure
- Same level of understanding of VS2010, TFS 2010, TFS Build, TFS work item, and TFS reports.
Second phase, implementation.
- Setup work item integrator to sync from Elementool to TFS work items
- Turn on check-in policy to force work item association
- Deploy service host using TFS build and Octopus Deploy
Third phase, visibility and intelligence
- Change Control documents
BizTalk team will see impacts on the following areas:
- Code development velocity increases as well as new employment training flexibility.
- Standardized code deployment process saves time and resources.
- Feedback/intelligence cycle can be established to identify risk pro-actively and improve quality.