• Agile and Incremental Design: Part IV

    What is Agile Design? An Agile approach to the design, test and development of software exploits feedback loops which are kept intentionally short. Here the design is performed iteratively and testing, through BDD (Behaviour Driven Development), is allowed to influence design and coding. Feedback loops are present and used. In fact design, testing and coding…

  • Agile and Incremental Design: Part III

    How did we get here? A little History Architects traditionally worked in a gated environment where they delivered their work through documents that contain the definition of an architecture, or design. These documents are painstakingly reviewed, because errors that slip through this phase are expensive to fix in later phases. Along with useful statements, review…

  • Agile and Incremental Design: Part II

    Architects and designers as stakeholder managers   The architecture, or design has a number of stakeholders who each have a set of needs.   Who Description Relationship Business Owner The customer we are working for. This is where the needs come from. This business owner is mostly connected to the product owner, but a number…

  • Agile and Incremental Design: Part I

    What is just in time rigorous architecture? Introduction When people begin using the Agile approach to software development, they are confronted with  the idea of incremental or just-in-time design. This feels strange to people who are familiar with the more traditional Big Design Up Front (BDUF) approach, where design work goes through a series of…

  • Event or Activity

    We often work with people who have come from a waterfall or gated environment. They have a built in idea that requirements, design, coding, and testing (etc) are phases. These phases have clear start and end events, in theory. When I discuss these matters with them, i explain that these phases are in fact activities…

  • But is it Science?

    The world of software is a science? An Engineering disciple? A world of freelancers and hackers? Or something else? Is it a science? The Scientific Method (Condensed from Wikipedia) The scientific method seeks to objectively explain events in a reproducible way. A hypothesis is put forward (If we do this, then we get that) and…

  • Beginners Mind for Execs

    In the beginner’s mind there are many possibilities, in the expert’s mind there are few. Shunryu Suzuki For a number of reasons, the world of Agile borrows thinking from the world of Martial Arts. An example is Shu-Ha-Ri, the phases of learning called copy, adapt and master. While this is an approach to learning, there…

  • Estimations, a blog from the past

    As part of my previous work at HP, I had been working at defining the approach to preparing and estimating features and user stories in one of my client’s projects. Here these stories are prepared through the early discovery events and progress through demand to the development teams. This post describes the estimations that were…

  • A Pilot to see where we are going

    When looking to setting up an Agile pilot we need to do some end-to-end thinking. Agile trials are often small teams set up to test the Agile principles, the purpose of which is to provide evidence that Agile should be considered for a larger roll-out. So we take a group of people and train them,…

  • Beginner’s Mind

    In the beginner’s mind there are many possibilities, in the expert’s mind there are few. Shunryu Suzuki For a number of reasons, the world of Agile borrows thinking from the world of Martial Arts. An example is Shu-Ha-Ri, the phases of learning called copy, adapt and master. While this is an approach to learning, there…