As a business owner or future business owner, you may have an idea that will revolutionize the market, or at least you think it will. You are convinced that it will have a great impact on your target audience. But even if you think you know what your app should do and how it should do it, it is crucial that you understand that jumping right into development is the worst thing you could do without first knowing some of the common challenges in app development.
The first challenge is correctly defining your idea, which is one of the most important challenges you need to overcome. If this is done right, it will account for sixty percent of your chances of turning your idea into a reality.
So, what do I mean by correctly defining your idea? It is not drawing it on a sheet of paper. That could perfectly be the discussion starter, but not the final version of it. Idea definition is moving your idea from the abstract or from your mind and into words and specific problems it will solve. The best way we find to do this is to discuss it with someone else, no, not your mom, it needs to be with someone who is either an expert in the field or a potential user of your application.
At TowerHouse Studio, we found a way of doing it that works really well for us and our clients. We have several meetings with the business owner and our business analyst. In those meetings, the owner will tell us their idea, and as they do that, we start taking notes and asking questions. The real value of this technique is that the questions the business analyst asks are pulled from vast experience in app development and having analyzed quite a few applications before. For the business owner, those questions provide value because they force them to think of scenarios they weren’t considering before or assumptions they were making. We have seen cases when one simple question put the entire idea at risk of not being viable because it uncovered that it was not solving the real problem. In other cases, the business owner ended up with a more valuable idea, an evolution of the previous one.
That is why it is crucial to ask the right questions and to discuss your idea with someone with experience. Having the idea perfectly defined will allow you to move into the next stage, which is creating a document that explains that idea in a way there is no room for assumptions or misinterpretations.
And that is the second challenge.
Imagine you grab your sheet of paper and take that to a development team. You say, “I want to create this application (and hand over your drawings). Can you give me an estimate to develop that application?” There are two things that can happen. The first and best thing that can happen to you in that scenario is that you find a serious agency that will tell you, “We can’t give you an accurate estimate based on the information you provided; we need to analyze and discuss it further in order to understand your idea.” That is the best scenario, and that is because of the other thing that could happen.
The agency tells you, “Ok, sure, give me a couple of days and we will get back to you.” After a couple of days or maybe a week, they send you a full proposal. They tell you it will take X months and cost Y dollars. It is important to pause here and understand why this is a bad thing. Let’s roll back a little bit and remember that the only thing you provided was a sheet of paper with some drawings, or maybe an email with a few paragraphs, or maybe a short video meeting. Whatever the case, it is important to understand that software development is a complex process, and product development is almost a science that does not have room for assumptions. Imagine how many assumptions that company made when taking your requirements from a sheet of paper.
Now, let's fast forward a little bit. You accepted working with them, and after a few months, they start showing you progress, but you see that the button you drew on the paper, which you imagined was going to do X, does Y instead. You ask them, "So this button is not doing what it was supposed to do," and you explain what was in your mind when you drew that button on the sheet of paper. Their reply will most likely be, "Oh, I see. Sure, no problem, we assumed it was going to do Y instead of X. We can do X, no problem, but it will cost more and take more time." This is where the nightmare starts because you realize that was the first of many assumptions they made, and you have been paying for something that is not what you imagined. Even worse, you are almost out of budget, and they are telling you that it will cost more.
That is why scope definition is so important. Most agencies are professional and will try to do their best to help you define the scope of your digital product. However, you need to understand that for most companies, that process is taken as the cost of sales, and their objective is to shorten the sales cycle and have you sign the contract as soon as possible. So, it is your responsibility to clearly define the scope, either by doing it yourself or by using a product discovery service.
Use User Stories to Define Your Application Scope
The best way to define the scope without leaving room for assumptions is by creating User Stories. User Stories are short, simple descriptions of a feature or functionality, written from the perspective of the end user. These powerful narratives allow you to capture the essence of your app's requirements, focusing on the user's needs, goals, and experiences. By crafting clear and concise user stories, you'll ensure that everyone involved in the app development process is on the same page, eliminating misunderstandings and providing a solid foundation for building a successful application that truly resonates with your target audience. For example, a User Story for an e-commerce app might be: "As a user, I want to be able to add items to my shopping cart so that I can review and purchase them later."
By creating the user stories that explain all the features of your application, you will end up with a document that can be understood by any development team. It is like a universal language; this will help the development company give you an accurate estimate, and there won't be room to say, "I thought you meant it was going to do this other thing." Each feature is clearly defined.
Finding the Right Development Team
This may be the most difficult challenge to overcome. The web is full of references on how to find the right development team, covering the most obvious things like portfolio, testimonials, experience with similar projects, and so on. But I feel like those are missing two important aspects: willingness to do the right thing and trustworthiness.
Willingness to do the right thing means precisely what I said before. A company that is willing to close the deal no matter what, irresponsibly giving you an estimate fully knowing there will be problems and it will probably cost more, etc. Those are the exact opposite of companies that want to do the right thing and will honor business, looking for their clients to be successful. The challenge is noticing the red flags; it is not easy. My recommendation is to pay attention during interviews, ask questions, and see if they are interviewing you as well or if they take anyone as a client or if they are order takers.
Trustworthiness is about whether you can trust them, feel connected to them, and enjoy working alongside their team. This is very hard to do in a single meeting. Some people look at testimonials and try to understand the experiences of other clients, but it's more about a gut feeling. At TowerHouse Studio, we've designed a way to demonstrate working together and see if there is chemistry. We do this with our Product Discovery service, which is a one-month project where we work side by side with business owners to define the idea, create a scope document, design the application, create a clickable prototype, and define the software architecture. This low-risk project provides two things for you:
Obtain documentation with your idea definition and the scope written as User Stories, as well as your app design and so on.
And see how it is to work with us. After that one-month period, you will know if you like working with us or not. If you don't feel comfortable with the way we work, you can take the documents we generated and bring them to any other development agency, and they will know exactly what they need to do to follow your vision. But if you do like working with us, we will take what you paid for the Product Discovery and apply it as credit towards the total cost of the development project.
And there you have it; those are what we think are the most common or most important challenges in app development for business owners. I didn't cover development challenges because those are for the development team to solve. But these challenges are important because you need to address them before starting development, and if you don't address them and rush into development, you will waste a lot of time and money.