The Story of a System Built from Scratch

The Story of a System Built from Scratch

29.11.2023
While there are no simple solutions for corporations, smaller companies can afford a radical approach. What was it like to step away from the biggest insurance companies, banks and institutions, go back to their roots and program something from scratch again?

Delivering a comprehensive information system from scratch to a medium-sized or smaller business and delivering a specialized service or a specific system to a corporation represent two different worlds. Both bring various challenges and opportunities. Working with large corporations can undoubtedly offer certain stability. Larger budgets allow for larger projects, increasing the software company's prestige.  On the other hand, the complexity of internal processes often complicates work, and existing infrastructure limits the possibilities for innovation. 

When a smaller company approaches you, the first thing you usually think of is that they have a limited budget, and you wonder if they even have an IT department. It's true that their resources, not just financial, can often be limited. They may not have sufficient internal resources to collaborate and support projects effectively. However, many smaller companies are currently doing very well, growing, expanding their portfolio, venturing into new markets, and willing to invest in new technologies. Their mindset and freedom from complex processes allow them to deploy the latest technologies without the constraints of existing infrastructure. 

Last year, we took on the challenge of creating a brand-new ERP system for a smaller but dynamic company with a diverse portfolio ranging from financial and real estate services to property development. It was an opportunity for us to create a system from scratch, tailored exactly to the client's needs and requirements, without the limitations and complex bending of an out-of-box solution. We built a completely new infrastructure in the cloud, used modern technologies, and leveraged our BSFI know-how. We saved significantly on licensing costs by using open-source solutions such as the Liferay portal or Pentaho BI (Hitachi). Another key factor was the system's operational costs, which we minimized by properly sizing and configuring Google's cloud services and using internal communication and collaboration tools from the Google Workspace suite. The new system handles all specific agendas, automates many processes, provides a range of management reports, integrates with dozens of third-party systems and services, including state registries, and provides scalability and options for future development. We enjoyed this project because it gave us free rein in designing solutions and choosing technologies. 

However, no projects are without complications. As mentioned earlier, smaller businesses often lack an IT department entirely, or it's essentially a one-man show. For a supplier working according to project management standards, such as PRINCE2, it's a shock right at the start when the communication matrix completely falls apart. No project manager or analyst stands on the other side. And documentation? It practically doesn't exist. 

Everything is up to the supplier, and there is nothing to do but manage the work on both sides.  It takes an experienced project manager who doesn't get derailed and can cope with a bit of schizophrenia. The initiation phase is crucial in such a project. It is definitely worth taking the time to do an initial analysis and map everything down to the smallest detail, from the existing infrastructure to the client's vision and requirements. In this case, consultants play a key role as they have to manage a client whose perspective is purely business-oriented. And since such a client usually does not have deep insight and knowledge of IT processes, they must also handle training in the software development cycle. Another important role is the Team Leader, the head of the development team, who must oversee the quality of delivery and the clarity of the code. The customer would probably not recognize this given their limited insight into the software world, but bypassing development methodologies and policies unnecessarily creates a whiplash on subsequent support and future development. These are not insurmountable obstacles, but they certainly test the quality and discipline of the delivery team. If you're not careful, they can significantly complicate a project. 

The choice between delivering a system from scratch and a specialized service for a corporation depends on many factors, including the software supplier's technological expertise and overall strategy. Each option brings various challenges and opportunities, so it's important to consider them carefully. Working for smaller businesses and building from scratch certainly brings certain specifics and risks, but the reward is new experiences and a clearly visible result of honest programming work.