Someday in the far future, our company will invent the software requirements remote dump device. You will probably call it software-R2D2. It will be a headset with Electro Magnetic sensors all around it. It will be able to probe your software dreams. You will put the headset on, get on a video call with a developer, and brained-up your needs, requirements, specifications and preferences into his brain. From there, you will have to say nothing, write nothing and do nothing. The developer will just develop the system you were dreaming about. Cool eh?
But until we develop this gadget, there is this matter of writing requirements and specifications that you our potential [and current] customer have to contend with.
There are many ways to make the requirements remote dump a quick and easy process for you. But this article is not about writing good specs. It is about not writing any specs and still getting away with a good software system.
Sometimes it is possible. When the right kind of problem meets the right kind of developer with the right temperament, there is no need for too much explaining.
A case in point is vteam #381. Our client asked Ghulam Rasool (Project Engineer) to create a dashboard using third party web services. Since Ghulam happens to be an R&D happy developer, he undertook extensive research and came up with detailed specifications himself. Then he got his ideas approved by the client and developed the system.
Next project was an application based on CrushFTP. Once again Client just shared his needs and the idea about the application. This time, Ghulam had to do this without any API or available help on CrushFTP. Ghulam developed an interface using CrushFTP server, which is developed in Java and the front-end is developed using HTML and jQuery. Ghulam figured out the web calls and parameters, also explored the CrushFTP jar files code and other relevant items (like how sessions are working for each web call). Using the information solely extracted by the Ghulam and without any help from CrushFTP support, he successfully developed and delivered the application.
Here is a feedback email from our client:
“I wanted to take a moment to recognize the fantastic work Ghulam Rasool has done, and continues to do. He has produced great work for us and has done so in an environment where it has really taken me a long time to get used to having him as a resource – so he has done a lot of the work with minimal input from me.”
In closing, we would like you to know that this example is neither the exception, nor the rule. There have been times when we failed as a development company because our client did not have the time to provide necessary information and we were not able to “guess” it on our own. And we also have long time customers who develop major systems, just by having a 30 minutes skype call with their teams.
If you are considering vteams, we would like you share with us your own work style and preferences before you start a team. If you are a busy business owner who can only spend 30 minutes each day talking about your needs, you need a different kind of engineer. Most likely someone like Ghulam who not only likes to program code, but also design systems at a higher level.