Recently we talked about the positive impact of embracing agility on retailers’ operations and bottom line. Embracing agile practices bolsters a retailer’s ability to adapt to trends and rapid shifts in customer expectations, wild changes in the marketplace, economic conditions, and yes, even public crises. In our earlier post, we shared real-world examples of two of our retailer customers that have embraced agile digital transformation. However, adaptability via digital transformation doesn’t happen overnight, even for organizations with huge IT teams and budgets.
While technology plays an enormous role, it is critical to address changes to people and processes as well. You need expertise and experience in both the latest technologies and in adjusting people and processes to optimally use that technology. Only then can you design, architect, and build comprehensive omnichannel experiences that both customers and retail staff will love.
How do you actually get your critical initiative off the ground and into production? Here’s an overview to create a roadmap and basic steps to help ensure your success.
1. Start with the business problem, not the technology
Technical people love to jump right in and say, "Let's go architect a solution." While that may be tempting, first you need to nail down exactly what you’re trying to do and why. You have this great idea, but how is it going to work from a business, customer, and/or store employee perspective — and will it get the job done?
Ideally, you first mock things up, testing the flow to see what works and what doesn't, and then correct and refine the idea before implementing anything. If you don't have the luxury of time, observe how others in the industry have solved a similar problem. For example, every retailer today knows that curbside pickup is a good idea—there’s no need to test the idea. But you can determine what will make your solution unique to build a competitive differentiator.
With a firm idea of the overall experience and flow, you can now put boundaries around what can and cannot be negotiated away during the technical design and implementation.
2. Now begin defining the technical solution architecture
Now that you’ve confirmed the idea fits the business need, refined it, and decided on must-haves (and differentiators), you can start to whittle away at the technical architecture.
- Systems: What systems will be involved for this solution?
For example, at a minimum, a curbside pickup solution has to involve a retailer’s e-commerce site, mobile app, a customer database, systems for order management, point-of-sale, and inventory, and many more—including any new apps required to support the solution.
- Interactions: How will all these systems and their services interact?
Here you’ll define the primary use cases required for the goal customer experience. In the case of our curbside pickup example, the use cases might include placing an order, the user signaling the store of their arrival, and the actual order pickup. More importantly, we define the interactions between specific services required to facilitate these use cases. By focusing on interactions and API contracts rather than system integrations, you can decouple your systems, decrease noise, and eliminate the unwanted and unnecessary dependencies that result from direct, rigid system integrations.
- Checkpoint: Are you consistently driving the desired experience?
Do not compromise the customer experience as you create the design. Frequently stop and ask yourself, "Based on this experience, is there a system that can't perform the needed operation? One that isn’t really needed? Or one that is necessary but missing?" When defining each interaction, make sure it drives the experience in the desired direction.
- Architecture: Does the architecture and design pattern enable rapid, efficient integration?
Now it’s time to choose a design pattern that enables efficient, rapid implementation. When dealing with monolithic systems, a modern microservices approach—one where you use microservices to encapsulate monolithic services—allows you to decompose the overall architecture into a series of services and service interactions. Using microservices to encapsulate monoliths, you can extend their functionality quickly and easily for this and future initiatives.
- Agile development: Are you ready to rock?
These services and service interactions essentially define a series of mini backlogs—a core tenet of Agile development methodologies—for your dev teams to implement in successive sprints. From there, you're off and running!
3. Warning signs: Do you really have what’s required to pull it off?
The sad truth is that many internal IT and dev shops don’t have experience with either the latest technologies or the agile development needed to quickly deliver solutions like the wine and pet supply retailers we examined in an early post. Even when you have a great team, they may not be quite ready or able to embrace the agility needed to deliver the innovation you require. There are several clear warning signs that your project is headed for a less-than-desired result, if not an all-out failure.
Beware when an IT development team says it needs:
- To compromise the user experience for the convenience of existing systems’ infrastructure and architecture
- Weeks of planning before starting to write any code
- Months of effort before there’s anything to show for it
- Complex plans for release chains and synchronizing releases
- Piles of money for new hardware, dev, test, and production environments
Any one of these can indicate a dev team isn’t experienced with modern concepts like agile development, serverless computing, and microservice encapsulation. And that’s important because these can radically reduce the time, people, and resources needed to deliver the solutions they need to stay competitive.
It can also be a sign that it’s time to hire a software technology partner with deep experience in these areas.
Experience matters: Choosing the right technology partner
Developing expertise like this doesn’t happen overnight. That’s why it’s important to choose a technology partner with the right mix of experience and talent. A partner that not only delivers but also integrates closely with your existing team to help you get the most from them. For the most rapid, high-quality, and cost-effective solution, you should insist on a software provider with the following qualities.
- Employs senior, talented individuals over junior developers, simply because experience counts!
- Avoids the hidden cost of less experienced teams, including longer schedules, larger teams, less effective designs, more “shortcuts”, and more defects and quality issues to be addressed.
- Knows, applies and insists on best practices and guidelines.
- Values “big picture” thinkers and development teams.
- Knows that smaller teams are more agile and can focus more on business objectives.
- Designs for future expandability, extensibility, and adaptability.
- Can give your internal team a shot in the arm of agility.
- Asks the question, "How do we get these digital innovation aspects integrated into what you already do really well?"
If your internal team isn’t quite prepared to get your digital initiative off the ground and into production in time to beat your competitors, we can help. JBS Solutions has years of experience in implementing efficient, full-featured solutions for multi-billion-dollar retailers. Contact us for a free half-day assessment to find out how we can help deliver on your business goals while greatly reducing your time to market.