Balancing Cost with Speed and Quality is Key to Digital Adaptation and Transformation
In our last blog post, we broke digital adaptation down into four key areas: Evolving Needs, Workforce Change, The Consumerization of IT and Competitive Threats. This post, which focuses on Evolving Needs, will explain why balancing cost, speed and quality is vital as companies apply technology to solve business problems in the digital age. By definition, digital adaptation is at once disruptive and unpredictable. This fast-moving phenomenon forces companies to adjust on the fly to meet the demands of ever-changing markets, making digital transformation one of the most important movements to affect business in decades. Experts point out that today we operate in the era of “Digital Darwinism." Characterized by rapidly evolving technology and society needs that outpace business’ ability to keep up, companies that plan to survive, and even thrive, will need flexible leaders who take an “evolve or die” approach and can pivot quickly, according to Brian Solis of Altimeter Group. Clearly, there are economic rewards for companies that leverage digital adaptation to remake themselves and their processes from the inside out. Companies deemed to be digitally remade produce more revenue from their physical assets, generate more profit and command higher market evaluations according to CapGemini. However desirable these financial results are, the road to digital transformation is fraught with twists and turns. As technologies advance and capabilities expand, businesses have more options from which to choose and decide where to invest becomes more difficult. With more choices comes more risk, and the time lost to chasing a “wrong” choice can be devastating from a competitive standpoint. When it comes to acquiring the talent needed to succeed in this fluidity, the “multiple guess” influence is clearly seen. Effectively prospering and competing in this era of digital transformation means companies need to wage the war for talent using three distinct and inter-related strategies: Sourcing a wider range of skills and talent. Being able to navigate the nuances of agile. Using innovation to balance cost against speed and quality. Accurately forecasting the portfolio and corresponding volumes of skills and talent combinations needed to develop and deploy software makes up the first challenge companies need to address. While that is a tall order, the current environment of rapid change adds complexity to this mission. For example, the application development teams you have in place will see demand for their talents wane over time ─with some skills fading more rapidly than others and others enjoying heightened demand over time. What can you do today to predict the coming shakeup with confidence and actually plan for it? Once you’ve aligned that cube of possibilities, you’ll notice that the spectrum of skills you require is expanding exponentially. This expansion will most likely outpace your ability to find the talents you need at a reasonable price. This scenario is particularly relevant to companies that discover their needs have grown to encompass data scientists as well as mobile app developers. There is simply not enough money in corporate staffing budgets to afford the wide range of talent that is needed, especially in a hyper-competitive marketplace. Secondly, we know that it's no longer good enough for an organization to be able to leverage “standard” agile. You must "customize" it to fit your needs ─even as they evolve in real-time. To do that, you need to accumulate enough agile expertise to be able to spot the unintended consequences of clumsily applying this proven mindset. For example, the benefits of using a common language, sharing a time-zone, and commanding a familiarity with U.S. business culture are hugely important, particularly when projects move quickly. Sharing common ground eliminates the need to translate idioms, accommodate varying time zones and explain unfamiliar behavior. A shared perspective can enable a faster, more sustainable transition to a customized, thriving agile environment. Third, in this era when customers’ behaviors and expectations are shifting quickly, you need your development and deployment teams closer to your operation ─not geographically dispersed. The current prevalence of distributed workforces complicates the execution of a pivot, even as environmental factors call for acceleration. Creativity and innovation share two negative influences: distance and isolation. These barriers cause particular angst when speed and creativity are at a premium as they are today. Consider following the examples of noted remote work advocates IBM and Yahoo. Both companies have recently required workers to return to physical offices in an effort to regain the interaction and collaboration that accommodates change and fuels innovation. Despite this remote worker homecoming, budget constraints continue to prevent most companies from recruiting every professional they want to a staff position. Evolving needs demand that you apply a balanced model to hiring that balances three key influences at play in the talent landscape: quality, cost, and speed. However daunting this new environment may seem to be, it’s not as if business has been stagnant in the past. Companies have always adjusted their output and operations to evolving needs. Today’s challenges center on the unpredictable pace and unknown direction of those evolving needs. Those two characteristics add a new layer of complexity that makes it difficult for companies to go it alone and reduces the appeal of previously revered software development models. Offshoring development has proven to complicate the process with its “follow the sun” approach that, in the end, often delivered more complexity than the round-the-clock advantage. While it is likely that in-house teams, offshore resources, and staff augmentation will continue to fulfill specific skill needs, these options are not the answer to every phase of software development, especially those affected by the unpredictable disruption common to digital adaptation. Just as digital transformed the marketplace, it has altered the hiring environment as well. Digital adaptation requires flexibility. In these volatile times, companies that want to assure continued success will need to listen carefully to the whistling winds of change and adjust on the fly. To learn more about how to succeed as a Digirati in charge, watch for the next blog and download our digital adaptation white paper.
Scaffolding – The Future of Software Development
As science and technology evolve, new features are compounded upon old features like building blocks. Most people agree that in this linear fashion you can’t get to point ‘C’ without starting at point ‘A’. But should you really have to start from point ‘A’ every single time? Let’s talk math for a bit. Don’t worry, you don’t actually have to solve anything. Take this equation: ∫6x = 3×2 + c. Since we’re taking the integral of 6x, this is labelled as Integral Calculus. According to Kahn Academy, one of the leading sites for learning mathematics, before learning Integral Calculus, you should know Algebra, Geometry, Trigonometry, Probability and Statistics, Pre-calculus and Differential Calculus (in roughly that order). It would be insane to do an exercise in all of those every single time you had to do an integration problem. But in software development, that’s exactly what we do. If you’re a software developer, you’re probably thinking I’m crazy, but hear me out. One more hypothetical scenario: let’s look at what it would take to make an Android app. First, we need to design the login page. Well, that’s got to be easy, since all login pages look pretty much the same, except some mild theme rolling. So we put up fields for username and password, then buttons for submission, registration, and password retrieval. We’ll take care of login itself first, so we write a method to encrypt the password to SHA-256 before submitting it to our server. That’s when you find out that newer versions of Android can’t do network calls on the UI thread, and you scream out in frustration, “Why am I making something as mundane as a login screen? People have done this a thousand times, this is ridiculous!” Think about how many applications haven’t been made because the tasks leading up to it were too complicated, took too long, or were just too boring. As software grows and requires more boilerplate code, the effort of a developer grows greatly – and this is just to ensure a sturdy foundation. Thankfully, there’s an answer – scaffolding. Scaffolding, in the software development sense, is the technique of generating a generic application with features common to most modern applications already built-in. A decent scaffold would include, for instance: login and registration pages, server connections, routing, model templates, controllers, security mechanisms. By using a scaffold, you can cut days, if not weeks, off of your development time – and we’re just getting started. So, how can you start scaffolding your next application? Well, luckily, Yeoman makes that part super easy. The downside – Yeoman is geared primarily toward web development with NodeJS. Why aren’t there really scaffolds for mobile or desktop applications? The only real answer is because nobody’s created it yet. Keep an eye out, though; the market is prime for a major scaffolding company any day now. - Christopher Johnson