Team Structures

A main responsibility of management is to make sure that teams function well. This implies defining the adequate organisational structures and finding adequate people. The Boss Team Sometimes, the structure is easy. There’s a boss and there are employees. The boss decides how the team should function, what should be done, who should do it, and is finally the one evaluating the employees according to … Continue reading Team Structures

No More QA

Companies have traditionally organized software-related activites in three silos: Dev, Test/QA, Operations. The QA effort is realized after a long phase of development resulting in bug spikes and difficulties to plan the work for the development teams during this time. When companies were engineering software “piecewise” this was the only way. Only when all pieces were finished could you integrate them and test features end-to-end. … Continue reading No More QA

Autonomy and Microservices

Discussions about monolith vs microservice are hotter than ever. Usually, a monolith is synonym for “big ball of mud” in these discussions. It of course needn’t be so. A modular monolith is perfectly possible. Also, microservices isn’t an entirely new idea either. As some says, it’s SOA done right. The usual argument in favor of microservices is that autonomy is a good thing: teams can … Continue reading Autonomy and Microservices

The Essence of Scrum

The essence of Scrum is to ensure progress. The formal elements of the framework –the restrospective, reviews, daily standup, etc.– are not ends in themselves but ways to ensure that progress happens. It may seem simplistic to reduce Scrum to the mere fact of ensuring progress, but ensuring progress is not that easy, and Scrum is an effective tool to do it. To prove this … Continue reading The Essence of Scrum

Software And Tactics

The image of a software engineer is that of a quiet and analytical guy working in isolation on some green-on-black code. There is some truth in this image. Studies have shown that interruptions are bad for programming, and that engineers need long streaks of uninterrupted time to fully immerse into a development activity. Projects are frequently structured in modules that are owned by individual programmers. … Continue reading Software And Tactics

Thoughts About Agile

Since now more than a decade, lightweight methodologies and processes have flourished under the umbrella of the Agile movement. Despite the claimed success of Agile from daily practitioners, I haven’t seen many researches showing evidence that the Agile concepts really worked as expected; by this, I mean that Agile could still lead to reproducible success, but for other reasons that the one pushed by the … Continue reading Thoughts About Agile