DevOps: Why Silos Suck And How To Break Them

Divide and conquer, Caesar's strategy to break huge problems down into smaller parts, is an outdated model for structuring teams and organizations. Breaking teams apart by area like development, QA, operations, product management, etc, creates silo like divisions of labor. Unfortunately, these divisions create so many "walls of confusion" between the silos that your speed … Continue reading DevOps: Why Silos Suck And How To Break Them

Stop. Reflect. Adapt. The 3 Steps to Stop Writing Bad Code

Writing software that doesn't suck is hard - even for the pros. The problem doesn't lie in solving a hard problem, but in creating a solution which is easy to understand, robust, and easy to change. A lot of problems in teams and organizations stem from bad code. Bad code ruins the motivation of your … Continue reading Stop. Reflect. Adapt. The 3 Steps to Stop Writing Bad Code

Pragmatic Personas: Concrete Examples of Your Users

Jeff Patton's talk at agile 2009 about Pragmatic Personas is quite interesting. I've seen talks about personas way back at agile 2007 already, but, at that time, I found them quite "bulky" to use. In pragmatic personas I see more value. What is a Pragmatic Persona? Jeff defines a pragmatic persona by having a name … Continue reading Pragmatic Personas: Concrete Examples of Your Users

Sub-optimization Kills Customer Value

When we start optimizing our processes, it happens quite often that we only optimize our area of influence instead of addressing the whole process of creating customer value. When we're responsible for a software development or an operations team, we tend to optimize the process of our team. We adapt agile practices and our teams … Continue reading Sub-optimization Kills Customer Value

Agile Is About Feedback, Not About Fancy Practices

Too often people complain that to become agile they need to start using iterations, fancy story points and time boxes even though it simply does not fit the way they work. But, that's not true. Agile is much simpler than that. And much harder. In essence, agile is about fast feedback. But the feedback needs … Continue reading Agile Is About Feedback, Not About Fancy Practices

Waterfall, SCRUM and Lean Software Development simulation as teaching platform

Currently, I'm preparing for teaching my next course on Agile Methodology. Again and again, I wonder what is the single most important thing my students should be able to take with them after four full days. One of my core messages is definitely that agile is more about principles than about practices. If you absorb … Continue reading Waterfall, SCRUM and Lean Software Development simulation as teaching platform

Pair Programming: Staying within “the zone”

Today I spent the whole day debugging an elusive concurrency problem in ruby on rails running on JRuby. We start some threads during the web request and, usually sooner than later, all our database connections are blocked. Getting deep into the details of multithreading, connection pooling and the like is nothing I enjoy doing. Especially … Continue reading Pair Programming: Staying within “the zone”