Agile

Let them submit a bug report for that

This is a story from a recent planning meeting that we had. One of the developers was explaining how he is implementing a certain feature, and he went over a potential problem that we would have. That problem is a potential one, because it would only show up if we extend the project in a certain direction, which isn’t currently planned. My response for that was: “Let the users submit a bug report for that if it happens”. It is a cruder form of YAGNI.

posted @ Thursday, August 20, 2009 12:10 PM | Feedback (15)

Code Ownership also mean Code Responsibility

I recently reviewed a code base. Nothing unusual about that, I do this all the time. But this is the first time that I actually had a migraine from reading a codebase. I talked to a couple of team members about that, and the name of a previous developer came up repeatedly. That developer is no longer on the team, however, and has no input on the way it currently works. Moreover, the code base is pretty small, and the team had had sole ownership of that for months by this time. Here is a small piece...

posted @ Tuesday, August 18, 2009 11:48 AM | Feedback (22)

A note to Microsoft: Agile or open source doesn’t excuse it being crap

I explicitly don’t want to go over the exact scenario that this is relating to. I want to talk about a general sentiment that I got from several people from Microsoft a few times, which I find annoying. It can be summed up pretty easily by this quote: You all know that we work on the Agile process here, right? We get something out (perhaps a little early) and then improve it. Codeplex is for open source and continuous improvement with community feedback. The context is a response to a critique about unacceptable...

posted @ Sunday, January 25, 2009 12:21 AM | Feedback (21)

The tests has no value by themselves: My most successful project didn't have any tests

In DevTeach, we had a panel that Kathleen Dollard has covered in depth, in which we talked about what the bare minimum aspects of Agile project would be. The first thing that was thrown up was testing. That is quite predictable, and I objected to that. One of the things that bother me about much of the discussions in the agile space is the hard focus of tests. Often to the exclusion of much else. My most successful (commercial) project was done without tests, and it is a huge success (ongoing now, by the way). A previous project had tests,...

posted @ Sunday, December 21, 2008 5:14 AM | Feedback (21)

What questions should you ask at the beginning of a project?

Regardless of the actual project, I usually ask the following questions. Scalability Requirements - How many users are we expecting? Expressed as users per day. As part of that, however, we also need to consider spikes in traffic, and if we need to handle them. Distribution Requirements - How many data centers are we going to run on? How many machines?Numbers I want to hear: 1, a few, lots. Security Requirements Authorization Requirements - Role based? Data driven? Dynamic? Rule based? Sensitive data - Do we store any? If so, how secure do...

posted @ Friday, November 14, 2008 8:58 PM | Feedback (12)

Reducing the Cost of Change

The concept of reducing the cost of change is a one of the core values of agile practitioners. In essence, it boils down to being able to make changes when we want them. Practices such as TDD and Iterations enable us to actually make changes without attaching a high price point for them. Some tools make change much easier than others. Using NHibernate, I can evolve my data model (and notice that I am explicitly talking about data models, not domain models. This is using NHibernate just for DTO mapping) much more rapidly than if I am using SP or...

posted @ Thursday, November 13, 2008 5:49 AM | Feedback (15)

That Agile Thing

Agile introduction is an interesting problem. One that I have learned to avoid. I am not feeling comfortable standing up to a business owner and saying (paraphrased, of course), "if you will do it my way, your life will be better". At least, not about development methodologies, I have no problem saying that about techniques, design or tools. The reason that I don't feel comfortable saying that is that there are too many issues surrounding agile introduction to talk confidently about the benefits. I usually never mention agile to the customer at all. What I am doing, however, is insisting...

posted @ Saturday, September 20, 2008 10:04 PM | Feedback (12)

Test Once: The other side of continuous integration

I am sharing this story because it is funny, in a sad way. And because I don't post enough bad things about myself. I also want to make it clear that this story is completely and utterly my own fault for not explaining in full what we were doing to the other guy. A few days ago I was pairing with a new guy about some code that we had to write to generate word documents. We run into a piece of code that had fairly complex requirements. (string parsing & xpath, argh!) I thought that this would be a good...

posted @ Friday, October 19, 2007 10:38 PM | Feedback (2)

Fixed bids, agile projects

Jeremy Miller is talking about agile adoption, and he raised the issue of fixed bids in agile projects. Fixed money, fixed time, fixed scope projects are the ones that are easiest for the bean counters to work with. You pay X$ you wait Y months, you get Z features. If the other side fails to hold their end of the bargain, you start reducing X$. Easiest for bean counters doesn't mean that it is easiest for the software project itself. The problem is that not RFP that I have seen is close to detailing all that the customer wants, and...

posted @ Sunday, September 02, 2007 10:11 AM | Feedback (9)

Maintainable, but for whom?

Jdn is making an excellent point in this post: Okay, so, TDD-like design, ORM solution, using MVP.  Oh, and talk to the users, preferably before you being coding. One problem (well, it's really more than one).  I know for a fact that I am going to be handing this application off to other people.  I will not be maintaining it.  I know the people who I will be handing it off to, so I know their skill sets, I know generally how they like to code. None of them have ever used ORM. None of them...

posted @ Sunday, June 17, 2007 12:22 AM | Feedback (38)

If you twitch, it is complex

I had a funny moment today at a meeting, here we were, calmly analyzing what we need to do, when the client has said the Wrong Thing. "We need to add XYZ to the search page". Me and a coworker had a simultaneous twitch at this. I felt like jumping up in slow motion and screaming "Noooooo!!!", like in a bad cop film. The search page is undoubtedly the most complex piece of the application. Just the UI portion of the result grid alone was took about two days to build. A quick calculation showed that we have ~15 classes that...

posted @ Friday, June 15, 2007 1:44 AM | Feedback (3)