So, you've got the next big idea for your industry. Perhaps you've been brought in as a new CTO into an organisation to shake things up, or maybe you're a forward-thinking CEO who's looking at new opportunities. By combining technology and software, your idea is set to deliver a truly great experience for your customers.
The first step is to start drawing up plans for a Minimum Viable product (or "MVP"), to test the idea and quickly get to market. And now comes the easy part - getting a winning team together to build this.
Except it's not that easy.
Technology is getting more diverse by the day. Modern software requires bringing together multiple systems, and also require wiring up different moving parts throughout the technical "stack". This is true for even the simplest applications, let alone industry-transforming platforms. With platforms becoming more distributed, real-time, and data-rich, technology is becoming more diverse.
So, what's the answer? How do we go about finding a way to deliver within this increasingly complex landscape. Thankfully, there are some good places to start in breaking down exactly what you need for a successful project.
Focus your efforts
Firstly, it's key when starting a potentially long and complex project to initially focus the scope to the most essential parts. Once you've distilled only the most important pieces (usually your solutions differentiator), you can draw up plans firstly for a Proof-of-Concept (POC), and then for a "minimum viable product" (MVP).
Proof-of-concepts can often be very simple in their inner-workings, and the main goal is to put together only what's required to test the concept in the "real-world", whether that be with your end users, or with some test groups. At this stage, there is naturally some risk, and we should try to aim for something which requires minimal effort.
Proof-of-concepts are often over-designed, and cause too much work to be at risk. Is there something out there you can already use (even if you don't want to use it forever)?
MVP's can be the time to start thinking a little more about long-term scale, but again, it's important to keep things as simple as possible here. Emergent architecture is a useful approach to help keep the technology simple initially, and only scale it when you need to.
Just a decade ago, many software teams hired for very specific skillsets, and developers often aligned to a single technology or platform. For example, you'd have UI developers, and database developers all working together on new requirements."Full stack" development is a term that's often used to describe developers who are able to implement changes across a variety of technologies, as required to implement new features.
As the landscape continues to get more complex, we're now starting to see somewhat of a mix of the two emerge. Good developers are starting to want to get involved in more areas outside of their "core" skillsets, whilst also understanding the increased need for deep expertise. These developers come together to form "multi-disciplinary teams", and are able to draw on a patchwork of different skills, experiences, ideas, and knowledge. This is crucial in a modern world, as so often we need to adapt to new paradigms, from data science, to scaling applications across the internet.
Lean on flexibility
In our agile world, where requirements can change quickly, and a planned architecture may need to change with it, we need to be more flexible than ever. Hiring for specific skill sets is no longer always the best way to build a great product. Find people who are curious and happy to move their skills around. We so often focus on "experience" with a given technology, that we ignore the typically more important mindset.
Another way to maintain a good level of flexibility is to augment your core team with a strong development partner. Having an external set of people that can help to share some ideas, and scale up and down as your needs change can be a very effective way of testing new ideas, and delivering solutions quickly.
We've never had so much opportunity to put those moonshots into place as we do today. As technology continues to advance, it unlocks different ways of delivering excellent experiences to users, and has the potential to revolutionise industries.
With the points we highlighted here, you'll be set up to deliver your projects with less risk, and in less time. If you'd like to discuss how to get your idea off to a winning start, contact us today.