<<< Previous speaker Next speaker >>>

Jay Fields, ThoughtWorks

 Jay  Fields Jay Fields is a software developer at ThoughtWorks. He is a early adopter who is constantly looking for new exciting technologies. His most recent work has been in the Domain Specific Language space where he delivered applications that empowered subject matter experts to write the business rules of the applications.

Presentation: "Business Natural Languages"

Time: Thursday 13:00 - 14:00

Location: Abbey Room

Abstract:

Since the introduction of computers to the general workforce businesses have searched for a solution that will enable subject matter experts to specify the business logic of an application. This solution is highly sought after since it will allow the application to be changed without the assistance of a programmer. Programmers are still required to create the application; however, the application is written in a way that empowers the subject matter experts to maintain the business logic.

Enabling the subject matter expert greatly increases efficiency of maintaining an application as the needs of the business change. Using a Domain Specific Language (DSL) is the most recent solution to this problem. A Business Natural Language is a Domain Specific Language; however, not all Domain Specific Languages are Business Natural Languages. Business Natural Languages use natural language to represent business logic. Business Natural Languages are expressed as descriptive and maintainable phrases. For example, a marketing executive for an airline could specify point award descriptions as: award 1 point for each mile flown where the total flight length is greater than 500 miles award 500 points for each flight where the total flight length is less than or equal to 500 miles Any domain expert, with no explanation required, can read a well-written Business Natural Language as if it were simply a phrase specifying logic. The previous airline example appears to be a specification written by a business analyst. The specification could be used to describe business logic to be implemented in a general-purpose language. However, when using a Business Natural Language the above example is a specification, but also much more. The above example is executable code, which will be used to determine point allocation after each flight flown. The above example is also documentation of the business rules contained in the point allocation application. And, the above example can be used to formulate a test case to verify the system works as expected. Business Natural Languages allow you to specify, in one location, exactly how your application should work.