Category: Agile

  • The constraints of everything

    in

    To build a pyramid, you need resources like employees, tools, and huge rocks.

    And then you need time. Even with unlimited resources it will take time to build the pyramid, although more resources might reduce the time.

    Then there’s the target – what sort of pyramid is to be built. The effort to build a one-tomb-without-a-bathroom -pyramid is less than the effort to build a five-tombs-with-three-bathrooms-and-a-kitchen -pyramid.

    Finally, how well is the pyramid to be built. It’s less effort to build a pyramid that isn’t quite well built. It takes effort to make the rocks fit nicely to each other, and to assemble them well so that there’s no gaps in between them.

    Same restrictions apply to everything. Resources, time, scope, and quality are harsh constraints – if they’re not in a balance, the outcome is not what was wanted. Software development is not any different.

    Question is, which one(s) to sacrifice? And whether this is a philosophical question or not?

  • Scaled agile or shrunken waterfall

    in

    As agile gained popularity, for example with the popularity of scrum framework, people started to realize that it is not that simple to apply agile frameworks in a corporate world. One of the biggest problem was, of course, what to do with all the project and program managers.

    That’s why god created scaled agile frameworks and the managers had jobs again.

    But are such frameworks really agile frameworks as they tend to fix the content, the resources, and the schedule for a quite a reasonable time. It does not sound that agile – but it isn’t quite the text-book waterfall either.

  • Scrum in a nutshell

    in

    One of the most popular agile frameworks is scrum. The holy trinity of scrum is the team, the events, and the artefacts. Amen. The team works on the artefacts while following the events. A sprint is planned by crafting a sprint backlog, that is worked on by the team during the sprint, and after the sprint a review of what was done is held and a retro of how the team operated during the sprint is kept. And then repeat.

    Meanwhile a visionary, the product owner, keeps a product backlog neat and tidy, making sure what is done next is the most valuable thing to do. The product backlog is then used as the input for the sprint planning.

    Simple, right? In an ideal world, the outcome of scrum would be a working, evolving, product that is created by a small team, with intimate interaction with the customers. After all, scrum is an iterative and incremental framework.

    What about in practice? We’ll get back to that in some later posts.

  • What’s agile?

    in

    Agile is a synonym for nimble. Move along, nothing to see here.

    In the tech world agile is a term that raises feelings – both in good and in bad. Many of the tech guys have personal experiences and opinions related to the term. It could be, that even the author isn’t completely objective.

    It’s easy to use the term agile as a plain category for Kanban, Scrum, Water-Scrum-Fall, and all the rest. But agile is an ideology, whereas the latter are frameworks. And maybe the agile bible, The Agile manifesto, fills the minds of the readers with beliefs of agile being only about software development.

    In a bit more vague definition agile is an ideology of how to operate in complex or fast changing environments, where either a plan just can’t be made or a plan would be outdated before it can be applied.

    Agile is about accepting uncertainty, welcoming change, and efficiently maneuvering through the unknown.