Why Ampersand?

Last updated last month

The purpose of Ampersand is to help business architects deliver. Ampersand lets you design information systems that actually do what users want. It allows you to offer information systems to the business that comply demonstrably to the rules by which they conduct their business. How cool is that!

How does it work?

  1. Communicate with the business in their own language. Define a domain language to consolidate agreement of terms among stakeholders.

  2. Formalize the agreements that are relevant for the information system using Ampersand-script.

  3. Generate a real and working prototype of your information system at the push of a button.

  4. Use this prototype for walking through user stories, acceptance testing, requirements elicitations, to name just some of its uses.

  5. Use the documented ontology that Ampersand generates for a cross-check on the agreed rules.

The advantages of developing with Ampersand :

  1. Express your design in business rules to let anyone concerned convince herself that the system supports the right rules.

  2. Define your information system in a declarative language. It is not necessary to specify all business process steps, it is enough to specify the process goals.

  3. Enjoy the benefits of strong and static typing. Several scientific studies show significant effects of strong and static typing on the total cost of ownership of your design. Besides, it enables Ampersand to generate efficient code.

  4. Use relation algebra to align the IT-system to the business, by exploiting its natural language interpretation alongside its technical interpretation as working software. Your claim that business stakeholders understand (solely in natural language) what the computer does (in software) can't be made more convincingly.

  5. Develop in small increments. Add constraints, user-interfaces, relations, and other design elements one at a time. Generate a prototype at any intermediate stage, to visualize your design long before it is finished.

  6. Design subsystems in isolation, due to conceptual independence. Ampersand lets you combine subsystems into larger systems, automating the burden of combining them. Reuse design patterns to assemble systems, rather than re-invent from scratch.

  7. Document your design embedded in the specification, so you always have up-to-date documentation which is consistent with your design.

  8. Specify with mathematical rigor, without being a mathematician. Ampersand gives you correctness and consistency in return, with mathematical provability to back it up.

Footnotes