Saturday, October 27, 2007

The (Not-so) Agile Waterfall

For those who have read my blog in the past, you know that I am a strong believer in the Agile method of software development, and that I also believe that there is not a single "agile method" that will work for each organization. Instead, I believe that there are a core set of fundamental "agile" concepts that need to be implemented in the way that best meets the needs of each organization, and the entire organization needs to be very disciplined in adhering to those concepts. To define a single implementation of agile for all organizations is an oxymoron.

I have recently been made aware of yet another organization that says they are "doing agile" when in fact they are not. They are in fact following almost a text-book example of the waterfall method, but using agile terms such as "iteration" and calling it agile. They define every iteration up front, and lock themselves into dates when each iteration will be completed, even for projects that will last six months or longer. The development team is strictly held to meeting these dates, and product is not delivered until the end of the project.

This led me to wonder, what is the very least that can be done to consider yourself an "agile" development organization? And, what causes organizations to try to be agile, yet fall back to the old, failed waterfall methodology? Here are my answers to those two questions - I would love to hear your comments on this subject as well.

Regarding the question of what are the minimal Agile concepts that must be present: I believe it comes down to three:

1. Test-First: In order to truly have a customer-focused, agile process, you must have a test-first mentality, including prototypes that the customer can interact with. The customer must drive the functionality, and the acceptance criteria needs to be well-known before any development starts.

2. Commitment to change: The waterfall methodology locks you into features and dates well into the future, and thus creates a significant problem for keeping up with the fast-changing world of software development. Any implementation of an agile process must, by definition, not only allow for but embrace change throughout the project. This means that you cannot lock yourself into features or strict deadlines at the beginning of a long project - you can only lock down these things within an iteration or maybe two. After that. expect things to change, and build it into your process.

3. Working apps at the end of each iteration: In order to meet the ever-changing desires of your customers, you need to have a process that allows you to release a product with very short notice. The customer needs to be able to say "I decided that I don't want these last few features, I would rather have the product as it is today". An agile process needs to allow for this, and to provide working code to the customer, that could be released, at the end of each iteration. This also implies that you would deliver product every few months at the most, since most customers want their new features immediately.

As to the question of why organizations fall back to the old, comfortable waterfall, I believe it comes down to a very simple answer: metrics. Upper management likes to have nice metrics to track the progress of their organization, and the easiest metric to track is on-time delivery. If you can tie the delivery of something to a date, it is very easy to track that over time. So, executive management says "developers can use their agile methods, as long as they commit to features and dates at the beginning of the project, and meet those commitments". So, you end up with a purely waterfall method, where you lock in the features and dates up-front, but break things down into "iterations" so developers will think they are "doing agile". In the end, you wind up with nice metrics for upper management to track, but applications that don't meet customer needs because they can't keep up with the changing environment. Your customers become frustrated because you aren't delivering product frequently enough to meet their needs, and when you finally do deliver it isn't what they need anymore. Developers become frustrated because they ask why Agile isn't working to solve these problems.

So, it is the on-going fight between upper management and the front line. Upper management has come from a long career using waterfall methods, and view agile processes as the "cowboy" mentality. When we can provide metrics for upper management that show customer satisfaction with our frequently-released products that come from short iterations based on customer input, we will finally be able to break the cycle of trying agile but falling back into the waterfall.

Just my 2 cents...

Tuesday, October 23, 2007

Recovering

As anticipated, I finally turned the corner this weekend, and was up and around, albeit for a short time, on Saturday. I attended to most of my normal duties on Sunday, which made for a very busy day. I am actually in the office today (Tuesday), and plan to spend at least one more day in the office this week.

From a physical standpoint, I actually feel fairly good during the day now. I still tire easily - just walking from my car to my office got me quite winded. The only way I can think to describe how I feel is that I feel like I do when I am coming down with a flu. I don't have much energy and my muscles are sore, and my head feels a bit stuffed. But, I am up and around and attending to normal duties - for the most part. In the evenings I still tend to drop a bit, and have to get into bed quite early. Interestingly, I tend to have severe heartburn each evening. Once it goes away, I can rest through the evening, and by morning I am feeling better again.

I will go in for the post-chemotherapy test tomorrow, and will get the results next week. We will then know what the next few weeks will hold. Until then, I expect to feel just a bit better each day, and hope to spend 3 or 4 days in the office next week. I anticipate that by the first week of November I should be back to full activities.

I want to thank everyone who has kept me in their thoughts and prayers. There is a real power there which I have felt and deeply appreciate. I expect that I will return now to my high-tech focused blog entries, with probably one more update on my condition after my visit next week with the doctor.

