How do you quickly succeed with making robust software? At GPower, the keyword is reuse, but as is the case with many other things, care must be taken when reusing.
The public space is full of examples of software that exceeds deadlines and budgets. One could list numerous examples, but it suffices to remark that cost increases in the 100m € class are well-known in public IT in Denmark (For more information, click here). Obviously, a plethora of circumstances contribute to the price tag on software development, but where to start if you want to make it quicker and cheaper?
Looking at the actual development phase, there is a single thing that decreases cost and time: Reuse. If you can reuse code from previous projects, large savings are possible. Many of the time-consuming tasks lie in developing code blocks that are very generic and not unique to the actual project. If these parts are developed in advance, the development task is significantly reduced. Actually, our experience shows that as much as 80% of the code base can be established in advance, so there are rather large rewards at stake.
In order to realize these savings, a very structured approach to reuse is required. If your approach is the classic “cut and paste”, there are many caveats in code reuse. An in-depth knowledge of the original code is required, such that you are completely aware of the purpose of the code and the limitations it may contain.
Furthermore, it is important to encapsulate the code efficiently. If it is to be used several times, changes will inevitably occur. Therefore, all code should reside in well-defined modules with lucid interfaces, and they should generally be designed in accordance with the SOLID principles. Overall, the code should not be seen as a fluttering piece of code but as a tool, and as with all tools, it is worth spending time making it properly, such that it will last and can be applied in many situations.
When we talk about 80% savings, it is naturally not just restricted to the development phase. If 80% of the code is reusable, it obviously yields an according cost saving in the test phase if the code is made modular. The design phase can also be completed significantly faster, if you know exactly what tools are available in your toolbox. Not to mention maintenance: Everything that happens after deployment also benefits from code reuse, since the building blocks gets much more mileage, so the code has been tested to a much larger extent. And since maintenance is a continuous task, massive savings are possible in the long run.
Book a Non-binding Meeting
Does it sound interesting to you? Right now, you can book a non-binding meeting with us!