Archive for the ‘Agile Development’ Category

Thoughts from the Agile 2007 conference

Wednesday, August 22nd, 2007
  • Appreciations to the conference organizers. They work hard.
  • I was very impressed with the breadth and quality of the experience reports. I attended several and found interesting observations and learning’s from all of the speakers. We need more of this.
  • www.ript.com looks promising. Not really sure how I’d use it, since I’m not the target market, and the product team seems to have done their homework. But, I’m playing around with it a bit to see how we might be able to work.
  • I saw a demo of Thoughtwork’s mingle. I was really saddened by the poor use of screen real estate. My non-scientific analysis of the screens suggested that more than 50% of most of the screens was devoted to labels or whitespace. We know more about usability than this. Which brings me to a really crucial tools rant: I find current approaches for representing complex project structures (multi-project status, multi-release/fielded product status, inter-dependencies) inadequate, at best. Who will create the really killer status app?
  • Coolest shirt? Viva Agilista! From the Yahoo! team. And yeah, I got one.
  • Coolest Chotchki? My vote still goes to the Rally mini-coopers.
  • Best badge bling? Enthiosys, of course!
  • Super snack? Dried fruits and nuts. So much better than the standard stale greasy cookie.
  • Lots of energy (thankfully!) about portfolio management. I’m guessing that the PMO panel (myself, David Anderson, Liz Barnett, and Neil; moderated by Todd Little) drew at least people 200 people, with a lively discussion of prioritization schemes and funding options.
  • I’m proud that our experience report (with Peter Hodgkins from VeriSign, located here) was so well received. Pete did a great job of framing quality levels, which we thought would create some interesting discussion, but seemed to be mostly received as good common sense. Which it is.
    I can tell I’m getting older because it took me longer to recover from the late night meetings. Where we talked about agile things, of course. (This last comment in case someone from work is reading).
  • The conference was too long. Too many tracks and the mechanism for finding what you really wanted was atrocious. I’d prefer a shorter, more focused conference.
  • The Conference Within a Conference (CWAC) had the most interesting discussions. I should have hung more with that crew. I will next year.

OOP 2007 Conference Feedback

Tuesday, March 6th, 2007

OOP 2007 Conference Feedback - I gave a tutorial and a keynote at the SIGS-DATACOMM OOP Conference in January. I was really honored to be asked to speak at this conference, as it was my first ever invitation to speak in Europe. The trip was a bit challenging because of the terrible weather, but the German people were so warm and inviting that I felt right at home. Perhaps my favorite story was that on Wed Jan 24th I needed to take the train from Munich to Heidelberg so that I could teach some Innovation Games(R) classes to staff members and friends of the SAP Design Services Team. Unfortunately, the original train was cancelled. I was lucky to find myself befriended by a German woman (from Brazil, no less!) who was also traveling to Heidelberg. Seven hours and three trains later — I was in Heidelberg.

Another great memory of the OOP conference was that I was invited by the conference organizers to attend a special reception dinner on Monday evening Jan 22nd. At the dinner we had a lively discussion about the pros/cons of changing the name of the conference. Like so many other conferences, the OOP conference has evolved substantially over the years. Yes, objects are still important, but so are many other facets of software development, all of which are covered at the OOP conference.

Should the OOP conference change its name? This is a tough branding question. Delegates from prior years know that the conference covers many topics. The concern, though, centers around new delegates: Will they be put off by a conference with “OOP” in the title if they’re looking for something about agile or product management? In the end, I told the conference organizers that I think they had already made up their mind to change the name of the conference and that we were really discussing “when” they should change the name and not “if” they should change the name. They smiled when I said this. I then told them that I agreed with their decision, and that in this case changing the name seemed like a sensible thing to do.

Here is my conference feedback, received today from Wolfgang Reuter, the very helpful and thoroughly organized Conference Organizer. Click here for the Excel feedback form.

——————————–

Luke,we would like to thank you on behalf of SIGS-DATACOM for your participation at OOP 2007 in Munich.

The initial feedback we received from our delegates was very positive.

Enclosed you will find the evaluated feedback forms of your session.

Many thanks again from the whole SIGS-DATACOM team

