Wednesday, January 30, 2008

Can I Have Your Picture?

Please believe that I am not a stalker - but I am addicted to getting my Xobni information all set up. And I know I am not alone out there that when I get a new email and see the generic no-picture graphic show up in the right-hand corner of my Outlook inbox it begs me to put something more interesting in its spot.

So if you catch me snapping your picture next time I walk by you, or searching through Google images for a likeness of you, please don't worry. It isn't that I have an unhealthy attachment to you personally - it is that I cannot stop until Xobni is fully populated. And if you do have a picture out there on the internet somewhere - I will find it.

Monday, January 28, 2008

Stabilization with Agile Development

One of the hardest things for our sales team, our project managers, our development team, and our customers to agree upon in agile development is what constitutes an acceptable stabilization period.

Let me expand. I have been in software consulting for almost 10 years now, and the hardest part of any project is gaining final customer acceptance that the project is "done." With custom software, there always seems to be another bug to fix. The customer is afraid of giving up their rights to have the undiscovered bugs fixed if they sign off too soon.

With agile development, the idea we have implemented is that there is a set amount of time after new development for the team to focus on changes or fixes from any prior iteration. We set aside one iteration for software stabilization. We set this expectation with our customers up front, and they agree.

When it comes time for the stabilization period, however, it seems that as new development tasks from prior iterations take more time than anticipated the new development tasks bleed into our stabilization. While agile touts that our customers should be able to prioritize all outstanding work - be they new development tasks or bug resolution - based on their needs, it seems that the customer always chooses to add the new development tasks and never choose bug resolution. Then, when stabilization is over and there is a list of bug fixes, the argument comes up that we did not deliver a quality product.

While I understand that this problem is all about setting the appropriate customer expectations and about working with the customer to convince them that new development tasks should not be planned in the stabilization phase, it seems that we repeatedly get ourselves into this same situation. I love the agile approach. I love the idea of working closely with our customers, and getting immediate and real feedback as we deliver working software on a regularly scheduled basis. I also think it makes sense to weigh the tough decisions with the client sponsors in order to prioritize remaing new development tasks against the agreed upon schedule - excluding the stabilization period.

However, just like I found with the waterfall process, as soon as the schedules start to slip or estimates go over, the first thing to get the ax is testing. In this case, stabilization gets the ax. And when that happens, how can we confidently deliver quality to our customer and agree that at least the first phase of the project is in fact "done?"

Thursday, January 24, 2008

Xobni is Cool

Okay - I have been getting requests to write again. The problem is, most of what I would post about is no longer directly related to C# or development tasks. I focus on IT strategy now.

However, I do have something cool to post about. One of our infrastructure consultants noticed me digging around in Outlook yesterday looking for a response to an email. He excitedly ran back to his desk so he could send me a link to a beta-release of an Outlook add-in called Xobni (or Inbox backwards).

This add-in is super cool. When I click on an email in my inbox, I now have a left-hand pane that shows me a picture of the person who emailed me (I uploaded these) along with an extrapolation of the person's contact information, a rating assigned to that person depending on how much we email back and forth, stats on what time of day I am most likely to receive an email from this person, a list of related contacts with links to their info, recent conversation strings (showing what I said, the response, what I said back, etc), and recent file attachements sent to me.

So far, I am a huge fan. Although when I ran the Xobni stats it did make me wonder what the heck I was doing in August to spike my average response time to emails to an all-time high of 35 minutes. I guess I was quite the slacker that month - oh wait...that is when I was on vacation :)