When outsourcing, customers typically take the...
Turning a software idea into a full-fledged product
Basic idea description & clarification“I have an awesome software idea, but need a programmer to bring it to life”. These are the words the R-Style Lab Business Development Managers hear on a daily basis. It all starts with the idea, right?
When you contact a software development company, you’ve got two options:
You may describe your idea in the most general way using the website inquiry form. Your message will probably look like this: “I want to build an Android ride-hailing app like Uber, only simpler and without the fare splitting option”. You might elaborate on it by listing a few design (“something more high-tech”) and functional requirements (“users should be able to book a ride in three clicks”); it adds up to the same thing.The software development company might prepare a ballpark estimate – that is, an approximate estimate of a software solution which is based on the vendor’s expertise and uses Uber as a reference – just to give you an idea about the duration and price range of such projects. It’s going to list Uber’s key modules including in-app payments, calculator, route planning, the integration with Google Maps, ratings, live chat, etc. As a result, you get an impressive $ 36-40 thousand estimate with the project lifespan of 12-16 weeks (the estimates given in this article are based on the median Eastern European developer hourly rates which range from $ 30 to $ 35). The thing is, the ballpark estimate may differ from the real price of your application – after all, you’re not building an Uber clone and might want to enhance it with extra features. The actual price of a software solution depends on multiple factors, including the scope of work (that is, all the functions an app will perform), technology stack, pricing model, the country you’re going to outsource mobile/web app development to, the size of a software development services company, etc. If you’re fine with the ballpark estimate, expect a letter/phone call from a Business Development Manager – as well as tech comments from an experienced software architect. You’re going to discuss the app features in detail and divide them into must-have, should-have and could-have ones. Also, the specialists will help you choose the right pricing model (Fixed Price, Time & Material or Dedicated Team) and technology stack and define the roadmap for your project. As a non-tech guy, you can count on your vendor’s help and expertise; in the end, you’ll get a technical vision and a precise software estimate. Depending on the complexity of your project, however, the requirements elicitation process may take a lot of time. And what if you need a precise estimate ASAP?
Time to get a little bit technical!Here comes your second option (alongside the opportunity to boost the initial estimate’s accuracy up to 70%); before you contact a software development company, you can do a little research to clarify several issues including:
- The problem you want to solve (Uber does not operate in your country, and there’s no decent taxi app on the local market);
- Your target market (that is, who, why and how often is going to use your solution) and its key characteristics including the preferred mobile platform and payment methods;
- The app features used by your competitors (Uber, Gett, Kabbee, Taxify) that you would like to enable in your application, too;
- The tasks end users should be able to perform with the help of your application (summon a taxi, get from A to B and pay the fare); obviously, you should put yourself in your customers’ shoes and think how to complete these tasks faster and in the most convenient way.
Another way to increase the accuracy of a software estimate is to create wireframes – that is, a simple graphic structure of a website or mobile application that will help you show how user interface (UI) elements like sliders, buttons, icons, dropdown menus, etc. will appear on a screen and how screens will be connected to each other (aka navigation logic).
You can either draw wireframes by hand or make use of simple wireframing tools like:
- Mockplus. A quick wireframing tool which features out-of-the-box UI design templates and enables customers to create stylish website/app layouts using drag-and-drop elements. The basic version of the desktop application is available for free. You can also subscribe to the Pro version for $ 199 annually (per user);
- Balsamiq. The tool is available as a desktop application or plugin for Google Drive. It largely mimics the experience of creating hand-drawn wireframes and – pretty much like Mockplus – offers an extensive library of drag-and-droppable UI elements. Balsamiq has a 30-day free trial period. Also, you can purchase the app for $ 9 per month (single user, 2 projects);
- FluidUI. In case you’re ready to go beyond static wireframes, you can try to create a simple interactive prototype with FluidUI and test it on desktop and mobile devices. The app features over 2 thousand customizable design elements and can be purchased for $ 15 per month (single user); the basic free version which allows you to create one project is available for free.
Learning to see beyond UI: where do “huge estimates” come from?When it comes to software development services, all the screens, buttons, sliders and contact forms (UI for short) that “I have an idea, but need a programmer” guys usually see are just the tip of the iceberg and account for approximately 30% of the development efforts. Wait, what?
Yes, you heard it right. It is the back-end server that enables business logic, stores user data, supports live chat, processes payments, etc. It is an essential component of a software solution – and that’s why the back-end part takes up to 70% of a project timeline.If you want to create a social media application supporting likes and shares, for example, it is the server that will track user interactions, prevent users from liking a page twice from the same account and update ratings data in real time. This single feature will cost you at least $ 10 thousand! That’s why you should never jump to conclusions once you receive your ballpark estimate; instead, you should continue working with your vendor to define the crucial components of your app and gain a deeper understanding of its architecture. The tips we’ve given above work in most cases that do not deal with rocket science. And what if your future software solution is one of a kind? In this case, you’ll have to invest in requirements analysis, create prototypes and define the scope of work through trial and error – and that’s the topic for r-stylelab.com next blog post! Stay tuned!