Desktop Search Insanity

I like to be able to find my stuff quickly. I like to be able to do it without extraneous image results. Unfortunately I need to be able to search three very disparate groups of data completely separately.

In order of frequency searched:

  1. Email (only certain folders) and some folders under My Documents.
  2. Various batches of code: my own, sample code, ….
  3. Blog Posts (I use Attensa for Outlook - so blog entries look and behave like email).

Read More…

Comments { 3 }

Carnival of the Agilists – Agile 2007 wrap up

I delayed last weeks Carnival to allow me to cover all the interesting Agile 2007 Wrap ups that are out there. As image many bloggers have noted the overwhelming theme seems to have been: Scaling and Distrubted Agile/Lean.

After reading for an hour I can’t find any great ordering or sets of themes so instead I will put these out in the order I found them:

Read More…

Comments { 6 }

Test Driven Development for Large Scale GUIs Agile 2007

On Wednesday morning I attended Steve Miller’s (Atomic Object) – Presenter First Test Driven Development for GUIs. Steve presented an interesting approach to remove complexity from view and place it in a class called the presenter. The view and model are represented in the presenter via interfaces. The presenter contains only flow logic and can now be easily tested since the view and model can be mocked. Any time the view reaches any level of complexity you break out another small presenter.

In theory this all sounds appealing however after a little study I think my GUI code would grow by 30–40% to gain the benefit of TDD. I coming to think that we’re better off ensuring coverage through the acceptance tests and ensuring the absolute minimum amount of code in the views.

Read the original paper: Presenter First: Organizing Complex GUI Applications for Test-Driven Development and see if its for you.

This builds on the work of Michael Feathers “The Humble Dialog Box” and Martin Fowler’s “Model View Presenter” (now retired) – replaced by: Supervising Controller, Passive View and Presentation Model. My personal leaning is towards the Supervising Controller.

Comments Off

Agile Transitional Leadership and Value Stream Mapping – Agile 2007 Day 2

Yesterday (I stayed up past midnight) – I attended two very interesting sessions.

The first was facilitated by Pete Behrens on the subject Agile Transitional Leadership. Basically what kinds of leadership and challenges have people faced as they help transition their organizations to Agile methods. The format was very interesting, we were seated in groups of six – with no tables between us. There were three leaders who spoke about their very different transitions. After each speaker Pete encouraged us to talk about a particular issue they raised and our personal experience with it.

The transitions were the classical scaling up from a small pilot, a CEO mandated adoption and a big bang everyone changes one day.

My key take away points:

  1. Socialize not Evangelize – too often we become Agile Zealots wanting too push our ideas. This turns people off – better to use the water cooler approach and talk about successes.
  2. Language – use the language of your audience. Management doesn’t care about sprints and retrospectives. They care about deliverables, risk, effectiveness and productivity. In addition consider the language of Lean. Everyone knows about the success of Toyota.
  3. Know which fires to fight. Sometimes you can’t solve all problems at once. You need to know which fires will sort themselves out eventually (in this case a team that was struggling to transition) and which need your attention right now.
  4. Corporate Heartbeat – if your doing a large transition its important to have the same heartbeat. Teams stay aware of what other teams are doing – it becomes a form of social pressure forcing them to keep up.

I also attended Hubert Smits excellent presentation on Value Stream Mapping – however I’m not sure how to blog about it except to say you should’ve been there.

Comments Off

“Why I don’t like Monday’s” – Agile 2007 Day 1

Waking up at 3:45 am isn’t the best way to start a conference. But it was the only way I could make it to Jean Tabaka’s session “Why I don’t like Mondays”. The effort paid off.

Jean’s talk riffs on the Boomtown Rats song “Why I don’t like Mondays” and poses the questions what’s wrong with Agile meetings and how to improve them. The presentation (pdf ) covered a lot of ground in 90 minutes:

  • Top 10 Dysfunctions of team meetings (aka smells): Meetings are repetitive, Same people do all the talking every meeting, …
  • How to fix the Monday Morning Blues: Purpose/Agenda, Ground Rules, Parking Lot, ORID, ….
    • Creative ideas (Roger von Oech "Creative Whack Pack")
    • Consider Meetings as mini iterations – they need to be planned and we should reflect on their outcomes.

    • Use ORID in retrospectives
    • Reflect briefly at the end of every meeting
    • Get the team to set our ground rules (i.e. no phone calls, email, …)

If you missed the session grab the slide deck and read Jean’s book – Collaboration Explained (heck buy the book anyway I did).