Wolfgang

——————————————————

Wolfgang Reuter

Konferenzmanager

Conference Manager

Tel. +49 (0)2241/2341-211

Fax: +49 (0)2241/2341-199

wolfgang.reuter@sigs-datacom.de

www.sigs-datacom.de

Aktuelle Veranstaltungen / Upcoming EventsSIGS-DATACOM GmbH - Geschäftsführer: Günter Fuhrmeister Sitz des Unternehmens: Lindlaustr. 2c, 53842 Troisdorf

Registergericht: Amtsgericht Siegburg, HRB 6552

Weekly Project Tracking in Agile Projects

Tuesday, February 6th, 2007

One of the great virtues of agile methods is that they provide near real-time feedback into the status of the project. At the end of the iteration (or sprint) you know exactly where you stand, and you know which items from your iteration / release backlog have reached the “Done, Done” status of potentially releaseable software. When coupled with velocity and burn-up / burn-down charts, many agile teams think that they everything they need to properly communicate their status to the rest of the organization.Unfortunately, they’re wrong.  While it is certainly important to communicate velocity metrics, burn-up/burn-down charts, and the status of individual backlog items, a well-designed agile status reporting infrastructure communicates several additional and critical pieces of information.

I believe that a status report should serve the following goals.

  1. Publicly and openly communicate the status of the development to the organization in a way that is consistent with Agile practices and helps other groups within the company accomplish their job(s), most notably preparing for the release.
  2. Identify and track dependencies so that the organization manage the overall portfolio of projects.
  3. Identify and track project risks and associated risk mitigation strategies.
  4. Formally track agreements that affect the release.
  5. As needed, track and communicate resource used by the project.     

As you consider these goals, you might reflect that most of them have nothing to do with “agility” and instead have everything to do with sound principles of project management. 

These goals, however useful, mean nothing if the team is unwilling to regularly create and communicate status information. This can be a legitimate point of concern — if you’re spending more than 15 - 30 min a week generating status reports, something is wrong. I’ve long felt that status reports are generated most enthusiastically when:

  • They provide value to the person and/or team creating the report.
  • They are generated relatively easily using the tools that the team is already using to monitor progress.
  • Taken together over the life of the project / history of the release the status reports tell the abbreviated story of the project.  

This means that whatever tool that you’re using to manage and track your project should provide a means to output status information in a simple and straightforward manner. Ideally, this tool is the sole repository of information, so that merely accessing the tool is all that you need to communicate the status of the project.  

Agile 2006 Conference Feedback

Monday, January 15th, 2007

Here is the feedback I received from the Agile 2006 Conference. This is the entire email I received.

—————————————————————

Dear Luke,

Please find below the feedback on your tutorial at Agile2006. We hope you consider proposing a session for Agile2007 in Washington DC.

Our call for participation can be found here:
http://www.agile2007.org/index.php?page=submissions/tutorial/tutorial
and the deadline for submissions is January 26th.

Best regards,
Rachel Davies

Agile2006 Session Feedback

Title: Innovation Games Session id: TU8 Leader: Luke Hohmann
Strongly Agree Agree Neutral Disagree Strongly Disagree
1. The presenter/leader was well prepared 26 3      
2. The presenter/leader was knowledgeable on the subject 28 1      
3. The session held your interest 21 5      
4. The session abstract was accurate 18 9      
5. The A/V materials were appropriate and legible 21 8      
6. Overall this session was well worthwhile 22 7      
Comments:
Outstanding – best session so far, no doubt.
Great contribution of an often glossed-over part of agile in a whole new way.
I was surprised by the granularity and the pragmatism of the preparation steps. Most process descriptions leave out the “obvious stuff”, but of course obvious is subjective.
I felt rushed and wanted to play more games.
Would have liked to explore/play more games first hand.
Thanks for sharing your great ideas Luke, really appreciate it.
Good ideas
Very good session
Great content, technique, presentation and audience involvement
Luke has great energy!
Can’t wit to try to do some of these
Awesome!
Excellent ideas and presentation
Best presentation so far!
You’ve written a book?!!
Very helpful session
Thanks
Very fun!
Presenter didn’t know the session was as long as it was and so he filled in with more presenting and less interactive.
Let’s try more games!

