INDUSTRIAL SOFTWARE DEVELOPMENT

It’s like building a house. Yes, but this is only the ideal case. Think about it, even when building a new house, you have to consider numerous interconnected factors, such as the location of the land, climate, security, scalability, and sustainability aspects.
One of Egnosis’ core competencies is industrial software development. This is where our service portfolio has expanded over the years. The way we assessed our workflows has helped us define and shape our organizational culture and value system. Within this service, we use a market-validated workflow that relies on the state-of-the-art “Software Development Life Cycle” (SDLC) model.

“Fast and smooth communication and software development on a constantly high-quality level are key criteria for us. Based on our positive experience, we will expand our cooperation in the future, and we are looking forward to working and developing complex state-of-the-art software with our colleagues at Egnosis”.

Carsten Schmidt
Klusa – Former Division Manager, OPUS GmbH Germany

The first handshake

1. Establishing Business Relationships

Our experience has shown that, regardless of the industry, only those companies or organizations that share the same business values can create long-lasting partnerships. We believe it is extremely important to identify these values with our partners right at the beginning of our collaboration. Preceding failed projects and unresolvable conflicts, we say no to hasty collaboration decisions.

Even though we highly appreciate the power of the given word, we aim to establish a mutually agreed framework contract regulating the parties’ business relationship.

It does not start with code and database tables

2. Understanding Requirements and Business Context

It starts with defining the business segment: a multi-stage consultation mapping the general needs and the request type. We are looking to answer questions such as the company’s position in the digitalization process, how much of the workflow is affected by request, or how mature the company is to take on the development.

It is not simply small talk. Within this multi-round workshop, we are not speaking in “programming language” but as business consultants with a deep understanding of the industry. Our industry focus relies on management, logistics, packaging and manufacturing.

Are you sure you want to climb the mountain with an elephant?

3. Feasibility Study

After a general request mapping, we conduct the feasibility study, ensuring we meet the requirements.

The story is easygoing when the customer wants to develop an existing industrial software further, already has a well-developed digitalization skill set and understands the way of working.

A more complex situation where bold clarity is needed is when the customer wants to act impulsively, for instance, to react to the competition’s actions and not lose competitiveness. They expect digitalization and automation to provide the answer, but these expectations and goals might exceed our scope. For comprehensive growth and strategic development, long-term and radical mindset shifts are compulsory, as no software or tool will change company culture.

How large should the foundation be?

4. Architecture. The Big Picture

The heyday of the monolithic software giants is over. Unsystematic data structures, microservices and versatile nano-front-ends reign.

What end devices should we be compatible with? Does this still matter if we are designing the software architecture of the future? Not at all, as reality shows us that the production line sees the tasks on display in real-time, the warehouse manager sees them through VR glasses, and the manager looks at reports and takes the necessary actions on his tablet or mobile phone.

These requirements generate different directions, and without a proper understanding and management of their complexity, the architecture would fall apart. Furthermore, we must consider scalability, data format compatibility and interoperability, code sustainability, Hardware/Software maintenance, and personnel operating costs.

Agile first. Clear structures always.

5. Development

In contrast to traditional software design philosophies, agile software development targets complex systems and projects in a dynamic, non-deterministic and non-linear way. Accurate estimation, robust planning and forecasting at an early stage are often challenging to achieve. Our industry experience helped us develop an adaptive, iterative, and evolutionary approach favoring agile software development.

The heart of the process is transforming and implementing requirement specifications into software codes. Following a strict methodology, stories are broken down into feature blocks and tasks assigned to validation checkpoints that guarantee the high-quality development of what is defined in business needs. The focus is on reusability, maintainability, and scalability.

Proactive, good faith nit-picking. For the sake of quality.

6. Testing. UAT

Defining quality without a quantifiable set of criteria is a very bold and subjective undertaking. That’s why along with the feature blocks and tasks, we create an Acceptance Criteria list with the customer’s approval during the planning phase. Based on these, test cases and automatic validation functions are created.

Performing and validating these processes requires multiple steps, as the package must first pass the internal testing phase. After that, testing in a “real” or production environment occurs at the customer’s site. One of the main challenges is replicating the real client environment, as data security reasons often limit our testing capabilities.

Furthermore, industry and domain knowledge are essential to identify emergencies that may occur in production environments. This is where we stand out due to our varied field experience.

New package arriving. Sounds familiar?

7. Delivery. Integration. Go-Live.

Just like a new piece of furniture at home. The initial thrill quickly disappears when you have to find its right place, take the old one out of use, and make sure the new item fully meets your expectations.

The proper delivery of a new software solution requires as much detailed preparation as designing it in the first place. The critical impact of a product shutdown on the company’s business operations, the reaction of the affected integrated environment, the vulnerability and migration of data, the adequacy of the hardware and environment are just a few of the organisational and operational aspects that form the basis of a detailed deployment plan.

Therefore, delivery planning starts at the project’s initial phase to ensure that all scenarios are adequately monitored, thus minimising the risk of delivery failure and unforeseen risks.

The delivery has been made. The product was received. Houston, we have a problem.

8. Training. Support. Assistance.

With development orders, the drafting of agreements for commissioning and product support services will start simultaneously. Here, first and foremost, the industrial complexity and user volume are taken into account and used as the basis for the tiered product support processes. The best practice for industrial applications with a significant number of users (>50,000) is to have first and second-level “on-site colleagues” responding, with the majority of situations arising related to the use of the application. Our colleagues’ expertise excels in training and familiarisation with the software. Making people within the company, as end-users, understand that the software is being introduced to make their work easier is a very critical moment.

A well-established product support workflow that has been proven over the years, where the submitter knows exactly when and where their request has been registered and from whom they will receive a predictable response to the request, is a key part of our software support service.