Imaginet Blog Series — Part 1
Mastering Your Deployment Pipeline
Most users of your application will never see the requirements or read notes from your sprint retrospectives. But something they will appreciate – or condemn – is your team’s ability to deploy an update to the mission critical software they use on a daily basis. Can you initiate and finalize a deployment in a small window of time? Can you do it at the push of just a single button, or execution of a single script?
Regardless of the size of project that you are working on, and what part of your delivery strategy you are acting out at the moment, it’s important to consider what impact your build process has on your ability to deploy a great product to your customers – internal or external.
You never intend to get to a place where it’s hard to deploy your application, especially when you need to deploy the fruits of your effort to multiple environments or under stressful situations. Let’s consider some of the factors that serve as causation when trying to get things out the door, or roadblocks that prevent you from moving in the desired direction.
Scenario 1: You Deliver an Existing Solution as a Third-Party
You’re working on a production project that runs in several different centers. Your clients own their own hardware – virtual or physical – and host your application on servers that are under their control. Periodically, you release a patch or system update and introduce new features to your product. Challenges to moving towards automated deployment might include:
- Inter-departmental concerns: Because the application has to be deployed to third-party organizations, factors such as IT departments require protocols that prevent you from releasing the product at your desired frequency.
- Project inertia: You don’t currently have a process lined up that allows for the automatic generation of a deployment package, and you don’t have scripts in place to facilitate the automation. Taking time away from fixing bugs or adding features isn’t in scope of the project.
- Factors of labor: Some companies have rigid structures for approval of application installation and perhaps even dedicated staff. Automating deployment would bypass those procedures and potentially cost folks their job.
Scenario 2: You Are Starting a New, Short-Lived Project
You are just pulling your team together and are ready to invest in a new project. You have a quick turn-around time and a limited budget and will be stretched to meet your timelines. The features have been accurately documented so you have high confidence in your ability to deliver. The following points are often made when teams consider automated deployment in similar situations:
- Development is the priority: With a quick start and an aggressive delivery schedule it is hard to focus your team’s efforts on the task of designing and implementing an automated deployment strategy.
- Limited resources: Time, staff, talent. These don’t come without costs, and investing time and resources into your staff to augment the talent you have comes with the burden of a very difficult outcome to measure. How can you be sure you’re spending wisely, especially on a short project?
- Fire and forget: You intend to complete this application quickly and get it running in production. It’s a small application and you don’t anticipate many changes down the road. Once it’s in place, it will serve its purpose for the expected duration.
These are real concerns that warrant serious consideration, and they shouldn’t be taken lightly. However, in each problem we face in software development, much like in any part of business, it’s the opportunity to overcome the barrier that will set us apart from our competition and our peers.
In Part 2 of this blog series, find out why we should consider our build and deployment system as first class citizens on our development team and start by evaluating what it might cost to build them out.
Mastering Your Deployment Pipeline
Need help mastering your deployment pipeline?
Imaginet can help! Contact Imaginet today for your free consultation call to openly discuss your deployment challenges and determine next steps towards mastering your deployments.
Most organizations lack the experience to know how to successfully setup a successful end-to-end DevOps solution. As a Microsoft Gold ALM & Azure Circle partner, Imaginet is recognized by Microsoft as having the expertise you need to help your organization start reaping the benefits of DevOps today. Schedule your 10 Day DevOps Consulting Solutions Quick Start now!
Imaginet is your trusted technology partner who turns your business innovation ideas into reality. 18+ years | 1100+ satisfied customers | 2500+ successful engagements. Located in Dallas (Irving), Winnipeg, and Calgary. Services offered worldwide. Contact us today at email@example.com or 1-800-989-6022.