Software Development being a highly technical work, can be sometimes be very much misunderstood by the layman. People, often tend to compare software development to other forms of business and services. Software development is in itself a very unique work and requires to be done by highly qualified professionals. Here is a list of top 5 misconceptions that clients have about Software Development:-
1. Software Development Is Easy!
The number one misconception that people have about software development is that it is easy. While the truth is that it is one of the most difficult and brain exhausting work one can do. Imagine you have to solve mathematical and logical puzzles (like those in aptitude tests) all day, 5 days a week, and that too with a minimum target to achieve everyday. At some point it will start becoming a big pain in the frontal lobe. A programmer not just has to concentrate on a small problem at a time but also has to understand how the solutions to small problem integrate to solve the bigger problems. The truth about programming is that it requires highly qualified professionals who have trained their brain in solving complex puzzles by practicing everyday.
2. Software Development Is Cheap!
Ever seen ads like:-
(Courtesy Google Search)
Or you might have seen flex banners around your city saying “website banwaayein Rs.5000 mein (get your website in Rs.5000)” . This is where the impression comes from that software development should be cheap.
The truth is that IT IS NOT CHEAP.
We need to understand some basic economics here. Even a fresher software developer is paid Rs.15000/month and takes at least 25 days to complete a good website project. Assuming that a freelancing fresher was working on your website instead of getting his Rs.15000/month by working in a company. The cost of development from his side would be Rs.12,500. How can he make any profit then.
Good things don’t come cheap. You either pay less and be forever dissatisfied with the product that you were delivered. Or you hire qualified professionals and get a software that brings profit to your business. Its sometimes very difficult to explain to clients why we charge a particular amount, especially when the client has seen ads like the one above.
3. Software Development Should Not Take Much Time!
The time taken by a software development project depends upon many factors, But the two main factors are number of functionalities and their complexity. Sometimes its difficult to explain to a client why a functionality that looks too simple, might actually be very difficult and time taking to implement. I have often heard phrases from clients like “This should not take more than an hour. Should It?”. Well sometimes it takes lot more than an hour to do something while developing a software.
If a clients wants the functionalities implemented in the optimum way. Then you have to give the developer proper time to design, implement and test that functionality. If you are short of time and can’t give the developer the required time to develop it than be prepared to find more bugs and lack of scalability in that functionality. A good developer would usually not agree to implement a functionality if not given proper time. Doing quality work should be most important to good developers.
Often the time duration of a project is elongated because of a change in client requirements in between a project. This can happen when the client does not have a good enough plan in advance. Developer may need more data and content from the client to complete the software. Any delay in providing the required information to the developer can also sometimes delay projects. Both the client and the developer have to be serious enough about the project, to not delay it beyond what is acceptable by either of them.
In the service industry, time is money, and that is what we charge our clients for, our time. The time estimation of software development can have some plus minus error but not much.
4. Its Okay To Have a Vague Idea of What you Want In A Software!
Truth Is : NO ITS NOT OKAY!
In fact the first thing we ask from our prospective clients, is that, if they have a clear idea of what they want from the software or not. You better give project to a software developer only when you have a clear idea of what you want. Till than you can consult the software developer for his suggestions. But there is no point in assigning a project of which the functionalities have not been finalized. Change in some minor requirements of the project during development is okay, but you cannot make big changes in the software without changes in design, duration & cost of the project.
5. Your Software Developer Is Completely Responsible For Making Your Business Idea Profitable!
Well the second thing we ask to our clients, is that, if they have done enough work on planning their business idea or not. Lets say you want a developer to create an e-commerce mobile application that sells window blinds online. Now there has to be some research on your part, whether people or companies who buy window blinds actually would install a mobile app to do so. And weather people prefer to buy such things online.
Of course a developer can help you in this research, but, a developer alone cannot be responsible for it. You cannot blame your developer if your product does not perform in the market. Getting a software developed is one thing, and marketing & implementation of a business is another. You better be prepared with a good enough budgeting & planning for the marketing of your business. There are various ways of marketing online businesses like Search Engine Optimization & Pay-Per-Click advertisement.
You should plan all the processes of your business in advance. Things may not always fall the way you planned. But a bad plan would be better than no plan. Planning requires a lots of work and decision making. You should complete this work in time before you miss the window of opportunity to get started with your business idea. If during planning n case you are stuck on a decision for too long, just remember that sometimes a wrong decision is better than indecision. Just take a good enough looking decision and move on to the next step in planning. The more you plan, the least time will be wasted during and after the software development on decisions that should have been decided in advance.
Clients having misconceptions regarding the process of software development is very common. It is also the responsibility to clear these doubts and misconceptions about the process. And a clients too must have enough trust in the developer to believe them regarding their experience and knowledge of the process. Software development if one such process which requires nearly equal roles & responsibility from both the client & the developer for success in the quality software development.