Knowledge

Knowledge is the primary vehicle for productivity and innovation across major industries, from financial services, healthcare, to manufacturing. But turning knowledge into operation is a productivity and innovation bottleneck.

Intentional Software removes this bottleneck using a radical new approach: knowledge is recorded in a form that can directly be turned into work products, including running software.

Businesses invest a great deal of time and expense developing software and other work products. But all too often the knowledge and insights gained disappear into the details of the code or at best only exist in documents with slender ties to the actual work product. Another name for this latent value is the intent behind the software.

Intentional uses a radical new approach to knowledge work: knowledge is recorded in a form that can directly be turned into running software. End users describe knowledge which automatically turns into running software accelerating or removing large parts of the software creation process. Every company has unique business knowledge that makes them competitive. This knowledge is encoded into a tangible knowledge asset of unique recorded intellectual property.

Intentional captures the tremendous latent value that is usually lost in the development process and makes it part of the software. Using Intentional the domain knowledge is captured, not lost. All stakeholders – programmers, domain experts and others – can have their intent clearly represented. This increases the quality and value of the knowledge, and making it easier to develop, maintain and change.

A Knowledge Example

Knowledge in a procedures manual of an aircraft.

Knowledge is typically captured in documents intended for human readers. As an example, the aircraft procedures manual to the right captures knowledge of how to perform aircraft maintenance. To use this knowledge, a technician has to be read and understand it. In this case, a technician will need to perform the documented steps in the  right order and use the data from the data tables and compare them to the actual measurements with tests on the aircraft.

With Intentional,  this knowledge can be captured and expressed in a knowledge workbench. The knowledge would be expressed using constructs like constraints, values, process steps, unit conversions, tolerances, etc.  The knowledge constructs required are added as a set of domain languages.  (See screenshot)

A Procedures Manual Workbench captures and expresses the knowledge in a processable way.

This knowledge can now be processed and turned into various electronic work products. One work product can be the original instruction files for human consumption. But now also other work products can be produced to facilitate and automate the use of this knowledge.

From this captured knowledge, we can generate software application. Below is an example of such and application that was fully generated from the recorded knowledge above. Note that the knowledge is now being actionable by having the test values evaluated against the knowledge in the maintenance manual. Tests with visual feedback (red/green in this case) gives a technician direct feedback instead of making this assessment manually.

Maintenance application generated from knowledge including test value evaluation.

This maintenance test application could be developed in a traditional way, but then issues with maintenance would arise. Whenever the maintenance instructions are updated, the test application would need to be updated manually. Furthermore, to verify the correctness of the application would require manual efforts. Instead by using a knowledge workbench, the updates would be automated and the application would be correct-by-construction.

Knowledge processing capability is transforming the way knowledge products are created, leading to acceleration in business innovation. To view a case study of an Intentional knowledge workbench in practice, review the case study.

Benefits

The key benefits of the Intentional approach includes:

  1. Knowledge experts participate directly in the design and maintenance of accurate and detailed knowledge.
  2. Generation of multiple accurate work products and applications.
  3. No inherent limitation on the number of platforms for generated applications from the same knowledge source.
  4. Rapid implementation of changes to domain knowledge e.g. updates, enhancements and extensions.
  5.  Customization to different markets/customers at low cost.