As established in “Why IT needs a Software Engineering Strategy” non-tech-native organizations are in the middle of the evolution from digitalization to digital transformation. When developing digital business models, organizations operate in a VUCA (volatile, uncertain, complex, ambiguous) environment. I.e., market demands influenced by customer behavior change rapidly and circumstances impacting business models and future customer needs are largely unpredictable.
In the VUCA world of digital transformation the most important determinant is speed. The only way to find out what works and what does not work is by experimenting and iterating quickly. Therefore, IT needs to design and develop flexible systems that enable value creation and change at a high pace. This is precisely the discipline of software engineering.
Consequently, software engineering strategy encompasses all prerequisites to enable digital value creation with high pace, quality and agility. A successful software engineering strategy allows software engineers, product owners and other operational staff to focus their resources on the digital value creation rather than technical configurations, alignment or administrative overheads. This leads to increased productivity, higher performance and overall better software products.
Software Engineering Strategy in Essence
With the goal to master the complexity of digital transformation, software engineering strategy relies on the three foundational pillars architecture, technology and organization.
Dealing with uncertainty and volatility requires a suitable organization that allows for hypotheses to be formulated and tested quickly while making flexible adjustments. Therefore, organizations need to adopt iterative-incremental procedures as well as team topologies that enable autonomy.
The same flexibility and agility of organizational structures must be reflected in software architectures. For this purpose, principles such as abstraction, modularity and cohesion must be anchored throughout the entire enterprise architecture.
With the goal of fast-paced value creation and innovation, availability and scalability of enabling technology as well as innovative technology are essential. On-demand technology, automation and transparency must be put into practice through a suitable development platform.