Lean

Work Prioritisation vs Stack Ranking

Why is it that modern software development processes prefer stack ranking over priorisation? There is a simple answer – and isn’t (just) the simplistic “everything will be raised as a Priority 1” that you usually hear. The fact is, there will be multiple Priority 1 (P1) items – and without stack ranking these, implicit decisions […]

Sources of Risk

In software development, there is a simplistic model that says that risk is a function of time, or money. Lots of graphs have been published to show that as the duration of a project increases, so does the risk… or as the cost of the project increases the risk goes up. Of course, in many […]

Introduction to Aspects

Aspects are a mixture of management theory, software craftsmanship, communities of practice, apprenticeships, and the software foreman model. The essence of management is that it is based on fundamental assumptions about human behaviour. Douglas McGregor highlighted two of the most prominent assumptions back in the mid twentieth century and they still prevail today (Douglas McGregor, […]

X-Agile vs Y-Agile

Agile software development is a natural sub-set of Theory-Y thinking*, from “Individuals and interactions over processes and tools”, to principles such as: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. … and: The best architectures, requirements, and designs emerge from self-organizing teams. […]