I have heard that once you are diagnosed with cancer you view your life in two parts - the life before the cancer, and your life afterwards. I am excited to now begin my life after cancer...assuming the test shows that it has been eradicated.

Tuesday, October 16, 2007

And now we wait...

I have completed my final week of prescribed chemotherapy. We now enter the "wait and see" phase, where we will find out if we have successfully eradicated the cancer or not. It will be a couple of weeks until we know. Again, I seem to be on the fast track - I know of others who have to wait 6 months before they knew if the chemotherapy worked or not. It is surprising how much different the treatment is for each type of cancer.

As for my condition, this past week has been very difficult. From about Wednesday of last week, things have been rough. This time I am not only very weak and fatigued, but I have been very sick as well. It has been tough to keep food down, and we are a little worried about dehydration - but my wife keeps forcing me to drink fluids. I quite literally haven't left the bedroom since Friday, and today (Tuesday) is the first time that I am sitting up in bed for more than a few moments at a time. I have been sleeping quite a bit, but it is not easy to get comfortable - my body aches all over.

They tell me that I should not expect to rebound too quickly from the treatments. Since it took 7 weeks to drag my body down to rock bottom, it could take just about as long to completely recover. My plan is to take the rest of this week very slowly, and not try to jump up and move around too quickly. I hope to be back to semi-normal activities next week, including finally getting back to the office for at least a couple of half days. If all goes well, I will be feeling back to normal before my favorite holiday - Thanksgiving. And, of course, I am really looking forward to finally getting to a BYU football game this season - so far, I have given away all of my tickets. As long as I can make it to the BYU - Utah game, all will be well...

Sunday, October 7, 2007

Heading into my final week of Chemo

As I prepare to head into what I hope will be my final week of chemotherapy, I am surprised at a couple of things. First of all, it has only been 6 weeks so far. That seems like such a short time, but looking back on my experience, it feels like much longer. It seems as though I have been going to the cancer center for years. Of course, the daily blood thinner shots for the past two weeks have not helped that impression. In reality, 6 weeks is not long - and if this is indeed my last week, it will have only been 7 weeks of chemotherapy. That really is not long at all.

The other thing I have been surprised by is how badly I have felt this past week. At the end of my first cycle, I was feeling almost back to normal. I felt fairly good as I started into my second cycle. I thought that this week would be similar - but I was mistaken. I kept thinking I would feel better, and would get back to normal (almost) before starting my last cycle, but it never happened. As a matter of fact, there were a couple of days this past week when I could not clear my head all day - I woke up feeling drugged (although I hadn't taken anything except Tylenol), and simply couldn't get out of that "groggy" state all day. There are hours of those days that I cannot remember - I believe I fell back asleep.

So, I am not very optimistic about this coming week. If I am feeling this weak now, I expect that I will start to feel the effect of the chemo this week much faster than I did before.

Some friends have told me of the relationships that they made as they went through treatment, and how they heard stories from others about their experiences. I am really not a very social person, and am much less so these days, so I haven't talked to many of the others in treatment. I have gotten to know the nurses quite well, but not the other patients. I usually try to find a chair in the back, close to the network connection, and stick to myself. My wife is usually there for the treatments, and we talk - if I am not sleeping.

The other thing I am not looking forward to this week is getting stuck with a needle every day. My PICC line was removed due to the blood clot, and since I only have one week left, it didn't make any sense to try another one in the other arm. And we know from the first cycle that my veins won't handle two days in a row (my arms still have evidence of hardened veins from the I/V 6 weeks ago). So, I will just get a new I/V in a different vein everyday this week. Dang.

On the positive side, the doctor did tell me that my blood test showed decrease in the cancer markers, which is the only indication thus far that the treatments are working. A few more weeks and we will have a much more definitive test. Until then, I have one week of chemo, and then try to get back to normal.

Thursday, October 4, 2007

The Light at the End of the Tunnel

We are heading into my last cycle of treatments. I found out today that I am now done with the weekly shots, so my last cycle will consist just of the full week of chemotherapy, then two weeks of "waiting period". I will then have another PET/CT test to see how much of the cancer is left. We should know by the first week of November where we stand, and whether there will be a need for radiation treatments or not.

Regarding the blood clot; my pills haven't kicked in yet, so I remain on the daily blood thinner shots through at least next Monday - which makes almost two weeks total. We have increased my dosage of the blood thinner pills, so the hope is that by Monday we will determine that I no longer need the shots. I hope this is the case, as I really don't like those shots. They have to inject them into my stomach, and it stings for about 5 minutes afterwards.

All in all, this has gone relatively well. I expect next week to be the toughest yet, and the following week will probably be not much better as I try to recover from the chemotherapy treatments, but then it should be all downhill from there.

Indeed, I can now see the light at the end of the tunnel.