Nov 13, 2018, Mobile

7 Questions On App Development

Gabriela Cendrzak Content Marketing Specialist
image
Our Sales Team gets tons of messages every day. Before any project begins, our potential clients ask a lot of questions that we are always happy to answer. We gathered the most frequently asked ones and decided to answer them in order to help you get the idea of what  the collaboration looks like before we start our cooperation.

Of course, the answers are very general – we get into details during personal talks, depending on your needs and expectations, but we hope that those below will clear up a few things, explain some most common misconceptions and help you make up your mind.

1. Why does it cost so much?

Let’s put it straight: mobile and web solutions development seems quite pricey on the first glance. I mean, downloading an app from the store will costs you 88 cents on average. Yeah, not even a dollar. So why is its development so expensive?

Firstly – it’s not just about the code. Your application needs design, and if you want something more complex than a plain calculator, then also a backend part with a server, database and API. It’s not one person that does that, but a few experienced teams. That complex process typically takes up about three months up to half a year and requires stages of architecture, schematics, design, building launching and maintenance.

Secondly – the species of applications are very diverse. Some functionalities are easier to do, and some require more time, energy and resources. You have to trust your team when they estimate the time of a certain sprint in a project because if they say that a particular thing will take three weeks to develop, they do it based on their past experience. That’s where it is important, once again, to choose an agency you trust – it will definitely save you a lot of unnecessary frustration. Trustworthy agencies are transparent and will do their best to explain the time estimation.

Lastly, to put it simple – it’s truly the talent that costs the most. There is a high demand for mobile developers and designers on the market, and though you can find many of them, it’s much harder to find someone both experienced with developing solutions on a enterprise level and up-to-date with a particular technology.

Both design and development are rather easy to learn, but very hard to master, so it’s obvious that experienced team will cost you more.

There was an article lately that went viral, with the intriguing title of  “Why Outsourcing your IT to Poland Will Ruin Your Life”. We recommend you to read the whole piece, but the main point is that most people that decide to outsource to Poland are amazed with the outrageously high quality of our IT services, especially in combination with its relatively low prices, high reliability and communication ease. Thus it’s possible to find an inexpensive agency with both quality and quantity, and for that case, look no further than polish outsource.

2. How much time does the development take?

If you want the short answer – developing a medium size mobile application for one platform usually takes about three months. That’s the average timing, but of course, everything depends on various factors, such as number and complexity of functionalities, flow of the cooperation, chosen technology, and so on.

In app development, time equals money. Quite literally, if you pay for the project in Time & Material model, where you pay for the exact number of hours your contractor spends on your project. You get your first estimation before the project even begins, you specify the price per hour, and you are present on every sprint planning, agreeing on the number of hours needed to fulfil every particular task (of course, as long as your agency works in Agile methodology).

Nevertheless, things happen. Major changes commissioned for the last moment lead to delays, especially if the development team is big and consists of  few different technologies.

There is also a misconception that increasing the number of resources – meaning: asking for more developers added to the team – will solve the problem.

It may work for projects with fixed price contract, but in Time & Material adding new team members is far more difficult and affects the final estimation.

Have you ever heard about Brooke’s law? Fred Brooks, famous software engineer and computer scientist, published a book in 1975 called “Mythical Man-Month: Essays on Software Engineering”. It’s central theme is that “adding manpower to a late software project makes it later”. In his honesty, Brooke points out that “nine women can’t make a baby in one month”, which is now widely known as a humoristic but very real summary of this management misconception.

It takes some time for people added to a project to become productive. Each new worker has to become familiar with the project, its process and already used solutions. Moreover, the more people there are, the harder it is to keep them in sync, so the communication is getting more and more difficult. When you work in Agile, the more people in the project, the more hours you have to spend on daily (or weekly, or monthly) meetings, demos, retros, and so on. Besides, some tasks aren’t divisible – or it is simply unprofitable to divide them.

3. And what about technologies?

Every agency has specified technologies they use and are most familiar with. You can find out what they are on the agency’s website if you are looking for a particular one. Some of our clients have technical background as well, so they come to us with a prepared plan.
However, most clients know on which platform they want their app to be, but don’t really care about language or framework, as long as it doesn’t affect their vision of the product – There are also clients that don’t have any technical background at all. It’s also perfectly fine, you don’t have to be technologically-oriented, it’s our job to analyze your idea and serve as tech advisors.

Things look different if you are looking into developing an existing project – then the technology depends on what was already used in it. A similar case being when you have your own team to support the app after the agency develops it – then you obviously have to make sure the technology matches.

Will the agency interfere with your technological choice? Well, talking on our behalf, depending on your needs and project’s idea, we may suggest you to re-think your decision.

There are many factors that influence that – it may be because we know something will suit your project better, that the particular technology may be hard to maintain or that another type of application (native, hybrid, or web) may serve you more effectively. For example, you may want to have your app done in React Native (which is a hybrid), but at the same time, want it to have many native functionalities. In that case, we can prepare a rough estimation for you, and it may turn out that the price of such a complicated hybrid will be relatively similar to the price of two native apps. That will give you some perspective and food for thoughts, and together we will be able to choose a better option (by the way, you can read more about the pros and cons of native, hybrid and web apps in one of our previous articles).

Moreover, there is a tendency in app development for trends to come and go. How many articles beginning with “(Insert technology name here) is the new best thing and will change development world for good!” have you read in your life? We’ve heard that Phonegap will be revolutionary, we’ve heard that Xamarin will reach the entire mobile market, we’ve heard that React Native will dethrone native apps. Arguments are usually very similar – that given framework or technology will be cheaper and easier in development, it will replace the need to develop separate native applications and generally end world hunger. They are new, flashy and impressive but in most cases – only on paper. They are usually good solutions, but not really that revolutionary, and most certainly don’t live up to the expectations. They won’t necessarily solve your problems and meet your needs, so it’s better to trust your agency’s advice rather than chase the newest flashy thing everybody seems to praise.

