Product Reverse Engineering


We, Pittas & Valerkos Software, understand the needs of Cyprus businesses in the software world; hence that, we, of course understand that some programs are made almost perfect, starting from simple programs in Microsoft Access or even in made in COBOL/Clipper etc. Our suggestion is to extend them by making them from scratch with the latest technologies.


Step 1.

What we suggest do, is to gather up all the requirements and specifications for the program, see the evolution of it (after 2-3 years from now, see any improvements needed in order to work efficiently) and start reviewing the existing software.


Step 2.

After our analysis of the existing software and the new requirements opposed by the end user, we try to see where can redesign the process in order to speed it up, either by the use of technology (an example of that is to use QR codes to contain the data rather than for the employee to data entry it) or by automating things and provide an effiecient system.


Step 3.

Feasability study is what makes sense for the client and his budget; what we mean is to make a proposal that will reflect the actual cost to the client in regards of price cost, their time, our time frame, and of course, possible hardware costs. Usually what happens, people tend to forget about the possibility of the binding to certain technologies that might be extinct after a couple of years and that might bring the business to end of life when binded entirely on it. Hence that, we believe that our building of the future is made for looking 10 years ahead, building with HTML5 and Javascript.


Step 4.

Software Development process is when the client agrees with our proposal and wants continue, then we start our software development process. We then use frameworks such as Scrum and Agile technologies and mockups to under take the project. We schedule weekly meetings and present our progress, the client of course is our guide; we utilize our time with the client to make mockups and proceed with the development as needed. After each week, we use one day to test what we did during the week and of course fix the problems when they arise.


Step 5.

Product Release stage is when we deliver the product with tested all modules made and of course start the training of the client/users. Because we are human, mistakes happen; either by logical bugs which are made due to possible lost in translation what supposed to be a process or even be error bugs that come to a fault. We proceed then to fixing them without losing any data, the client might have until now. Many of the ways we tend to keep backups data as much as possible by doing daily backups of the Database so that we minimize the chance of losing them.


Step 6.

Feedback and Future support is made for the client to let us know how we did and what we should include in the future release of the version 2.0. We also help when needed, either be a forgotten step or a bug.


We focus on the client, and their needs. We tend not invent the wheel, but rather of improving it and teaching the client to use it.