How to manage a large organization development process?

The article was written by Avishay Leibenson, co-CEO of Panda Tech, 25.6.2017

5 Key Problems in Process Management Quality development

In any organization that develops software projects or software products, there is a use in the standard development stages of standard development documents in the process, such as a system requirements document, a system architecture document, a software requirements document, and a software testing document.  Each of these documents was written by the relevant professional in the development organization. For example: System requirements document written by system analyst or system engineer, document system architecture written by the system architect, etc. The method of documents has been used for many years and the main changes over the years are the method of storing documents and their method of writing according to different methods. Many organizations manage their development process through Word documents. The management of the development process is usually carried out through many discussions aimed at synchronizing the many people involved in the development process, thus creating a situation in which to keep the information up-to-date, the managers are required to initiate many discussions, to take out employees from their day-to-day work In order to maintain synchronization and all that is required.

Working in project documents produces several problems:

The documents written in the project are more or less irrelevant once they are produced. Development projects are very dynamic and it is very difficult to keep the documents updated.

Decisions are taken regarding changes to the system. These decisions are summarized in discussion summaries and e-mails but are not usually embedded in documents.

There is no evidence that the changes made in the documents do reflect the changes in the systems.

There is no update of the test documents in accordance with the changes made to the system definition in the planning documents.

The documents are not synchronized with each other - different terms are used in each document, each person chooses his or her own concepts to describe the system, and there is no ability to synchronize the concepts and terminology used in each document, thus creating a situation in which each person creates his own language.

These problems cause the organization very low quality costs. These failures cause costly loss of time and money, and the required result of the organization is to build the required software system in time and quality.

In order to address the problems presented above, a model-driven development method was invented. A few words about this method:

This method of development has been in existence for more than 20 years, and has undergone many changes and adjustments. Therefore, it is currently at a high level of maturity and has been successfully tested in many organizations around the world.

One of the significant evidence of its success is the number of organizational tools that support this method and provide a solution for the need for orderly development.

Model driven development, Model Driven Development is a method based on the construction of a series of UML models. UML - is a unified language for modeling, that is, a collection of different symbols used by partners in the development process to describe the developed system.

Instead of describing the system developed using words alone, the system design receives a visual dimension using symbols that describe the system using signs, descriptions and connections between them. The whole idea here is to take something very difficult to describe in words and present it in visual language. The transition to visual language results in a deeper analysis of the system and a more complete understanding of how the system will work.

Each of the factors in the development process sees the appropriate information in his glasses and updates information as relevant

All relevant system information is in the model so there is no need to enter additional documents or additional volumes.

In order to implement the concept, we use a unified environment called Enterprise Architect, which is a tool that implements model-driven development and provides many more capabilities.

Enterprise Architect is the melting tool for all relevant information in one system.

The information is in the model and is the main data base of the developed system.

This database is managed in one database and therefore does not require copies and conversions from different environments. Everyone works in one environment.

There is no longer a need for many documents and no synchronicity between them!

All information is in one unified environment and the documents are automatically derived from it (how do you do this? To be described in a separate article)

The entire concept is based and derived from the Model Driven Architecture of the Object Management Group -OMG is an American standardization organization that deals with standards in all areas related to object-oriented programming and model-based development.

The solution is implemented worldwide in many organizations; the Enterprise Architect environment has hundreds of epic installations worldwide. Panda Tech is the representative in Israel and a software house that leads its assimilation in organizations.

Why should Enterprise Architect be implemented?

1. Great savings in the amount of discussions

2. A very large reduction in the cost of non-quality

3. One synchronized environment for all those involved in developing the system.

4. Implementation costs are particularly low compared to other methods.

5. Managers are exposed to real information in real time.

Panda Tech has been leading the model-driven development field in Israel for more than 10 years.