Wells Fargo, CRUD, and Road Maps in Agile Development

Monday, March 27th, 2006

I’ve been a Wells Fargo customer since 2003, more than three years since the writing of this post, and generally, I’m satisfied with their online banking services. But, there are a few things that they get really wrong that just irk me. But instead of being just angry about it, I’m going to use it to discuss road maps and agile development, because, as I said when I began this post, I generally like their service. In what follows, I’m going to make a potentially large assumption that the Wells Fargo team is practicing some form of agile development.

One of the hallmarks of Agile Development is the phrase “YAGNI” — You Ain’t Gonna Need It. This phrase, when properly applied, empowers teams to deliver working software to their customers in a timely manner. Bravo!

Let’s consider, then, a particular interaction that I just hate about Wells Fargo online banking: You can’t edit the address of a payee. You can add one, you can delete one, but you can’t edit the address.

My best construction of how this made sense is that I can imagine a tense room filled with their online banking team debating the pros/cons of adding an “edit address” function to their web site. I can’t imagine why this would be hard, because the only reason it could be considered complex would be the need to retain historical information, but retaining historical information isn’t all that hard. But, let’s give the Wells Fargo developers the benefit of the doubt and assume it is hard.

I therefore imagine the meeting going something like this:

Product mgt: We need the ability to add, edit, and delete a payee.

Dev team: We can give you add and delete in the timeframe allotted, but that edit — whew. That’s tough. Don’t think we can do it.

Product mgt: That really hurts usability. Are you sure?

Dev team: Yeah, because of some reason I can’t imagine. Tell you what - you can simulate editing the address by deleting an payee and then re-adding it.

Product mgt: With no negative consequences, right?

Dev team: We don’t think so.

Sounds good, right? As an agilist, I fully support that they implemented what they thought was “good enough” to ship, and yes, if you really need to edit the address of a payee, you can delete and then re-add it. So, perhaps YAGNI of the “edit” was appropriate.

But the actual details of the implemention leave much to be desired. In fact, it really isn’t good enough, and they do need an “edit”. For those of who you don’t how edit relates to CRUD, it is the U - update (Create, Read, Update, & Delete).

As it turns out deleting a payee deletes the historical information about the payee (i.e., your record of payments). This is pretty nasty. And addresses change. So Wells Fargo really should implement an edit (update) function.

Which leads me to the importance of product roadmaps. In this case, I feel that someone lost the feature called “edit payee address” or allowed other features to take over. Instead, they should have implemented the add/delete operations and then, sometime later, implemented the edit functions. And this should have been part of the negotiation of the road map:

Product mgt: OK, I’ll accept that we can’t get edit in this release. But we need to be prepared to add it in the next release, and we may need to adjust our release plan if customers scream about it.

Of course, maybe after three years of using their service I’m over reacting. I mean, I’ve only requested it several times. Or, perhaps I’m the only customer who needs to edit the addresses of payees, or perhaps I’m the only one frustrated by the fact that you lose your history of payments when you delete a payee.

This doesn’t mean that Wells Fargo isn’t improving the functionality of the web site — several changes have been made over the past few years that have genuinely improved usability. I am not satisfied, however, with how their roadmap is guiding the development of their features, as there appears to be a fairly wide variation in what gets implemented. For example, you can create, read, delete a payee (but not update their address), create a monthly wire transfer (but not read, update, or delete it), and so forth. A good rule of thumb is to CRUD every object/entity in your system, and a road map that helps you do this is a useful tool.

Which leads me to another vitally important aspect of good road maps. I’d would really like it if Wells Fargo acknowledged my request with a brief statement about when it would be implemented — even if it is “never”. Instead, I simply get a response that says “Thank you for submitting your feature request”.

What would be better, of course, is if this feature is on the road map, that they tell me (roughly) when they expect it. It would be stellar if Wells Fargo would publish this road map on the web so that I could see it evolve.

Summary? Go ahead an be agile — get working software out the door as quick as you can. Then, listen to the feedback from your customers, and respond in a way that is equally as agile.