Jobs is undoubtedly a marketing genius. He is a god in terms of understanding what people aspire to have. He pioneered the concept of a Minimum Viable Product. He is a world-class presenter. And as…
Consumerization of the enterprise is a trend that has started about a decade ago. The rapid arrival of user-friendly consumer software has fundamentally changed user expectations from enterprise software in two ways. First, enterprise products are now expected to deliver user experiences aligned with the needs of modern enterprise personnel. Second, enterprise products are now expected to release at a much more rapid clip than before. However, the quality expected from enterprise software continues to be as high as ever. In this article, we focus on the challenges of achieving higher agility while continuing to retain enterprise-level quality.
Consumer software products such as Google search and Facebook Newsfeed deliver rapid changes very frequently. They can achieve this speed because they can fundamentally rely on their end-users for testing. The following three reasons enable them to release new versions to a tiny fraction of unsuspecting users and achieve comprehensive test coverage.
However, teams developing enterprise applications cannot even dream of such luxury. Enterprise software usually doesn’t have such high traffic, and users are not forgiving with respect to regressions in software quality.
Consequently, enterprise engineering teams are adopting Continuous Testing, often in the context of agile and DevOps trends. Therefore, these teams must test early and often, to detect regressions as early as possible in the development cycle. Such frequent and repeated testing necessitates the automation of all testing.
Ultimately, these teams accumulate significant gaps in test coverage and hence the risk of regressions across versions. After some time when the complexity of software is sufficiently high, every release also comes with regressions. The cost of fixing regressions (root cause analysis, bug fixes, and patch releases) and the massive amount of effort for creating common path automation for new functionality together negate much of the velocity gains that were expected from adopting agile and DevOps practices in the first place.
If a large majority of enterprise software developments are to successfully adopt the Continuous Testing processes with enough coverage to deliver robust software, we need a fundamentally new approach which significantly reduces the amount of engineering effort to create tests.
We need an approach that
Almost every industry is now ruled by the Internet of Things (IoT). IoT has been becoming a basic necessity for all kinds of brands. In the last few years, there has been a significant rise in the…
In the classic story Alice’s Adventures in Wonderland, Alice finds herself overwhelmed by the number of different paths she can take on her journey. Her head spinning with options, the Cheshire Cat…
You own your status as the ultimate influencer, drug pusher, and like everyone, I grew up wanting your sparkle in my eyes. Now, the very thought of you sends waves of existential dread shooting…