Upload
ivesia-solutions
View
218
Download
0
Embed Size (px)
DESCRIPTION
Software companies need to take concepts to products quickly so that they can reach the market faster. However, in this process, sometimes they end up building a monster application, which upon maturity, companies have to spend tons of time and money in scaling.
Citation preview
Bootstrapping a software product development effort
Software companies need to take concepts to products quickly so that they can reach the market
faster. However, in this process, sometimes they end up building a monster application, which
upon maturity, companies have to spend tons of time and money in scaling.
Let me explain this in detail. In your development efforts, doing it right the first time is always
costly and time consuming. A workaround will take less time and will probably save a whole
load of money from the budget. The general attitude is that we will fix it as we go along when
we have the resources. As the time moves on, the workaround never gets done, more and more of
the code starts to depend on the workaround. Not only that, users also depends on the
workaround. The amount of fixing that needs to be done now begins to multiply and your core
product starts losing its significance. Foresight here really pays in the long-term and makes life
easier in the future.
Finally, it gets down to designing the product properly. Your design needs to ensure that your
product will not only work well when it is released, but will be able to accommodate the needs of
users in the future. Our experience of having worked with multiple software companies has made
us realize that this has been a huge problem for them to solve. Analysis and design, the two most
critical phases in software development, is not given its due. This results in products that take a
lot of re-working in the future.
Essentially, we help companies bootstrap their product development by turning their
requirements to specifications to architectural design to detailed design to development to testing
to implementation to integration to maintenance.
From the requirements, identify what to build in the analysis phase, and come up with the
specification document – a clearly documented functional specification that explains clearly
what needs to be done. Mind you, it is the ‘needs’ and not ‘wants’.
From the specifications, identify how to build during the design phase, and come up with the
architecture and design documents. This phase includes identifying modules and designing each
of the modules.
Once this is done well, development, testing, implementation and integration should be a breeze,
assuming that you have the resources to code, test, and ensure quality.
Visit IVESIA’S WEBSITE Follow us at LINKEDIN and TWITTER