Have you ever traveled from Lviv to San Francisco, you might know that there are no direct flights connecting these two cities. And if you once would like to get to the city by the bay, the booking system will offer you several options of through flights. It can be through Warsaw and Chicago or Vienna and Frankfurt or even other combinations of transit cities. Checking all possible ways, you surely will find the one, which meets your expectations.
In other words, to get successfully and in time from point A to point B you have to know your final destination, properly estimate your time and take into account other details which can influence on your way. And Voila! You are there.
In this article, we’ll briefly explain what goes before estimation process, which is commonly called requirements elicitation.
Software product development is also a way from an idea to a release. Every project request comes as a significant white space opportunity that makes us think about expectations regarding a budget, timelines, and a work scope. Even being very experienced in logistic, medical or other fields, new requests never fit the patterns. It has to be analyzed and individually approached, how tritely it can sound.
Basically, the first stage of product development life cycle is a communication between a company and a client. The more right information you have got at this stage, the better it helps find a right solution and deliver a technically and economically feasible product as an outcome. This, of course, may lay to a bit longer development kick-off, but should save a lot of time, nerves, and money in a long-term perspective.
Where are we now?
So, a technology company has received a request for software development. Thus we are at the point A. At this moment it is important to study the existing situation and available resources. Does the company have to develop the project from scratch or have to proceed with a third-party code? Has your client already got any work in progress? What kind of real expertise is needed?
It is strongly recommended to customers to have their thoughts and plans on paper. This will allow getting a fair estimation, based on the same information, from different providers rather than getting them based only on not enough clear discussions. That should help clients find a right vendor and a team.
Where would we like to be?
The next stage is a determining of the desired result. In our case, that is a point B in the picture. We have to understand exactly, what an idea and a project aim are. What issues it has to solve and cover? And thus what do we expect to have as an outcome? At this stage, customers have to understand clearly what they really need and expect to get. Very often it is difficult without correct questions, being asked and properly answered.
Perhaps, this is a common situation for a lot of IT vendors when clients come with great ideas and readiness to start the development immediately without being enough specified with requirements. A step-by-step approach implies to begin with a detailed specification and project estimation, and only after proceeding with their implementation.
As an example, a HIPAA compliant project from a medical field can be mentioned. Usually, it takes more efforts for developers and QA specialists to make their work properly. All these should be included and presented in the estimates.
How can we get there?
This is a study of alternatives. All stakeholders have to understand what is expected from each of them as the project progress. As you can see in the picture above, the way from point A to B can be different; it can be straight and short or may require a much longer way. The goal is to choose the most effective option from among available and provide the expected deliverables in the most cost and time effective manner.
This is also a stage of analyzing the requirements, choosing the best technology fits the implementation and right specialist to be applied to the project. After evaluating all these factors, the right efforts will be applied.
As an example, a simple website can be developed on a basis of a few CMS platforms, like WordPress, Joomla, Drupal. It can be also developed without any CMS if a real intention for the future is to scale the project with various features. Usually, customers come and say that they want a website on the Wordpress, but if go deeper to understand what should be done eventually, we realize that Wordpress is not a good option.
Except all mentioned above, all parties have to understand realistic deadlines.
Sometimes technical specification is underestimated. But as practice shows, having it clear, saves a lot of time in the future for all stakeholders.
What will we do?
Having got and summarized the received information, we are ready to prepare a software requirements specification, and, thus the project estimation. This means you are aware of the budget and timelines. But that is a topic of another blog article. So let’s keep in touch.