Poor market research, wrong budget estimations, lack of the roadmap. Combine all these things and you’ll find yourself writing an apology letter to your investors for the failed project. Having a brilliant business idea alone won’t help you avoid hiccups in software development that could lead to project failure. Therefore, it’s important to have a proper discovery phase to lay the basis for the entire project and stay on track with your goals.
Partly thanks to discovery, one of our recent clients managed to build their product, a power bank rental platform, on time and without major setbacks, despite a tight schedule and a pandemic outbreak. In this article, the JatApp team will discuss how the discovery stage helped this client to confidently move forward with their product vision.
An IoT startup wanted to digitalize the workplace
One of our JatApp clients, a startup from France, came up with a plan to transform the employee experience while staying within the confines of the physical workspace. They wanted to give people more freedom in their work environments by allowing companies, coworking spaces, and educational institutions to rent portable power banks and charging bases.
To make their product vision a reality, they hired a design team to build the power banks and the charging base and came to JatApp to develop an Internet of Things (IoT) platform that would enable these two parts of their product to communicate with each other.
We needed to hit the ground running and were given a tight deadline – deliver the solution within 6 months.
We have a great deal of experience in IoT application development and were excited to work on this project, but we never start anything without careful planning. Here is why:
Haste makes waste. Don’t rush through the discovery process
Regardless of a software developer’s level of experience, every software development project is distinct and demands meticulous planning. Ignore planning, and you will likely encounter a host of problems, including unforeseen challenges, missed deadlines, and cost overruns – something we were able to mitigate with an efficient product discovery phase.
Product discovery is a project’s backbone. It helps ensure that all stakeholders have a shared understanding of the project’s objectives, risks are known and managed, the roadmap is defined and technology is selected with accuracy.
The power bank rental platform
When your team skips this critical phase, they’re likely to have little to no understanding of what needs to be done, how, and when.
When project managers don’t pay attention to potential risks and fail to mitigate them, things can go wrong fast. Costs can spiral out of control and deadlines can be missed. And, if engineers dive straight into building software without proper discovery, the end result is likely to be full of security, performance, and scalability issues.
We couldn’t skip product discovery, and this is the main reason why we completed our work on time, despite the tight schedule, and delivered a high-quality solution that met our client’s goals.
How our discovery increased the odds of the IoT project success
Our discovery phase fell into four steps: building a user-friendly roadmap, weighing project risks, creating detailed technical documentation, analyzing and choosing the architecture, and estimating the project budget. Let’s find out how completing these discovery stages helped our team avoid costly missteps and contributed to the project success.
Project roadmap aligned our team members for a seamless IoT app development journey
Building software without a roadmap is like climbing Mount Everest without an instructor. The climber that lacks proper technique or knows nothing about possible challenges risk failing to achieve this ambitious dream. At worst, they will find themselves unable to adapt to increasing altitude and die because of the lack of oxygen. Similarly, if the team doesn’t have a clear roadmap, they’re more likely to hit the roadblocks, commit costly mistakes when unexpected issues arise, and, overall, feel lost in the mountains, having no idea how to get to the finish line.
Our team focused on building a user-friendly product roadmap with the project goals, job to be done, and the timeline. Throughout the project, our roadmap helped navigate the work of all team members, showing them how to achieve big goals by completing short-term tasks.
Our IoT project was a journey with multiple milestones along the way. At the first checkpoint we had to clarify the project requirements before getting down to the back-end development. Once the back-end approached the halfway mark, we went ahead with the front-end and mobile app development. When the back-end part was ready, we shifted our focus on producing an emulator to put our solution to the test. At the final milestone, we tested the emulator and then the real hardware while making the final changes to the back-end. Thanks to the roadmap, our team approached each project stage with a steady hand, always keeping the ultimate goal in mind.
Project managers relied on this doc in order to get important updates as well as track software engineers’ progress. This way, they were able to timely spot blockers and address them in the most effective way.
How a product roadmap looks at JatApp
Efficient risk management helped our IoT project survive the COVID-19 pandemic
When planning such a big IoT project, our project managers needed to consider team capacity in the most accurate way possible. One harsh mistake in time estimates could lead to the project crashing down like a house of cards. Our roadmap with team dependencies let managers envision the worst-case scenarios, which made the company prepared for an emergency that brought unprecedented challenges to businesses around the world.
Our roadmap with team dependencies
Yep, you guessed it right – we’re talking about the Covid pandemic. The matter is that the device parts had to be manufactured and shipped from China, but due to the well-known unfortunate circumstances the company suffered serious delays. However, thanks to the efficient risk management, we were 100% ready for such a setback. The team had enough time and financial resources to build an emulator and test the device without the actual hardware.
Comprehensive system analysis allowed us to spot potential bottlenecks in app’s performance and security
Before settling down to a specific architecture you need to consider all components of the system to discover potential risks. Otherwise, you risk ending up with the app that performs poorly, fails to protect user data and address the demands placed upon it.
To prevent such a tragic outcome, our team carefully analyzed the system and user requirements to spot potential problems related to the scalability, security, and performance. More specifically, we took into account factors such as the amount of data to be processed, the number of platform users, and the anticipated load on the system.
Our software engineers performed load testing in order to simulate high workload and evaluate the system performance under this scenario. Finally, the team focused on assessing the security of third-party components. Analysis of the frameworks, cloud services, and libraries that will be used in the system helped to ensure user data protection.
Technical documentation sped up development time and facilitated application maintenance
The lack of technical documentation results in teams wasting lots of time while searching for clarifications, making it a recipe for disaster. Without this discovery step, team members not only aren’t aware of project requirements and limitations, but also lack a clear understanding of the code and app architecture. In fact, they may spend hours scrolling through threads in Figma or digging into emails. Besides, when engineers don’t have documentation right before their eyes, they’re likely to find it difficult to modify or update the code. This, in turn, leads to bugs and errors and more time needed for rework.
In our technical documentation, we described in detail the power bank platform functionality and architecture. Developers could simply take a look at the document and see the reasoning behind each decision. This documentation may also come in handy for software engineers that will work on the project later on, helping them understand the code that they didn’t write.
Besides, technical documentation allowed us to record developers’ ideas. Our project managers documented all features that the team would like to add, so we could look back down the line and make changes in the product, if needed.
Our accurate budget estimation prevented cost overruns
To illustrate the importance of accurate budget estimations, let’s imagine you’re building a 6,000 square foot mansion and you’ve got a budget of $150,000. You don’t bother with calculating the final cost at the planning stage and once you’re halfway through your journey, it comes as a big surprise to you that there’s no money left to build the rest of the house. Bye-bye, sweet dreams about the swimming pool and backyard oasis.
If you ignore making budget estimations, you’ll end up in such a situation, be it when building a house or a software solution. By contrast, when you have at least a rough idea of how much money you need, you’ll be able to decide whether to build a certain feature or to kick off the project at all.
Even though our team kept their fingers crossed that everything would go exactly as planned, we also knew that different things could happen. That’s why our project managers took possible risks into account when estimating the project budget. To calculate the final cost, we used a three-point estimation method, which allowed us to foresee the best, worst, and realistic scenarios in terms of expenses.
A three-point estimation method
That’s why we were prepared when external factors, like the global pandemic, made it impossible to deliver the hardware on time. We had enough financial resources to build an emulator to test our software. Besides, we were able to prioritize features more effectively and eliminate those that were deemed less essential, allowing us to stay within the project budget.
Timely delivery, high-quality solution, enjoyable experience
Product discovery can’t foresee and solve all the problems in software development. But it can maximize your project success.
Our discovery on the IoT project made it possible to achieve fast app performance and scalability – now, the app is handling more than 40,000 active users without any problems. Thanks to discovery, our client released their solution on time and within the initial budget, despite many unexpected obstacles (hello, Covid).
The discovery phase also allowed us to proceed with our IoT project with ease and far more certainty. But don’t just take our word for it – here’s what our client told about going through the project with us:
“The project managers are engaged and motivated. That made a lot of things possible.”
Why run discovery with JatApp?
When you’re pressed for time or want to keep costs down to a minimum, it might feel tempting to skip the discovery stage. However, just like a house without a foundation, the project without any discovery can turn into a sheer nightmare and waste of resources. The JatApp team is a pro when it comes to running a discovery phase. More than 200 hundred times we have written technical documentation, built roadmaps, and made project estimates. Over seven consecutive years, we’ve washed away clients’ uncertainty by setting project goals, defining requirements, suggesting concrete technical strategies, and predicting possible risks.
If you’re looking for a software development partner, leave us a note. But keep in mind: we always start with product discovery, so there’s no compromise when it comes to your project success.