Working with(-in) Structures

Most people tend to and like to work within given structures. It gives them a sense of security and - in the best case - provides the scope of responsibility matching their potential.

If dynamic structures are artifacts created by the work itself, meta structures are applied, providing the structure needed to allow productive and efficient work.

In software development, people are working within structures and with structures. The meta structures have been driven from the structures that are determined by the work results: the source code. The organization of the source code gave the template for the organization of the people working on the source code.

Since source code is primarily organized in the way that computers can execute it well, the meta structures of the software development organization are similar to those necessary to organize complex computer programs: hierarchies, processes, components, narrow interfaces (= information hiding). The problem: these meta structures and their construction principles are not designed along the needs of the human beings working within.

This is reflected in actual software development organizations:

  • managers who are not able to delegate responsibilities but only delegate work tasks.
  • employees who are focused on solving the technical challenges, but don't know how to understand their customers well.
  • processes, that can be mapped well to software tools, but neglect the needs of a learning organization.
  • poor interpersonal networking and knowledge management.

Holistic Programming is developed along the needs of the people creating software that matches the thinking and the needs of the customers and users. It is as much as possible independent from the structures the source code seams to determine. HP starts with collecting the knowledge in a mixture of free associative networks (wiki pages) and relational data structures, where the relations are much more oriented to semantic ontologies than it's the case in classical relational data bases. Especially, users are able to create data structures and data relations along their way of expressing their knowledge and within their perspective, while using already existing data and data structures provided by other users.