Archive for the ‘General Stuff’ Category.

Interruption Driven Development

Here is a link to a nice little article on the idea of Interuption Driven Development by Vikas Hazrati at InfoQ: Interruption Driven Development

Vikas discusses the situation where a team needs to work on unplanned bug fixes and other “emergencies” during a Sprint thereby diminishing the value of following the Scrum methodology.  Here is the situation he describes:

Scrum talks about having minimum disruptions during the sprint so that the team can work effectively in achieving their target. The Scrum master, is responsible for removing those impediments which might hamper the velocity of the team. However, in a practical situation, when the team is churning out deployable increments of functionality, they have to support production issues along with new feature development. These interruptions, might seem like a disruption to the team but they are important impediments to the system users and the product owner. The product owner, would not see any value in adding new functionality to the system if the existing system is not working fine.

He covers a few approaches to dealing with this scenario.  It is a good, quick read.

Another metaphor for Technical Debt: Deferred Mainentance

There are a number of blog posts, books, and articles that discuss the idea of “Technical Debt” in a software project. One good (and short) article on the subject is Technical Debt at Martin Fowlers bliki. (He attributes Ward Cunningham with coining the term in 1992, so this is nothing new). I’ve also heard various presentations at conferences and developer group meetings that covered this idea as well, and I find it useful as a way to think about a harmful practice that is prevalant in software development.

Here is my attempt at a description of Technical Debt:

Technical Debt is the accumulation of bad code and design that degrades the quality of a project in such a way that it is harder to maintain, enhance, and support. (That is, the code has become more rigid, fragile, opaque, and so on - which are design smells as presented by Robert Martin in his Agile Principles, Patterns, and Practices books.) Continue reading ‘Another metaphor for Technical Debt: Deferred Mainentance’ »

Mock Objects at XPSD - April 3rd, 2008

Jason Kerney and I are going to once again present our NMock2 Exploratory techniques presentation.   This time at the XPSD meeting on April 3rd.

See their site at XPSD.org to get the details on the group… or just read this which I just copied from their site:

Meeting Information & Location

XP San Diego meets the first Thursday of each month to informally discuss and exchange ideas. We feel we learn best from our peers, the merely curious, active practitioners, as well as experienced consultants, when they share their skills, knowledge, concerns and experiences. We encourage everyone to participate in our monthly forums and learn something new. We meet on the SAIC Corporate Campus from 6 PM to 8 PM; 10260 Campus Point Drive, a.k.a. Building C, in the fifth floor conference room. Please find parking on the street and check in with security in Building C before heading upstairs. See our mailing list (http://groups.yahoo.com/group/xpsandiego/) for more information.

Here is the synopsis of our talk:

“A Little Taste of NMock2 For That Smooth, Relaxing, Unit-Testing Flavor”

We’ll explore how the NMock2 library makes it easy to remove dependencies and test behaviors in unit tests, allowing you to quickly set up tests that confirm your code does what you want it to be doing.

This code-intensive presentation covers the motivation for using Mock Objects, and once we have covered the basics, we’ll show our unbelievably effective technique for using dynamic mock objects as an exploratory discovery tool for introducing characterization tests for “legacy” code (that is, code without sufficient tests as described by Michael Feathers).

NMock2 is a free, open source dynamic mock object library for .NET that can help you isolate the target and test only the localized functionality. This is very easy to do, and you can be up and running in just a few minutes. Mock objects can give you years of trouble-free pleasure that you otherwise miss out on if you don’t come to this presentation.

I hope that you can make it, or to some future meeting of the XPSD.  I always learn a lot at the XPSD meetings - the people that show up are among the best XP/Agile folks in the country. 

 

SoCal Code Camp - Excellent Weekend

The Fullerton Code Camp was a big success, as far as I could tell.  I attended at least 4 or 5 presentations (besides the ones that I as presenting myself) and was impressed with the quality of both the speakers and the content.  Unfortunately I could only attend a few of the dozen or so I wanted to see.  Here are a few short reviews of sessions I was able to see: Continue reading ‘SoCal Code Camp - Excellent Weekend’ »

Speaking at SoCal Rock & Roll Code Camp

I’m doing 3 talks - maybe more - at the SoCal Rock & Roll Code Camp this year January 27 & 28th, 2008, at the Cal State Fullerton Campus. 

Agile Development Basics  - In this presentation I cover the Agile values and principles, as well as the a little about why we need something like Agile.

A Quick Introduction to Scrum - Here I’ll present the who, what, and how of Scrum.  Scrum is one of the most common methodologies for managing an Agile effort.

Agile Coding Techniques for Legacy Apps - This talk shows various techniques for introducing unit tests and micro tests into an application that has insufficient tests. 

Last year the Code Camp was a lot of fun with a lot of great presentations and get-togethers with fellow developers.  I’m looking forward to seeing everyone again and learning a lot of new, useless stuff.

Agile, and other stuff?

Okay.  I guess I am going to have a blog, at least for a while.