Later in the day I also attend Diana Larsen’s "The First Thing to Build: Leveraging Trust on Agile Teams". I was a lot more tired by then and so struggled to stay awake let alone focus. Diana spent a lot of time discussing how to build trust on a team and spot when the team doesn’t have that trust. Slides (pdf again).

Sorry I don’t have the energy for a better set of notes. I suspect all of my postings this week will be rushed.

Comments { 1 }

Attending Agile 2007

I while be attending Agile 2007 in a few weeks and thought it might be fun to write down some of things I’m hoping to discover:

In the large (department/company wide issues):

  1. Finding executives and other senior people at large companies who are (or have) adopted Agile. I would like to find people we can ask occasional questions of (and they can ask us).
  2. Find out what issues people have coordinating projects in a tiered environment. In our cases some of our stack is 10 layers deep
  3. What issues do people have coordinating many related projects running in parallel? Consider a as many as 30+ teams working on 15+ projects all of which must be released as one platform. How do we handle dependency and risk management?
  4. Key lessons learned: critical success factors and pitfalls to avoid when doing agile in the large
  5. Hearing others Agile adoption experience (there are several sessions on this subject) in particular what went wrong, what would they do differently?

In the small:

  1. How do others do acceptance testing for Rich Clients? Is anyone doing acceptance testing with Eclipse?
  2. How others are keep Continuous Improvement alive on Agile Teams? Some teams I’ve seen find a plateau and don’t move on from there.
  3. What are other people’s experiences doing Agile development with distributed teams – sometimes with each team member in a different location?

BTW here is the complete list of conference events:http://www.agile2007.com/index­.php?page=sub/ (keep in mind: it’s sold out already)

Whats on your mind? What do you want to get out of the conference? Tell what your goals are and I will blog about what I learn.

Look me at the conference – let’s have a chat and perhaps a pint. Leave a comment so I know who to look for.

BTW I (and this blog) are on vacation for the next two weeks so your comments won’t approved until I get back.

Comments Off

On Safari with Nathan Myhrvold. Or will work for used 600mm VR.

Nathan Myhrvold (yes that Nathan) is apparently a prize winning photographer and image occasionally writer. He has recently written an excellent article Digital Safari Equipment Tips. Unfortunately Nathan has lost touch with the world the rest of us inhabit. He recommends we have nearly $30,000 worth of equipment saying its a “once-in-a-lifetime opportunity both to experience incredible scenery and wildlife and to make some amazing photographs”. Sure it is Nathan.

Read More…

Comments { 5 }

Which Mock to Mock with? JMock? RMock? EasyMock?

After years of making half hearted attempts at test driven development I’m finally taking the plunge andMockturtle
doing it properly. After only  a few days of doing TDD I got tired of implementing interfaces long hand. It’s especially annoying since you typically only care about one or two methods in the object but have to fill them all out. The trouble comes for the reader of your code who can’t tell immediately what return values you care about and which ones are the default values that were generated for you. So I began looking for mocking framework. My only criteria must work with Java 1.4 – so no annotations or generics. Based on a thread in the JUnit mailing list Mock Framework reviews (http://tech.groups.yahoo.com/group/junit/message/19315) I decided to give JMock and RMock a try.

Read More…

Comments { 8 }

Acceptance Testing and Eclipse Rich Client Applications – How to do it?

In my last post I promised a post about something other than Eclipse for my next post. I’m sorry I lied, I had the best of intentions. However the problem of acceptance testing and Rich Client applications has been rattling around in my head for some years now. A couple of years ago I tried this in .NET and didn’t have any great success. This time driven by the needs of several projects in my group and reading Bret Pettichord’s excellent seminar “Homebrew Test Automation” (PDF) I’m inspired to try again.

Read More…

Comments { 1 }

Eclipse Madness – Why do fragment plugins work for some Developers and not others?

If you don’t do development work in Eclipse – stop reading this post now, come back tomorrow I promise that I will write about something else.

We’re writing our test plugins as fragments to be hosted inside the plugin they’re testing. Most of the time this works without a hitch and gives the benefit of being able to test classes and methods with package (default) visibility. We have several of these plugins that work with no problem both in my Eclipse IDE and our PDE builds. However for one developer one fragment plugin suffers the problem: Host bundle ‘xxx.xxx.xxx.common’ exists but is unresolved.

What does this mean? What is Eclipse saying? How on Earth do I debug this?

Read More…

Comments { 3 }