Fast, faster, fastest. When it comes to technology companies’ goals for software engineering, speedy time-to-market is on many leaders’ short lists. One out of four identified scaling products swiftly from ideation to revenue as a top objective in our research.
Yet we still observe too many companies that base their strategies for moving quickly on hiring more sales associates or call-center staff. Increased speed to market, however, isn’t rooted in additional resources. It requires a broader view that puts in place the basic building blocks of software engineering: processes, talent and a solid foundation.
Getting to Market Quickly: Real-World Results
By embracing new methodologies like DevOps and Agile and organizing themselves into communities, companies can deliver results every few weeks instead of taking three to six months. The problem is that despite its name, software engineering isn’t a marginal technology play or an add-on. It’s about rethinking the business.
Most companies are still in the planning or pilot stages for software-development improvement initiatives. In our survey, only 25% of companies have rolled out large-scale implementations or are in the process of doing so.
Those that have, however, are getting products and services to market more quickly. For example, we partnered with a global marketing communications agency that taps into enviable pools of data to execute digital campaigns for its clients. Yet prepping new accounts for the automated campaigns was time consuming. Integrating data from disparate sources often dragged on for nine months.
Continuous innovation is at the heart of speed to market in software engineering, and the approach isn’t for everyone. Continuous innovation is different from the Agile methodology in terms of delivery. Agile scales and extends features to ready the launch version and then makes testing and refinement an ongoing process. In continuous innovation, the gathering of user insights and development hypotheses remains part of the flow even through delivery. Continuous innovation brings in the test product approach and drives speed to market using a “learn fast” approach.
Technology companies that prefer detailed product requirements and specifications prior to project kickoff often struggle with the approach. So do those with large numbers of internal stakeholders, complex governance structures and strict regulatory environments.
Getting comfortable with setting business objectives at a project’s outset and leaving room for flexibility on requirements is a significant pivot for companies. Of all the challenges faced by a multinational distributor of hardware and software products as it reshaped its business, among the biggest was pinpointing how each feature contributed to the business. We helped the organization identify business goals and then tailored a platform with the features to meet them. The learning curve was steep, but it paid off for the distributor: By learning to prioritize and to work quickly, it was reportedly able to debut the new platform half a year earlier than it would have with traditional development methodologies. It rolled out the core platform, then added reporting and data-analysis capabilities six months later.
Next Steps: Actions to Take Now
Accelerated speed to market requires preparation — and change — in several areas. It’s common for companies to find that they’re stronger in some of these areas than in others. For example, many software companies have the processes in place but still lack the foundation. To avoid surprises that can derail efforts, we recommend three actions for technology companies to take as they prepare to make software engineering an integral part of their organization.
- Define what your new processes look like. Software engineering requires a new way of working. You’ll need the right processes and tools to embrace it, but the first step is understanding that it will be different from what you have done in the past. Have you laid the foundational processes for agile engineering? What do DevOps and Agile mean for you? For example, if you’re looking to release a new version of the product every three weeks, what will be the process flow to support it? Not every organization has that rigor. It’s important to define frequency and processes upfront.
- Assemble the right talent and skill sets. Agile skips the handoffs of traditional software development; instead of ferrying new products to separate teams for development, testing and production, Agile organizes teams by product and keeps them small in size. A single team might have full-stack Java developers working alongside infrastructure architects. The common denominator is that each team member is able to take the big-picture perspective, and to think about products as a single continuum, from development and testing to security to infrastructure. The right skill set is a distinction many organizations overlook, yet it has a direct impact on their ability to move quickly and efficiently. Even if your software-development initiatives are in the planning or pilot stages, it’s never too soon to create a talent strategy that maps out upskilling and hiring.
- Build a technology foundation that can be agile. Monolithic foundations are rigid, so that every change is complicated. Readiness for Agile is key, and while technology companies are widely regarded as digital leaders many still have back-office systems and enterprise applications that have been in place for two decades or more that need to be evaluated.
For more, read “Software Engineering: Designing a Better Experience for Communications, Media and Technology Customers,” visit the Technology section of our website, or contact us.