Simply stated, the paper is all about Presenter First, a newly adopted coding scheme that is customer-centered. I say this because the coding is entirely based on the customer needs, which it seeks to answer directly in a bid to ease the understanding of the codes. The main problem addressed in this paper has to do with the design and testing of codes that make up a program, probably before implementation. More precisely, this paper addresses the move to seal the large gap that has existed between codes that make up software and users of this software. This persistent gap has caused under-utilization of available software because users fail to understand most of its components.
The presenter first focuses in providing a test-driven environment for coding to ensure the codes are bug free and understandable. This it does by rephrasing all user stories that require coding to include the when phrase, making coding easier and testable. It’s a scheme that works at all platforms and can be used with almost all languages; ruby, C#, C and Java. It reduces the complex applications into understandable bits that are not so unique to the usual language used in normal cases. However, it’s worth noting that the use of the term “when” in presenter first is not like in the normal use.
When coding in presenter first, the presenter is written first, (from where the name was drawn), and then other details are added later to suit the problem at hand. Despite being customer-oriented, phrases and semantics are ignored at the initial stage when The Presenter is being created. This is so because not all customers may remember to apply the phrase “when” at all times and even in places where it’s necessary. Other details are later filled into the left blanks until the customer is fully satisfied with the job done.
Research reveals that presenter first has been successful in eliminating the complex nature of most codes. It’s also indicated that different languages work best in some cases than others. For example, it’s clear that Ruby programming languages does well for user stories that may require the use of examples within them. This has been tested and proved but is not a limitation to using other languages for the same purpose.
It’s also true of existing literature that almost the entire happening of an application that applies presenter first is a response to a user action. It further states that the existence of The Presenter First aims at defining the user intentions and expectations of a code. This is not the same as others that seek to keep the coding rules and policies. Though not stated, such an argument may be an indicator that presenter first goes against the rules of programming as concerns linguistic bias.
Prior literature termed the linguistic unbiased nature of presenter first and its failure to remain code-oriented as an embarrassment to the invention. This is mostly attributed to the use of the term “when” between codes. This article comes out clearly to counter such arguments and attributes such as a unique feature that makes the code purposeful and meaningful to the user.
So many discoveries are made by researchers of this article that could be used to further improve the presenter first scheme. Some include the independent nature of the model and its view, this suggests a modular like approach that is easy to build, test and use. This paper also addresses some unnecessary bits in the design that need to be eliminated to save on time and resources. Further research is, however, needed to address expandability of this scheme and its compatibility to other platforms.
Crosby, D., & Erickson, C. (2007). Software development using Presenter First. Better Software , 1 (1), 16-22.