20/10: Communication

Category: Agility
Posted by: kirkk
If you've ever been part of a large project team, you understand the communication challenges present. Large project teams just have so much more of everything than do smaller teams. There is more code, more people, more requirements, more, more more. And all this extra stuff makes it difficult for anyone and everyone to understand things consistently. Hell, I've been on teams where I don't even know all the developer's names. And if I don't know their name, you can bet I don't know what they are doing nor how they are doing it. That's not ideal, but it's also real. And it's why we try to break teams up into smaller teams that each work together. Anyway, I've always wondered about the unique paths of communication that exist between members of a team. So I wrote a little Ruby script to help me figure it out.

» Read More

17/07: Agile Journal

Category: Agility
Posted by: kirkk
For those of you not familar, Agile Journal was launched back in March. I've had the privilege of writing a few articles for them. The first discusses open source tools for agile development. The second discusses design metrics and agile practices. And the third discusses the synergy between SOA and agile practices. I'd encourage y'all to check out the journal, which also has a number of other interesting articles.
Category: Agility
Posted by: kirkk
At a high level, the driving force behind Test Driven Development (TDD) is to create a test followed by writing code that makes the test pass followed by a bit of refactoring. It works nicely. The tests influence your design in positive ways as you work to test in isolation, while giving you the courage to refactor knowing that any changes are backed by a robust suite of tests. More interesting though, is that we are testing throughout the lifecycle. While TDD is often discussed in the context of unit tests, imagine expanding the idea of TDD to other types of testing. Integration Testing. Load Testing. Functional Testing. UI Testing. Performance Testing. Capacity Testing. Failover Testing. System Recovery Testing. Usability Testing. Security Testing. Scalability Testing. And all other types of testing you normally perform. It has some very interesting, and positive, effects on the development lifecycle.

» Read More

Category: Agility
Posted by: kirkk
Google Large Agile Projects, and you'll find a lot of discussion on both sides of the debate related to whether agile has a place on large enterprise wide development efforts. Having been there, I contend that agile doesn't just work on large projects, but large projects need agile.

» Read More

Category: Agility
Posted by: kirkk
Agility is a mindset, an attitude, a defining characteristic of a successful team. You can gauge a lot about a project by how folks react at the first sign of trouble. When new requirements surface, is the first reaction to exclaim, "These are new requirements. They are not in the specification. My estimates don't factor that work." Or is the first reaction, "These are new requirements. Good. We are making progress in determining our client's needs."

» Read More

Category: Agility
Posted by: kirkk
I live in Sun Prairie...a small town just a stone's throw away from Madison, WI. It's growing rapidly; in fact, one of the fastest growing communities in Wisconsin. With growth comes construction, and they are building roads and consuming land at record pace. This sounds very exciting, I know. But there is one aspect to this growth that has intrigued me, and that's the widespread choice to use roundabouts in lieu of traditional intersections. So what does this have to do with software development?

» Read More