Automated Acceptance Tests for Engineering Design (Executable Specifications)

Posted by Adrian Smith on August 07, 2008

Acceptance tests define exactly what stake-holders expect of a system and are therefore a critical part of the system specification. Automation of these tests has gained popularity within the agile software community, following the success of Test and Behaviour Driven Development, and are commonly referred to as Executable Specifications. The popularity has given rise to the development of a number of software tools that support the definition and execution of acceptance tests. As you would expect, there are also a range of engineering tools that support automated design verification. However, there seems to be some fundamental differences between the two approaches and a potential opportunity to improve engineering design by applying these software based techniques.

Continue reading…

Applying Agile Principles to Traditional Engineering Design 2

Posted by Adrian Smith on January 20, 2008

Agile software development methods evolved as a reaction to traditional project management methods that focused on documentation, change control and the linear execution of tasks. Agile methods recognize the complex and highly non-linear nature of software development and address the associated risks by encouraging a range of working practices. While these practices are well accepted within the software industry, they have not yet permeated into the more traditional engineering design disciplines found in the aerospace or automotive engineering industries. The following considers the how some of the main agile principles and practices associated with Scrum, eXtreme Programming and Test-Driven Development, could be applied.

Continue reading…