IT as Craft: Yes, it is all about coding!
How is it possible for a business to start using the SDLC as a production value chain?
Each and every IT asset is subject to being programmed and pushed through the SDLC:
- Applications, by means of source code written in Java, .NET, HMTL5, Python – which helps transform any business requirement into a working software feature.
- Tests, by means of test scripts and tools like Selenium, SOAPUI, JUnit – which allow us to execute automatically test cases and sanity checks during App deployment.
- Infrastructure, by means of scripting tools like Chef or Puppet, with their command-like functions, which can commission, decommission, scale up and down any physical or Cloud environment on-demand.
- Security, by means of script tools like Fortify that can reproduce automatic security checks in the source code of our applications.
Within this code-everything paradigm, you actually don’t code Apps, you assemble them. And you only need to master three key disciplines.
There are not many things to say about the Cloud that have not been already said. However, it is important to highlight that Cloud plays a key role in a lean SDLC process in helping to achieve shorter Apps release cycles – by exploiting environment blueprinting, improved elasticity, easier scalability and comprehensive application-centric policies. Also, Cloud provides IT professionals with open hardware capabilities (compute, storage and network) exposed through APIs and interfaces that help boost flexibility, interoperability and choice during SDLC even further.
In exactly the same way an ERP helps a business control their HR or Finance functions, we need automation (or, in other words, software-controlled IT) to help us control the IT organization. Today, this is possible thanks to enterprise-ready automation tools: virtualization management tools; cloud orchestration; release automation; continuous integration; test automation; apps monitoring; Apps intelligence. Given that in a Cloud environment the IT resources are located where and when it makes more sense, the allocation and consumption of those resources can be automatically controlled by rules, APIs, policies and analytics directly from software control panels and, more importantly, from customized scripts. In this context, programming, scripting and analytics skills will probably become the most valued skills within IT in the coming years
In a traditional SDLC context, every IT domain specialist (Dev, Infra, QA, InfoSec) has very limited exposure to every other’s requirements and challenges. This leads to inefficiencies in each and every domain: useless apps, low quality, underutilized infrastructure and security breaks, apart from overall project delays and budget slippages. The goal of Lean IT based on cloud, automation and collaboration is to enable businesses to describe their expectations of an App in a holistic way so that it can be taken by a cross-functional, IT one-team that will write the necessary code for apps, infra, tests and security working under the same project umbrella to fulfill the business requirements.
In a nutshell, the objective is to set-up a cross-functional team supported by automation technologies, where testing is moved to the front to minimize bottlenecks and infrastructure is provisioned as early as possible in order to optimize application execution. Everything controlled from programmable rules.