Continuous Source Code Generation
Source Code Generator is a development assisting tool that helps developers by generating source code for applications. Seldom does it generate the full 100% source code needed for an IT application and therefore, it is supplemented by some amount of handwritten coding by software engineers to complete a full functional application.
There are advantages and disadvantages of source code generation and are documented as shown below.
The advantages are pretty clear. However, the disadvantages can present real issues and challenges that can diminish the benefits derived from the advantages. Real care and thoughts are needed to overcome these disadvantages, in order to provide sustainable technical and business benefits.
Why Source Code Generation at NubeVision?
At NubeVision, we strongly believe in adopting a double edge sword approach in our goal of helping our customers reduce their project investment costs. These 2 edges or factors influencing a reduction in project investment costs are labor rate and effort in delivering the solution. Our solution to the “sword” are as follows:
· For labor rate, locating our delivery center in a low labor arbitrage country will help achieved this. Our first Global Delivery Center is in the Philippines.
· In terms of effort, we believe in the use of toolset to reduce effort especially where possible automation. Reducing effort comes with reducing software development time and therefore, a potential to deliver the solution earlier to market. Further on, we will outline one of the key toolset we have put together in Source Code Generation that will help further this goal.
Based on our experience, it is always a difficult challenge of balancing the 3 critical elements of a project - costs, time and quality. At NubeVision, we believe that one of the key answer in moving towards achieving this balance lies in better discipline, management and control of the software engineering of the application as it is not just complex but constitutes a major portion of effort and time of the project lifecycle. This aspect of the SDLC is often fraud with errors and defects as handwritten code is very prone to human errors.
In order to achieve our double edged sword strategy to reduce project investment costs and to attain the balance of costs, time and quality, NubeVision developed and put together a toolset for a Continuous Source Code Generation. Continuous because it will allow multiple re-generation of the source code for the application. This is equally important to support for incremental development to take place and for accommodating unforeseen changes expected during the software development lifecycle. Our toolset not only delivers on the advantages of source code generation but, in addition, addresses the pain points and the disadvantages of it.
NubeVision’s Toolset - nbGenerator
We have called this toolset, nbGenerator. This toolset is put together to support our solution architecture. It will allow our software engineers to execute projects with speed, simplicity and self-confidence. For our customers, projects will be delivered earlier than your normal expected development timeframe, with less effort and with higher quality. Hence, achieving the double edge sword promise of reducing project investment costs.
The below diagram provides a summary of how nbGenerator addressed the disadvantages of normal source code generation tools.
Our nbGenerator provides additional advantages than the normal Source Code generators.
Below are some of the key features and benefits of nbGenerator.
It is important to note that with nbGenerator, there will still be handwritten code to be developed by software engineers to complete the application. What we have provided are extended facilities in protected regions, which we called designer regions where developers can put handwritten code into it but knowing that it will not be overwritten in subsequent code generation.
Our goal is to continually enhance and extend nbGenerator so that less and less code will be handwritten and as a result, faster delivery time, less effort and a continuous improvement in quality can be attained resulting in lower investment cost for our customers.