Hello friends, today I am going to explain that, what is the exact role of developer in this process, generally we think that it’s an easy task with a limited time period, but it’s not like that.
When we started Software Development process, first of all we need to understand the whole process, what we are going to develop, as in today’s fast world, people are more interested in fast output compare to better output, as everybody in hurry, but “the good things are not build in a day” and these hurries always spoils the output.
Software Development process starts with an idea, an idea comes into a mind of a client, now a days everybody wants customize software for their business, and it should be, as data managing and smart work always doubles the output, so with this idea client goes in the market, and of course client has some specific budget, based on his idea and budget client try to finds suitable person/company for his requirements. So he post the requirements on any freelancing website or do Google for software companies, after some basic analysis he send requirements to some company, and in case of freelancing site, client choose developer on bases of rating and his past work experience, once client finalize the developer or company, he enters to the process, the process which called “Software Development”.
At this stage client becomes more firm and eager to get output, as he selected a partner, which helps him to make his dream true. Now the role of developer is started at this point, as per my experience and market study, many developers do not understand the value of his efforts and role, as developer is only the person, who can make client’s dream true.
Requirement Gathering, this is the most important and difficult part of this process. As client is always not a technical person, so the big role of developer is to get the exact idea from the client, in actual what client wants. Most of the developers lack in this point, as developer has some experience and based on this past experience developer make his mind with a particular thing and tries to drive client requirement in that direction, rather than treat this development as a fresh copy. So “New Client, New Game”
Also always make practice to take things on paper, here the role of paper is not to finding fault, but its role is to stuck on particular things, as development process take months (in some cases it takes years), and in between this time, there is some possibilities that client or developer messed up with requirements.
In some cases, client is confused, as he has clear idea in his mind, but he can’t explain it to developers, because he is not that much technically sounds, and not that much friendly with software domain words and tools, so as a developer, we always understand requirement with an example. Always take example from client, with particular cases and the same way tries to explain with an example to client, so he can get the proper idea.
In some cases, it’s good to ask “WHY” to the client, so rather than blindly follow the requirements, first understand it, if the developer can’t understand what he is developing then how can we expect that user understands the software, and there is a strong possibilities that developer can suggest some better option/way to the client, so as a developer we always need to understand what we are developing.
The same way this process is very tough for the client also, as he has make up his mind with some specific output, and tries to cover all his requirements in single phase, also he is not a technically sounds, and also not having a long vision that he can identify different phases, so again developer’s role comes in the action, and he should guide to client in proper direction, and always make try to first understand what he actually wants, and the best way to start with a mock up, mock up is always very useful when we are driving a big project. As client get some basic idea that what developers are developing, and
Also the another important factor is budget, as client is bounded to some specific budget, so many time all the requirements can’t be developed in that budget, and most of the client make mistake in this type of situation, so rather than fit all the requirements in this budget, try to get in to incremental model, divide this requirements in small part, and then cover some of the parts in first phase with budget, this way client will get the better output.
So as a developer always remember that we are not performing any task, we are developing software which will be used by many people to simplify their processes, and with this responsibility, in addition of technically challenges, developer needs to fulfill client’s dream also, and all these things make software development process tough.