4. What’s your design and development approach?

We work in Agile methodology, as most of development agencies these days. Agile is a famous buzzword, but what does it mean exactly?

Well, before Agile became such a standard in software development, most of us worked in Waterfall system. Waterfall means working in a chronological order, just as you may imagine the creation process – first the concept, then design, then development and then testing. Sounds perfectly fine, but as this process is sequential, you can’t really provide any changes after one step was completed. You have to be very careful in planning the whole process because one little misconception or misunderstanding may lead to a complete disaster.

On the other hand, Agile is a methodology that follows an incremental approach. It prioritizes the unceasing contact between client and agency, to the point where the client (product owner) becomes the part of the team.

In Agile you work in sprints. At the end of every sprint, project priorities are evaluated and tests are run. That allows any troubles to be discovered quickly and customer feedback can be incorporated into the design and flow before the next sprint is run.

Scrum is an iterative and incremental agile software development method for managing software projects and product or application development. So Scrum is in fact a type of Agile approach which is used widely in software development. Scrum gives you a very clear demonstration of the effectiveness of your software development practices.

If you want to know more about what Agile truly is and how to implement it successfully, we recommend you to take a look at John Cutler’s take on it.

5. Doesn’t outsource equal communication problems?

That’s a big question many ask loudly – and the rest asks in their mind: can we trust a team that is a whole continent away?
Truth being said, with all the technologies that allow us to communicate with anybody, anywhere and anytime, you would think that there shouldn’t be a trust issue anymore. Unfortunately, some clients had some really unpleasant experiences getting their products done at the cheapest abroad agencies. That created a lot of unnecessary distrust and evokes stereotypes about outsources till this day.

How do we deal with such a situation? First of all, in the Internet age, we have so many tools we can use to communicate, like Skype, Google Hangouts, Slack or Basecamp, not to even mention, a simple phone call. Agile methodology we use requires staying in touch all the time – weekly and monthly sprint planning are only a part of it. Before the project even begins you can get all necessary information and insights – on the calls, both technical ones as well as business oriented, even take the effort to meet you in person if you are sure you want to cooperate with us.

Honestly, everything depends on the commitment of both sides and their willingness to cooperate. We’ve had a lot of clients from completely different time zones – some of them were twelve, thirteen hours apart of our time.

The trick is to agree on the contact conditions at the very beginning of the cooperation and stick to them throughout the duration of the project.

Another crucial point is to choose and clearly determine the decision-makers on both sides. From our side it’s Project Manager, from the client’s side its Product Owner (sometimes the CTO)  – determined to be a spokesperson for any significant decision. Overall, you can truly do everything with your outsourcing agency, as long as both keep a professional approach and willingness to cooperate.

6. Are there any limitations when it comes to the things we can develop together?

Technology is amazing, but not limitless. There are things you simply cannot do – and even more things that are not worth the effort needed to get them done.

As we already stated, you have to think about applications as about answers – if users don’t ask the question, there is simply no need for it – and it won’t succeed, even if done perfectly.

Some clients have really uncanny ideas for their apps – and right away, some of the agencies do not want to get involved in them, which is really uncool. We prefer to invite our potential clients for workshops and then talk about their idea deeply, analyze it, work it through and come to the conclusions together (you can read more about workshops in one of our previous articles). We treat every client and every idea very seriously, so even if we are not sure if the idea will work in practice, we suggest creating an MVP (you can also read more about this in one of our previous articles) in order to see if that is the case. We want to be your business advisors, as we already have a severe experience. However, the last word is on you.

Why would we choose you?

That last question we get pretty often and it is the most personal of them all. Let’s be honest, there are many fishes in the sea. Every agency can say that they provide the best services, but words are only words. You need more proves and ways of measurement.

It’s where all the plebiscites and lists of the best come in handy. Unfortunately, they are not always completely honest and in some cases, simply consist of only those companies that pay to get there. Most reliable are portals like Clutch.co, dedicated to collect companies and confirmed opinions from their clients. Portals like that verify every rate, so you can be sure that if someone gives a good opinion, he really means it (and is an actually existing person, to begin with). It’s the customers’ opinions that matter the most, after all.

Therefore we find pride and satisfaction in our high rate on Clutch, but it’s not the only thing that may persuade you to start cooperating with a particular agency. Every single one of them is different – and some have exceptional features. There are as many value systems as clients, so a feature one will find useless, someone else may praise and be looking for. Therefore, a wide range of approaches is a really great thing.

As for us, we are often appreciated for our very human-centered approach, which basically means involving the user perspective in all steps of the process.

We want to deliver a solution that truly corresponds with user’s needs and requirements. We repeat it to boredom, but it’s true – applications are like answers, if users don’t ask the question, there is simply no need for it. We rely on years of experience, solid research, testing, observing and constant analysis of the outcome.

We also have something our clients like to describe as “project owner mindset” – basically we take care of every project we develop as if it was our own. We get fully onboard and start from checking out the industry we create the product for. We do our research, ask about many things, do the analysis. We get to know the culture, people, market and its whole environment and have dedicated people that take care of market entry strategies for markets such as the USA, Nordics, Germany and the UK. There is also our whole jazz about workshops, constant contact and serving as your business advisor instead of just being a conductor of service. That’s just the way we do it, and it can be clearly seen that our clients find it very helpful.

Share