Lifting a DevOps initiative off the ground in only a month may sound like a tall order, but a growing number of organizations are beginning to appreciate the focus, responsiveness and flexibility a rapid rollout can provide. "In today’s connected world, speed and time to market are existential concerns for businesses," observed Miha Kralj, global lead for cloud strategy and architecture at consulting firm Accenture Technology.
Thirty days is plenty of time to create a basic DevOps pipeline, as long as you stay focused, noted Nate Berent-Spillson, senior delivery director for IT service management firm Nexient. "Your goal should be to automate a process that takes code from your repository through compilation, testing and deployment, and notifies stakeholders that the process is complete," he explained.
Organizations decide to launch a rapid DevOps deployment for a variety of reasons, including meeting the development needs of a new product launch, said Tim Stone director of operations for Prime TSR, a technology modernization consulting firm. "They may also feel the need for this approach to counter the loss of a key employee who took all of the tribal knowledge of a specific release with them," he added.
A rapidly growing number of enterprises are in the midst of, or planning for, a digital transformation, which is no small undertaking, Kralj said. "Adoption of DevOps can accelerate a company’s digital transformation, enabling it to respond more quickly to changing market conditions and new business opportunities," he noted. "The faster the DevOps launch, the more rapidly the benefits are realized, initially in the IT organization and soon thereafter in the business."
The first step in a rapid rollout is selecting a DevOps tool that can work in the immediate term. "Go with what you have and iterate later for continuous improvement," Stone suggested. Other initial steps include establishing a code check-in/out process, creating single build/single release pipelines and taking manual steps to change destinations and settings. "The key is to keep it simple in the beginning—don't attempt to boil the ocean," he warned.
To avoid procurement hassles, Berent-Spillson recommended going forward with a basic open source toolchain based on software like Jenkins or Team City. "Be sure to include automated tests and code-coverage metrics," he said. "Those are essential to DevOps at every stage of development."
Careful team selection and management is critical for ensuring the ultimate success of a flash DevOps deployment. "We've observed that the teams that are moving the fastest are those that have fully embraced a DevOps culture and mindset," said David Ehringer, head of product for secure DevOps platforms at insurance company Liberty Mutual. "Not only are they moving the fastest, but they are consistently and reliably doing so."
A DevOps team, particularly one that's operating on a rapid timeline, should be cross-functional. "Provide the environment so that they understand the overall objectives and so they can see the end-to-end and have empathy for everyone involved in that process," Ehringer suggested. "Ultimately, trust is what you want to achieve."
Clearly explaining and defining key process and goals is also essential to project success. "Define the success criteria, make sure people understand them, find ways to measure this, and make the measurement visible," Ehringer said.
Targeting a need
A rapid rollout should be targeted at a specific need within the enterprise. "It's important to start small and then continue to build on top of successes," advised Bob Quillin, vice president of developer relations for Oracle's Oracle Cloud infrastructure unit. "When you identify failures, it’s important to figure out what went wrong and course-correct," he said.
Building strong communication channels will allow team members to coordinate ideas and tasks with each other and with other teams. "Slack is a great tool for groups of people to talk to each other, but there are plenty of other options," Quillin said.
"Beyond 30 days, once you have a pipeline in place, you can start adding the bells and whistles," Berent-Spillson advised. Next up is addressing important secondary issues, including database versioning, automated performance and API tests and automated security scanning. "You can do a lot in 30 days, but getting DevOps fully stood up will probably take months," he added.
Quick DevOps is like ripping off a Band-Aid—the pain is short-lived, Stone observed. "There really is no great reason to take more than 30 days unless you are forced or need to for some reason," he said. If the deployment is taking longer than initially anticipated, "embrace it and get as far as you can in the shortest amount of time."