Developing software as per customer's needs: A Software Developer's Perspective

Posted on 8 April, 2017

Setu 2017 was like appearing for an examination, a bit nervousness with lots of preparation. I had a debut this time as a speaker in the event so my level of excitement and the nervousness was almost at the equal position. As soon as I was informed about my role I made a decision that I will draft my speech in a manner that each and everybody will learn something but not in the conventional speech manner. Thus when I was surfing for the topic of the speech I tried to find a topic which can be more a sort of practical mood. So finally I chose a topic about Development of Software as per the customer's’ need. I gathered case studies from my own experiences and the one which can be easily understood by everyone. Well, as per the review I did good in speaking and now it’s time to pen down my presentation, let see how well I can do this one!

To describe the work of the developer, the only word which is apt is “Decoding”. A customer being a layman just have a list of things in his mind, to make it in “101010101” language is the art of any developer. If I say we have to develop a software as needed by the customer then I think each and every reader will surely agree, but very few of us will genuinely follow it. We usually fulfil the basic need of the customer but we never think from their aspect and thus with the passage of time our customer feels unsatisfied and crave for another solution. Let's see that with an example; We all have been to the Supermarket and sometimes when we have a requirement of just one or two items, it happens that it takes more time to do the payment than in the shopping. If it is because of the rush then we do not have any alternative but if you are just the second person in the queue and still it gets late then we will surely think before visiting that supermarket again. This delay would have happened because of the billing software and therefore being a developer it becomes your duty to make the software such with the interface and another coding which makes it faster. Sometimes it happens that we develop lots and lots of features in our software but none of these has any usefulness to the end customer then it becomes pointless. It is just like a mobile phone with all the facilities except Calling! Thus software should be developed after understanding the thorough needs of the customer. 

Development of the software should have an in-depth analysis so that it reacts just like you and your customer have visualised even if the end user is using it in a vague. Like, say for example, if you have designed a software or an app through which end users can search his/her favourite song and can listen to it anywhere and at any time. Now it may happen that some listeners are not sure about the exact lyrics or say they may misspell the movie name but if your software is nicely analysed and developed then you will set the algorithm such that little resemblance of spelling will also enable the user to get the desired result. Let’s try it with India’s hot favourite online songs software Saavn.

I tried entering a wired spelling for the movie “Virasat” as “Verraasaat”. To my surprise I got the correct movie in the suggestion list, you can see it in the image I have pasted above. Just imagine the algorithm and analysis the developers of this software must have done.

# Types of software :

Software from the perspective of its development can be divided into two types, below is the explanation of the same:

1. We can develop the software and can create a need for it!

The best example of this kind of software is Whatsapp, Youtube, Linkedin etc which are the development whose absence have never affected us but now when it is developed and we are so much habituated to it that even our mobile phones without the facility of calling can be accepted but not without WhatsApp.

2. Software developed as per the need of the customer or client:

A true developer should have a good hand on listening, understanding and then implementing exactly what the customer need to satisfy his/her customer. A key to it is to make your thought process according to the customer’s perspective. Once you have developed the software think 360 and later analyse whether your customer will be delighted with your creation or not. Do not be resistant to the changes. There may happen a case wherein you and the customer both are right but then it is your duty to analyse without any bias that which option is the best. 

Always remember if you are seeing “6” the opposite person may see it “9”. So see the element from all the sides to ensure the best result. There is a case which I heard from my friend that once his client from California, US asked him to develop a software which allows him to send automated SMS/email to his client who has not cleared the payment in period agreed upon in the policy. My friend gave his best and prepared a software with all the features possible and also set it on Timer about shooting SMS/email sharp at 5:00 PM(in India and his client is from the USA) as per customer’s need. Well, there were several clients of my friend’s customer who went furious and did not liked the reminder just because they got this SMS/email in the dawn 4:30 AM. So we need to be alert about everything and should take care of time zone issues.

# Constant Update of software is an essential aspect for satisfying your customer  

Never ever think that your work ends when you hand over the software to your customer. It is a cyclical matter and not linear. You need to be extra smart and should have a frequent update in the software so that the end-user do not get fed up with the same boring features. Thus one should have constant analysis and rapport with the customer and his need. A developer should be proactive and should come up with new ideas before a customer gets any other alternative. This practice will make your quality of work excellent and will enhance your image. 

Let us see some of the examples which will work as a backup for a point that constant update in software is inevitable in spite of its dominance in the market.
Do you remember initially how social networking was incepted? It was an invention of Orkut that it came into existence. With an introduction of Facebook and its proactive and advanced features, Orkut has no existence now. There are many other such networking sites but can never take place of facebook and WhatsApp just because they have constant new things which maintain the interest of the user. In facebook initially only the Like button was available but because they analyse the mass constantly they realised that every emotion cannot be justified with this button only and which is why they currently introduced different emoticon and unlike button facilities. {Beware! Now you can get an unlike too for your selfies:)}

If we talk about Customers’ choice, software is not the only product which has to be customised as per customer’s need, even king of fried chicken, KFC has to introduce Veg snacks to make their presence in a vegan dominant country like India.

So this was all about my most memorable session in SETU 2017. Hope you all enjoyed too! Will be back in SETU 2018!!

Vishal Kapuriya , Odoo Engineer


About Emipro

Being an emerging leader in IT market since 2011, Emipro Technologies Pvt. Ltd. has been providing a wide range of business solutions in Odoo & Magento. We are pleased to have a large pool of contented customers with our meticulous work in the domain of ERP & e-Commerce. Our customers are companies of all sizes ranging from startups to large enterprises who realize that they need a professional internet solution to generate revenue streams, establish proper communication channels, to achieve desired goals and streamline business operations. [....] Read More

Our writings seems informative ?

Subscribe for our SETU and get more amazing stuff directly to your inbox!

Post Your Review


Your Review has been posted

0 Comment(s)