For some time now, Ivar Jacobson and his colleagues at SEMAT have been developing what they call Essence. Essence is a set of language and idioms used to describe software engineering practices and methods. It also consists of the “kernel for software engineering”. In a new article published at ACM QUEUE magazine, they claim that this kernel will allow to accommodate to existing software engineering practices (waterfall, agile,…), and at the same time provide grounds for a new software engineering that is aware of the “craft” involved in software engineering. The kernel is “universal” and consists of three parts:
- A means for measuring the progress and health of an endeavor.
- A categorization of the activities necessary to advance the progress of an endeavor.
- A set of competencies necessary to carry out such activities.
The goals of Essence align well UQASAR’s mission. We will deliver a quality assurance methodology and tool to keep stakeholders informed of the software development process. The progress and, specially, quality will be the reflected through metrics collected from already available platforms. Essence brings alpha state cards for different dimensions (team, work, way of working, opportunity, stakeholders,…) that they call alphas. These cards provide an easy method to communicate the status of the project to stakeholders that may not know much about software engineering. As such, they could be of great value for a platform that intends to bridge developers’ metrics to management positions and clients.
In SEMAT’s Essence document, software quality assurance seems to be a taboo issue, and they have talked about “health of an endeavor” rather than about SQA. Part of this health control there are activities related to testing done during the development phase, while the progress control belong to testing done against client’s requirements. Thus, adopting Essence in a company should not change the current SQA practices, if only change the reporting to fit into the work scorecard.
In summary, SQA experts should be aware of the changing landscape surrounding software engineering methodologies, but not worry much about new software engineering practices, their reporting and testing skills are still very much needed to produce quality software.