Author -Garima Bajpai (DevOps Ambassador)
It is not the first time the concept of “Software Factory” is connected with DevOps. While I was preparing to share some key opportunities & challenges in regards to software factories of 2020, I came across an article written in 1989 by Professor Michael A. Cusumano, “Factory Approach to Software Development, Strategic View”. As we are approaching 2020, it is set to be a pivotal year for all, especially for software development professionals, I find synergies with what professor has quoted in his article with DevOps.
Today, we have overcome the traditional technological limitation of hardware, software & applications which enables us to take up the “Japanese Challenge” for the software development Industry, which advocates a high level of productivity & reliability in the design, development & operation of the software. DevOps practices clearly indicate that it is a vehicle for increasing software productivity for digital diversity, where there is a need to produce a wide range of software product, services, and features
DevOps practices provide a channel for collaboration, sharing experiences, tools & knowledge, furthermore enhancing lean approach towards software development & last but not the least standardizing & providing a base where we can reuse, recycle & loosely-couple software components. DevOps is the way forward for next-generation “State-of-the-art” development of software.
Software factories of 2020
The emergence of disruptors, fast-moving start-ups, and companies who are embracing innovative ways to optimize and digitize the ecosystem will create an urgent need to deliver software even faster & with precision. This, in turn, means we need to look at systematic improvements in our software delivery pipeline, integrating newer workflows, supporting tools & a data-driven approach even more in 2020.
There will be separate budgets, increased focus on customer experience and needs to improve value-driven deliveries connected to the globalized ecosystem by bringing software into the mainstream for every industry sector.
The software factories of 2020 and beyond will rely on social ecosystem for fulfilling resource gap for software development, adopt software practices where they will need to focus on removing waste from the system by systematically improving the process and reduce task switching, removing legacy code & application to avoid dependencies, build inventory of re-usable components only & reduce overhead of maintaining and managing features which do not create value to the customer.
DevOps 2.0 & Software factories 2020
The next wave of DevOps practices will be built to further enhance flow, feedback, and experimentation. There will be controlled mass production of software features, this will require an organization to further look into people skills, the process for dynamically aligning to newer needs & improved integration of new workflows & systematically enhancing re-useable components.
- The process will be central to the flow efficiency (Ex -How to integrate DevOps thinking in the process)
- Reducing the number of flows and consolidating toolchain (Example- consolidating many repositories into mono-repos for integrated flows)
- Reducing the number of restart per flow unit (micro deliveries)
- Customer value is the focal point (Ex. Leading by developing & work iteratively, frequently release)
- Focus on automating the Continuous Deployment pipeline through Microservices making use of immutable infrastructure so that re-useable code components can drive faster delivery of software will be on the rise
- Policy-driven CI/CD models will evolve further
- How to integrate Machine learning capability into CI/CD pipeline and learning to build efficiency by removing predictive constraints will drive evolving of DevOps practices
- Measuring and monitoring of the performance of code, features, tools, E2E flow will become critical for reaching the optimal mix of manual/ automated components so that the system remain efficient but flexible
- Last but not the people and skills will remain as offsetting areas for mass onboarding of devOps practices and organization will turn to social learning, micro modules for experimentations.
Summarizing the key is to maintain cadence between mass production, re-useable software inventory and putting customer value at the focal point.
Until next time ..