Capping IT Off

Capping IT Off

Opinions expressed on this blog reflect the writer’s views and not the position of the Capgemini Group

Not your Grandpa's Software Engineer

Steve Jobs once said: “Innovation distinguishes between a leader and a follower.” Companies can't simply progress without thinking about the future — how to grow, leverage new trends, and drive profits. And understand how to incorporate them into the business.
 
Whilst it is not infrequent for the IT industry to cope with "the next big thing", we can anyway identify two relevant areas of innovation in digital transformation and DevOps. As you might suppose, this transformation requires a new approach to get work done though. DevOps places enhanced emphasis on interdependency between software development, quality assurance and operations — and empowers collaboration to rapidly produce high-quality products and services. With IDC estimating DevOps will be adopted by 80 percent of the Global 1000 by 2019, it seems mandatory for IT organizations to gear up .
 
Businesses are also now taking advantage of the speed, flexibility and ease-of-use offered by cloud-based infrastructure to empower their DevOps velocity. Leveraging cloud to enact major change, teams can achieve significant cost and efficiency savings through seamless collaboration with multiple stakeholders using cloud orchestration. An essential piece of the digital transformation journey, Cloud DevOps spans everything from initial strategy development through ongoing execution and measurement.
 
To attain such results, new professional roles are emerging or evolving in the already crowded landscape of the Software Engineers population. In addition to a lead change agent to oversee the transformation to DevOps, these roles include Release Managers, Automation Architects, Developer-Testers, Security Engineers, and several other players who understand development and operations.
 
Release Managers work to address the management and coordination of the product from development through production. Typically they work on more of the technical details and hurdles in which a traditional project manager would not be involved. Release Managers oversee the coordination, integration, and flow of development, testing and deployment to support continuous delivery. They're focused not just on creating, but also maintaining the end-to-end application delivery tool chain.
 
Because DevOps relies heavily on automated systems, the role of Automation Architects is key: their work consists in analyzing, designing and implementing strategies for continuous deployments while ensuring high availability on production and pre-production systems. Automation Architects have a comprehensive automation role across DevOps tools and cloud platforms. The Automation Architect role becomes critical in the DevOps world, since DevOps organizations must provide an extremely reliable environment that is fully automated and free from obstacles.
 
And how about Software Developers? Developers will be still at the heart of the DevOps organization. Under DevOps their title may remain the same, but the new role of Software Developer/Tester dramatically increases the scope of responsibilities: the Developers are responsible not only for turning new requirements into code, but also for unit testing, deployment and ongoing monitoring as well.
 
While DevOps implies more extensive collaboration between the development and operations groups, it's also sometimes referred to as DevTestOps, a name that reinforces the idea that testing is a part of the process. This shift often requires a move to more automated testing so that quality doesn't suffer. If teams still think they can do manual testing and still be agile, well we have some news: they simply can't. If you need to test new builds every day and you're doing manual tests that last two weeks, you're soon finding out that you are coping with an impossible situation.
 
One last consideration about security: in traditional waterfall development, system security is largely an afterthought. It's a "nonfunctional requirement" that, like quality assurance, is often performed at the end of system development. DevOps-oriented teams have Security Engineers working side by side with developers, embedding their recommendations much earlier on in the process.

About the author

Paolo Saitti

Leave a comment

Your email address will not be published. Required fields are marked *.