Month: January 2013

Think Less and Deliver Better Software

Simpler Is Better Why is it that many of us strive to make things more complicated? Maybe it’s human nature or maybe it’s simply because we can. Regardless, complexity is often unnecessary and it can be just plain evil at times. As the software systems we build grow more complex, the development approaches we use […]

Sprint Zero – Your Context May Vary

I’ve advocated for using “Sprint Zero” a few times on this blog and each time I get some negative feedback. I’m going to continue my crusade in this post but with a twist. Firstly, recognize that “Sprint Zero” is about ‘hitting the ground running’. That is, getting the team ready to start writing code that […]

Enterprise Projects Need to Start with Sprint Zero

The idea behind “Sprint 0” is that software development teams should spend some time at the beginning of an agile project doing analysis, design and other preparation tasks. I’m not referring to small projects — a few people for a few months. I’m thinking about enterprise projects involving multiple teams deploying to multiple servers. At […]

Don’t Ask Me What I Want, Give Me What I Need

I don’t know about you, but scenarios like the following happen to me all too often. I meet with the business stakeholders and representatives of the user community to discuss changes to a software application. We discuss new features and/or changes to existing ones. They give me a general idea of what they want. I […]

Great Agile Teams are Adaptive and Resilient

This is the sixth and final post in a series about building great software using agile techniques. The series began here. Many people, managers and developers alike, view agile development approaches like Scrum and Kanban as just another way to write software. Once they decide to try an agile approach, they quickly realize how wrong […]

Agile Teams Swarm to Greatness

They are known for rapid responsiveness and swarming behavior. This is the fourth in a series of posts about building great software using agile techniques. The series started here. I’ve said before, “Plan less, deliver more.” Others have said, “Stop starting and start finishing.” Sounds crazy, right? How can your team deliver more software by […]

Even Great Teams Need to Get Better

Constant feedback cycles are the key ingredient to continuous improvement. This is the third in a series of posts about building great software using agile techniques. The series started here. Perhaps the biggest mistake software development teams make when adopting an agile approach like Scrum or Kanban is assuming they can lay out the perfect […]

If We’re Not Agile Developers What Are We?

There are many Internet debates about what agile software development really is. Unfortunately, the term “agile” is misleading. The dictionary lets us down with definitions like “move quickly” or “think quickly”. Synonyms for agile lead us to fleet, graceful, nimble, spry or supple. Do any of those terms describe how your development team operates? Agile […]

Agility Depends on Your Ability to Learn

Guest Blog I’m pleased to have Anders Ingerstedt, founding partner of Colabpro Outsourcing Ltd, as a guest blogger today. Agile is a buzzword. It is replicating and spreading into new domains beyond technology and software development, where it originated. Agility is — no denials accepted — a good capacity in any corporate environment, as it […]