Action Driven Development

Authored by: Areg Sarkissian

Action driven development is a development process that is related to Endpoint Driven Development with the fundemental premiss that a UI action or a auto-action such as a timer expiration triggers an action event. This action event in turn changes the application state and possibly causes side effects such as making an ajax request to a URI endpoint. Upon changing of the application state, the UI is re-rendered producing a UI response.

Similar to Endpoint Driven Development, the essence of action driven development is that a user action triggers a event that performs some function and returns a response to a user. That chain of events can be encapsulated as an atomic unit of a feature and developed, tested and deployed independently.

Furthermore the process of developing a feature that corresponds to an independant action, from concept to production, meshes well with lean development practices and Kanban.

Client side application development patterns such a Redux, which has the concept of Actions that trigger state change and side effects map well to action driven development.

Note: The Action Driven Development formalization process is a work in progress.