By Jose Sebastian Plano
Face what is going on
At this time I want to focus on my experience working in different projects in a wide array of industries and the common issues we face in software product development.
Often when I speak with clients, they have the same questions:
What is happening with my software product?
Why didn’t my products meet our customers’ needs as well as we want?
Why does adding a new requirement take ages?
Why does the IT department always reject the product owners request to add XYZ trendy features?
Let’s start from the beginning, thinking in a different way about the entire software development process and the relationships between the people involved. In order to do that, we must hone in on three areas.
Think about product as a digital journey
Let’s consider an example of a company undergoing digital transformation. When we meet with clients, they often ask us to help them implement transformative digital strategies. It is what we love to do, so we are happy to help. When we deliberate with their products owners, we see them struggling with different versions of mobile apps and websites for different countries, responsive websites, non responsive website and a bunch of other trendy stuff. In some cases, we face different products owners for each channel working separately, completely isolated from one another. We need to enhance this model in a way that can benefit the end user, not just the organizational structure.
If we dig a little bit more into this, what becomes apparent is that this isn’t a tech issue or a fault in the operational capacity of the organization. These problems rise due to budget mismanagement, or allocating funds in an inefficient way. Seamless communication within the team is needed to avoid waste of resources (or monetary resources) to create a seamless experience between channels. In addition, for example, trying to fit full website functionality in a 5-inch mobile display, 10 responsive sites with a massive amount of content (and in some cases a vr helmet) does not improve customer engagement of users operating mobile apps. The mobile experience is not about having the same pages on the mobile device as in the website. Instead, it is about having the same experience over all channels including mobile over any place where we can cater the experience to the customer.
So let’s split this problem in two parts
Digital Journey Strategy:
Talking about product it is a dated concept and only really applicable when the product is tangible. Now we have a different perspective on what customers need. Today, customers face journeys or experiences that we call digital journeys. We believe that businesses need to change their mindset in order to understand their customers better. From now on, I will talk about digital journeys as opposed to products. In order to tackle this, we will focus on:
- Thinking about a digital journey.
- Digital journey focusing on real customer needs in real time situation.
- Build the digital journey focus from an engineer’s point of view without taking into account business value and customers’ needs.
Organization focus on digital journeys:
Within a company, marketing and business experts understand customers’ needs. Whereas the IT role has to be for the one who is an expert in the digital journey from the software engineer perspective; and participates in conversations with the business person who engages with the customer to discuss the right solution.
Something important from my point of view is happening in the business side of the organization. Nowadays, the digital journey depends on a new role called CMO (chief marketing office). Before this, all the apps/website, used to rely on the IT Budget. IT joining forces with the product owners, together gathered requirements and “the business” then prioritized them. This model generates some frictions, and at the end of the day after internal discussions, not one of them focuses on customers’ needs or digital journey experience. To tackle this, we need to rectify and set the organization on:
1. CMO focused on digital journeys experience payoff.
2. Product owners in sync with one vision, communicated by the CMO.
3. IT aligned with the business area; here is a connection (with previous number 3).
So as you can see, we found a relation between these two groups of issues and how IT/Technologies area can help and move along to create the customers’ needs on their digital journeys and, at the same time, align with the organization’s needs.
Think as a one experience with different sides
Fast forward, we have a CMO, we have product owners, we have chopped off products out of our minds and we’ve started to think about digital journeys … are we ready for the next revolutionary experience?… no, sadly we are far away from it still … but, the bright side is, we are in good shape to achieve this goal.
First of all what we have to start doing is to forget all the legacy experience that we have. Forget about “apps”, forget about “website”, forget about “internal / external site”, “B2B…B2C”, and start by thinking from what we call a digital journey perspective… what does that mean? Let´s go around this concept. What we want to achieve, is not “a new fancy website / Apps” what we want to achieve is a new experience for the customers, new engagement, and more importantly an experience for the customer with real value to what they need. The users don´t want to learn how to use 2567 apps/website with different usability, five (5) different passwords, 27 responsive sites with a lot of information in 5’’ phone and zoom it to try to understand what is happening, this is something we have all experienced, and we are used to it. This is a bad habit. What we need to do is focus on one experience and customers’ feelings. This can be summarized on the following tips:
1) Define and use Key Performance Indicators (KPI) centric approach on the customer and this KPI has to be applied on the engineering team as well as the business side of the organization.
2) If you have several apps/website, all of them have to respect a guideline of usability for all the information displayed on the screen. In order to transform it to a single experience and not on multiple tools, use a Content Management System (CMS) that can support your needs. Do not base your decision on budget constraints. It is not recommended to build your own CMS from scratch as it has proven inadequate and more costly in the long run.
3) The platform for digital journey must be able to remember the user on any device, and help to follow in the same flow where one left off on the other platform. A good example of this is Netflix, Amazon Kindle and YouTube, when you move from one device to another; you can resume what you were doing on other device. This is a “must” feature as a seamless experience for any digital journey out there.
4) Get involved in the behavior of your customers. Let’s say if I have been traveling to Chicago every Friday for the past two months; as a returning customer, I expect that when I enter the travel site, technology prompts the system to recognize previous behavior and it will ask me if I am traveling to Chicago – the travel site/company has all the information to make the same booking with one click. The nice thing about it is that I am doing this on my mobile phone.
Getting more Techies. Software engineer process
So far we’ve been talking about business level or digital journey definitions, but what happens when we dig deeper; something to consider that helps in the digital journey
Take control of the software process
This is a cornerstone of the process of software development. It has nothing to do with the “do as I say because I’m the boss”; it focuses more on how to make the development process predictive. If we can make it predictive we can take important measures of what is happening and anticipate issues in a more intelligent way.
No matter what, you will always need a software version control. Please don’t try to reinvent the wheel during the process. Use good practices and don’t try to “invent your own process on GIT because…” 90% of the cases you can apply a workflow on GIT that is already invented and proven. Today you have two well known online repositories for this, bitbucket and github … which are doing a great job. If you are using another software version control, the same principal applies as well.
Tie your version control with your build system, focus on continuous delivery strategy, you will need it, it takes time to set up and make it smooth, but… it’s always worth it. If your deployment to production process takes one or even more (believe me I witnessed it and it’s a nightmare) days then it is not safe. You should rethink your software deployment and continuous delivery process
This concept is taken from what we are doing in Globant now with the teams, but it can be applied to everyone who is working in teams. Mainly a Pod or as we call it in Globant aPod, is a very sharp team on agile methodology and very committed with the delivery of a piece of software. They follow processes and hear what metrics say about their development. If you attach these metrics to KPI (Digital journeys and Business one) you can get a real value and ROI for each story point delivering the sprint, and this information is “gold” to check the efficiency of our teams.
Putting all these things together when a company “wants to be agile” in their products it is not just a matter of IT guys, or just implementing agile methodologies. It is how to implement agile methodology all over the road, from the decision makers to the last junior developer in the company. This is not like the change in the wind, it takes time, and the bright side is that you can start from a very small part of the organization and spread it around by key people.