Turning a software vision into a reality
Girish Hoogar
Cloud, AI & Software Executive @ Lenovo | Global Head of Technology| Board Member
As I'm fond of reminding my team, trying to develop software without a vision is like the blind leading the blind to reach an unknown destination.?
Without a vision, it is challenging to convince a group of engineers to move forward. ?
They will keep asking, why are we doing this? How do we do this? Where are we going with this? What needs are we meeting? ?
Without a vision, they will not execute properly. ?
And without a vision, you can kiss any meaningful chance of creating a successful software solution goodbye. I estimate that only about 1% of great ideas developed without a vision to guide them will succeed and do so just because they got lucky. ?
I discussed an example of how things can go wrong when a vision is weak or missing entirely in my earlier article when I told the story of how a hackathon ended up with a brilliant software application to count the number of people in a bathroom that was completely irrelevant.?
Of course, hackathons are fun events, but the example above shows what can happen when a software vision is also separated from a company vision. Let's say that you come up with a software vision that is to build entrepreneurial products to launch to new verticals, while the company's vision is to make customer enhancements and sell in existing verticals. The company will be investing its resources and development in that space, not yours. As a result, your vision will likely never get funded because it's divorced from where the company plans to go.?
So, the corporation dog always has to wag the software development tail. ?
Great alignment can create great results?
A great example of how a powerful vision that creates a clear context for software development that is also aligned to a company's overall vision is Lenovo's own agile cloud platform.?
The vision is to help software developers innovate, integrate, and extend their applications with agility, flexibility, and choice.?
In the implementation, the vision converts into building a cloud foundation that helps developers focus on developing solutions that solve customer pain points and not worry about recreating the common core platform services. ?
This supports our aim of creating an ecosystem of devices, services, applications, and content for people to connect with other people and web content seamlessly.?
You can see that there is clarity throughout. The result is that our software developers are aligned with the company's overall vision. That means their work delivers to that larger, corporate objective – they are creating smarter solutions that meet all customers' needs (and I talk about customers below) – and investment in new software products and projects will be more likely.?
In this particular example, the result is a cloud-centric software platform, a developer portal, and an open ecosystem of services-led solutions. They are built from the ground up to address the needs and challenges of all customer groups. Additionally, it allows developers to build new experiences and solutions faster, easier, and at less cost. We've delivered on this vision: As of today, the platform supports more than three million active devices at any given time across 93 countries and is doubling its capacity every six months, with an eventual goal of supporting one billion devices by 2023.?
The transition from vision to reality?
In some ways, visions are easy to come by. Experienced leaders of software development teams would not be in their jobs if they didn't have exceptional visions. ?
But the difference between a great vision that ends up in the hands of a user, and one that disappears from sight, is a development budget. That means creating a bold statement of intent for the board members or decision-makers, but one that also hooks back to the company's vision, as I said a moment ago.?
When my team presents to me, or when I present to the decision-makers, we can usually predict the questions we will need to answer: What's the grand vision about this? What resources are required? What's the timetable for success? How will this improve the experience of our customers?
Decision-makers always seek the connection between the vision and the end result. They want to be certain that we, as software development team, know what we want to do, and know what our destination is. ?
领英推荐
Interestingly, they rarely want to know how we aim to get there. Software development is rarely linear these days. The destination does, in truth, count more than the journey.?
Forget the customer - and you lose the vision (and waste resources)?
This is the point where the customer plays a crucial role. ?
Once you have your vision and the resources you need, you start thinking about how the product looks based on that vision. Of course, you always need to conduct interviews and get feedback with internal customers, internal users, and external customers to succeed. ?
You need to talk about the software product built through this vision, and you want to get feedback through that development cycle. It's basically a process of conducting interviews, getting feedback, and executing (or, if you prefer, rinse, repeat, kick-ass!) in a three-way interactive circle.?
Forget the customer, though, and the vision disappears. ?
And when the vision disappears, you are back to the starting point of developing software that will likely have no purpose, waste resources, and be ignored by the users.?
After all, if there's no market for the software product, everything is a waste. An example is a project recently undertaken at Lenovo. It was connected to an external world event, and it involved considerable innovation, was a great project to work on, met the customer's needs, and was aligned with Lenovo's corporate vision.?
Then Covid forced the postponement of the external event that was the foundation of the software's vision and development. Although beyond our control, the vision had gone. ?
In truth, we reacted more slowly than we might have done, partly because we were enthusiastic about the software development task (sound familiar?), and considerable investment had already been made in the application because of the original fixed deadline that we had. ?
But: no vision, no development. In the end, we had a big, white elephant. So, we ring-fenced the project, cut investment, and deployed our developers to a new project.?
This is an example of failing forward. The lesson we learned is that if we start with a vision of targeting a certain set of customers, and those customers don't exist because of external factors or a change in the market, stop. There is no fun in developing a software application that no one will use.?
When I'm given a software development project, or when the team pitches me on a project, I always work hard to understand the customer pain point that is being addressed. So, the first thing I'm going to ask is, why do I need to solve this? ?
I keep asking that question and considering the answers I'm given until I can adequately explain and understand what needs solving and why it needs to be solved.?
And it's at that point that the software vision becomes clear.?
For me, visions need to be bold, not small. They should have an attitude so that you can make a real difference to a customer.?
With the boldness in place, they can act as a compass for software development. ?
They help to lead developers in the direction where they need to go. ?
They promote collaboration between teams.?
And they can help you beat the competition to market.
Building a brand from the ground up for cloud and software at Lenovo.
2 年It is tough to not lose your grounding as you make that journey -- glad to have your expertise, Girish Hoogar -- on going from vision to reality. #softwaredevelopment #softwareengineer #softwaredeveloper #softwareengineering #lenovo #cloudinfrastructure #software