Dear SIGSPL community and friends,
as you know, in our Special Interest Group we deal with the idea of how SPL – Software Production Lines – might look like in near future. From the business analysis point of view, we work on modeling the corresponding domain specific Value Chain.
We acknowledge findings by the classical mass production industry, like Lean Manufacturing (understood as Agile/Lean IT) or SCM, Supply Chain Management (being adopted as well). Learning from the industry is a very exciting and challenging process!
To address the challenges of this learning process in a more systematic way, we propose to become more conscious in utilizing the domain language and terminology from recent findings in industrial research to make interdisciplinary work and knowledge exchange easier.
In this article series, we start moving in this direction by undertaking the following steps, and warmly invite readers and influencers to discuss for better alignment between many experts and thoght leaders:
- assess the term industrial revolution and look at it from the Software Engineering point of view (part 1);
- review current plans and activities of the German government towards igniting the 4th industrial revolution (part 2);
- identify and transfer useful core ideas of the Industry 4.0 domain to the domain of Software Engineering (part 3).
So what is the 4th industrial revolution?
The official known usage of this term originates from a high-tech strategy project by the German government back 2011, aimed to promote computerization of manufacturing. According Wikipedia, Industry 4.0 is a “collective term embracing a number of contemporary automation, data exchange and manufacturing technologies”.
Terms “computerization” and “data exchange” imply that chances are big that some software also plays a role behind the scenes. The most amazing thing about the modern (prior to the rising DevOps era) software engineering however is that at physical level it introduces many manual workflows, which are required to move and assemble all sorts of digital artefacts along the value chain towards the ready product. In the latest management speak, the business processes in software engineering teams introduce a very low level of digitalization – ironic as our Universe actually is!
Here we need to admit that there are more and more upcoming and evolving complex tools to reduce tedious repetetive work (a prominent pioneer is here Jenkins author Kohsuke Kawaguchi, indeed deserving to be referenced as the Henry Ford of Software Engineering) – still this is yet very little understood in many management circles and SIGSPL’s primary mission is to connect domain experts and scientists to help interested stakeholders towards becoming more aware of what is actually going to happen – because most of the IT big guys know it for sure since many years (that’s I think one big possible reason why CloudBees where Kohsuke now works has raised $23M venture capital this year, adding up to a known total of $50M risk investments since 2010).
So, what would come out if we have a look on what we know about industrial revolutions and compare it with what we know about Software Engineering methods?
|# revolution||Classical Industry||Software Engineering|
|1st||1760-1840: introduction of water and steam power to boost mechanized production (disruption of physical human labour as power source for first machines).||1920-1980: introduction of digital computers, where electrically powered appliances adopted industrial punch cards to physically decouple digital machine code from computing devices (disruption of human labour required to manually change computational curcuits for each new algorithmical modification of tasks).|
|2nd||1870-1914: introduction of electric power and later assembly lines (decoupling from primary energy sources; disruption of organically shaped labour processes).||1950-1995: introduction of compilers to automate mass production of machine code (disruption of human labour to produce low-level machine code through electricity based computational power). During this time, electromagnetic storage additionally helped to further decouple digital codes from physical reality perceived by humans (so, 1Gbit =120MB information would weigh about 22t in punchcards!)|
|3rd||1947-2010: also known as digital revolution – introduction of electronics and IT (disruption of analogous process control).||1991-2010: introduction of continuous integration (CI) concepts and standard tools to use in collaborative software developer teams, as analogy to industrial assembly lines (disruption of human labour to feed work results of many individuals manually or with custom build scripts into compiler to produce and test production-ready complex software artefact). Similar to industrial supply chain management, methods to a standard description and sharing of binary software components resulted in a central online repository with 0.6M unique artifacts as of 2013.|
|4th||from 2010: advanced industrial computerization, e.g. “Virtual Engineering“. (Disruption of human labour related to auxiliary activities)||from 2008: introduction of continuous delivery (CD) and DevOps methods to wide public domain, as further applications of basic Supply Chain Management and Lean Manufacturing concepts to deliver software artefacts to productive machine environments, which remarkably decreases the time to value. (Disruption of human labour to manually move file packages configuring execution environments). So, from 2013 on, tools like Docker ($95M VC in 2015) propose high-level formal deployment language to rapidly replicate and share complex environment configurations as machine-readable system configuration templates as formal system specification or lightweight virtual machines (containers) as “physically” deliverable macro-artifacts. Forbes rates DevOps tools market to have two digits growth rate in a $2B market niche.|
Today, quite many enterprise IT departments are lucky to have management who have recognized that in order to survive the competition they need to benefit from the 3rd software engineering revolution, and only few can afford to seriously experiment with the bleeding edge technologies coming from the ongoing 4th software engineering revolution. Why Google&Co. managed both, is not only a legacy systems issue (as much can be achieved already by applying Lean Methods), but also probably partly a (corporate) culture asset, partly lacking higher management understanding of information technology, however this important topic goes beyond the scope of this article.
Using the industrial revolutions’ nomenclature above (which we do not suppose to be the final truth in building a mature viewpoint on this topic), we can conclude that as both engineering fields proceed learning from each other, something like the 5th industrial revolution might happen, which we would like to reference as leading to the future industry Z (not 5.0) because we are really not sure about the proper numbering scheme in this context.
What do you think?
Stay tuned for more details about how the German industry goes to implement its Industry 4.0!
New chances for our production – 17 theses of the Scientific Advisory Board at the Platform Industry 4.0 [DE] (German Academy of Science and Engineering, April 2014)
* to those who have been ignorant to these facts since 4 years – wake up! 😉