Laws of Power #31

This law is something that I have been burned by in the past, but can be turned into something good. I think the only real defense against someone with malicious intent is to remember something that a teacher told me some time ago: Consider the source. More after the jump.

Executive Tech Summaries

Is anyone out there interested in some one page tech summaries? I had several occasions where they would have been useful this week and I am ready to write some if they don’t already exist.

They would have basic terminology and usage info as well as pros and cons for an organization.

Comment with what tech you would like covered in the comments.

Books For Business Analysts

I was involved in a discussion recently about books that were good for Business Analysts. Here’s a list to get people started.

The Inmates Are Running The Asylum by Alan Cooper

About Face 3: The Essentials of Interaction Design by Alan Cooper

Don’t Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition by Steve Krug

Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans

The Visual Display of Quantitative Information, 2nd edition by Edward R Tufte

Writing Effective Use Cases by Alistair Cockburn

Patterns for Effective Use Cases by Alistair Cockburn & Others

The Responsibility Virus by Roger Martin

You’ll notice that most of these are design books. As an analyst, it’s often the case that you are going to have to look at an old business process or application interface and design something new. It helps to know the limits of the technologies you are working in, but it is better to get a general understanding of design principles in general so that you’ll never be caught off guard.

Note: All Amazon link proceeds go to charity. If this turns out to be popular, I’ll write up some more book lists my colleagues and I think are good to have on your bookshelf as an Analyst, Dev, QA, PM and consulting in general.

A Lesson In Getting Organized

Someone I know recently took over a housing community board by getting organized against the old board and running an effective campaign. The strategies used to do this can apply in many areas of life. Here’s how they told me they did it.

*Know What You Want To Accomplish*
The old board was being run by 5 residents of the community and they had contracted with a management company that wasn’t doing an effective job. On top of ineffective management, the board was illegally charging landlords an extra fee for being non-residents. This was strike one for this person and was the whole reason that a group of people decided that the board needed to be replaced. This single goal united 3 people to run for the board.

*Make Sure You Are In The Right*
In cases of legal judgement, it is best to get a lawyer’s advice. The more specific the lawyer’s experience, the better. In this case, one of the landlords was a lawyer and confirmed that the fees were illegal and even sent letters to the board requesting that they discontinue the fee and refund the landlords in the form of a credit on their association dues. When the board ignored the letters, this was further cause for action. Strike two.

*Plan Your Campaign*
Now that there was no choice but to take over the board to effect change, the leader of the 3 did some research on past elections to the board and found that the largest vote count for any one member was around 90 votes. Each resident gets 5 votes, so each of the 3 needed to get around 20 people to vote for them and they would pretty much be guaranteed a seat on the board.

*Know Your Audience*
The people that were being affected by the extra fee were non-residents, so the 3 needed a strategy to communicate with them and explain what needed to be done. The 3 printed up fliers about the problem and mailed them to all of the landlords of the units in the community. They also went around to each of the units and knocked on doors telling people about the problem and to come and vote on the day of the election.

*Stand Your Ground*
On the night of the election, the ballot box was filled with a large percentage of the votes going to the 3 wanting to take over the board. The old board members had set a deadline of 6pm for all of the ballots to be in. They decided to change their minds and open the ballots to anyone who was at the meeting. The old board members went around the community and asked people to vote on the issue. This nearly doubled the amount of votes cast in the election. The 3 were still confident that they would be able to get a majority on the board. Strike three for the old board.

*Move Quickly*
Once all of the ballots were counted, the results were read and the winners announced. The 3 were on the top of the vote count and each got a seat. One of the old board members and a newcomer got the other two seats. Immediately, the management company, seeing the writing on the wall, resigned. The new board members immediately put the extra fees to a vote and the fees were immediately reversed and all past payments were credited back on the association fees.

*Plan Ahead*
Knowing that they would win, the leader of the 3 had already gotten bids several weeks before from several management companies to replace the one that had just left. In my state, you’re required to have a new management company within 30 days. Having these bids in place would speed up the process and allow the board more decision time to choose the best management company.

*Don’t Burn Bridges*
The 2 board members left on the board were upset that they no longer had a majority and couldn’t make decisions the way that they wanted anymore. Being gracious, the 3 board members included them in the process of managing the community, but made it clear that any illegal activity would not be tolerated and that they would need to decide on issues as a board. The 3 knew that it was important not to alienate the community and make sure to listen to their concerns and manage fairly.

*Recap*
So the lessons I took away from this are that in order to get something done, you need to have a clear goal, a flexible plan for getting there, research to back up your claims, and organization to pull it all together. Once you’ve gotten what you want, it’s important to make sure that you make good on your stated goals quickly and work with the former group to keep things running smoothly in the future.

On Agile And Backend Integration Projects

Another consultant recently told me that she doesn’t believe Agile works for backend-type projects. She said that Agile just introduces too much change and she can’t keep up with the process. She also mentioned that there were studies emerging that said as much, but when pressed, she couldn’t find any.

Now, I’m all for Agile taking criticism. It’s about People over Process, so if there’s some process hurting people in that equation, then it needs to be examined and possibly fixed. I also believe that building working code iteratively is vastly better than talking about it for months and then sitting down to write code.

Our client, like all clients, likes to change their mind about what features they want in the application we are building. This other consultant and I are on two different teams within the project and she’s doing legacy integration work and we’re doing essentially greenfield development that will have to hook into her systems. As our client changes their mind, it’s pretty easy for us to keep up while she struggles to make changes to database models, ETL processes, and other bits of code in her work.

Thinking about what’s going on, I think I’ve come to the reason why it’s hard for her to change and easy for us. We’re using tools and processes that allow us to change rapidly. Her tools are hindering her from making rapid and iterative change and her processes might be too rigid.

Notice that I’m not telling what tools each of us is using. I don’t want to get into a debate about what tool is better, only the type of tool that allows people to be empowered to change at a moment’s notice and then change their minds back again. My hypothesis is that her tools are hindering her from keeping up with our clients. She’s certainly capable of doing the work, but I feel like processes that her tools make her go through are getting in her way.

What advice can I give to someone in that position? I’ve mentioned stronger scope control to her, greater communication between our teams, and getting another analyst to help with the workload of deciphering the legacy systems she has to integrate with. These are all people processes because I’ve seen other consultants use the same tools in my Agile projects and fit in with the process relatively comfortably.

Agile may not work for all types of projects, but I believe it can work here. It may just be that we need better tools.

Marc Andreessen on Innovation

I’ve been reading Marc Andreessen since I heard about his blog from Fred Wilson. There was a great post about retaining good people a few weeks ago that has stuck in my mind ever since.

Things not to do when trying to retain great people:

Now we’re getting into personal opinion, but for what it’s worth…

Don’t create a new group or organization within your company whose job is “innovation”. This takes various forms, but it happens reasonably often when a big company gets into product trouble, and it’s hugely damaging.

Here’s why:

First, you send the terrible message to the rest of the organization that they’re not supposed to innovate.

Second, you send the terrible message to the rest of the organization that you think they’re the B team.

That’s a one-two punch that will seriously screw things up.

Instead, focus on boosting the innovation culture of the entire company.

There are a ton of other tips in there, some of which we used to tell our client companies at NeoTactix. It’s always nice to be reminded of great advice, particularly about what to do with great people that want to make the move to a startup.

iPhone Service Pricing And A Great Opportunity

at&t just announced the pricing for the iPhone plans.

The pricing is inflated from the normal plans.

*iPhone Pricing*
| *Price* | *Talk Time* |
|$60/mo | 450 min|
|$80/mo | 900 min|
|$100/mo | 1,350 min|

*Regular Pricing* (Cingular)
| *Price* | *Talk Time* |
|$40/mo | 450 min|
|$60/mo | 900 min|
|$80/mo | 1,350 min|

The regular pricing includes rollover, unlimited nights/weekends, and unlimited mobile-to-mobile minutes. I’m not sure if you get those with the iPhone plan. You do get unlimited data access which normally costs around $20/mo.

And that is the whole point of calling this out. The iPhone plan comes with unlimited data access. So the first company that comes up with a VOIP web app for the iPhone is going to make a killing. I’ll bet it’s already in development.

Less Junk Mail – Now With Less Privacy

I was going through a backlog of feeds today and noticed a number that I could call that would allow me to opt-out of getting credit card junk mail from the big credit bureaus. I thought to myself, “Great, I really hate those things and they go directly to the trash. Let’s see if I can stop it for a while.”

For those outside the US that don’t know, we Americans get a ton of junk mail from a bunch of credit card companies and other companies we could care less about because these credit bureaus keep a mailing list with our names on them and then they sell the list to direct marketers. It’s a great business for them and they can even qualify you as a good lead because they know your credit score. What turns out to be good business for them is really annoying to those of us who have to receive this mail.

So, I call the number and I get a computerized greeting. The nice computerized voice tells me that there are no operators to take my call, but that I can still opt-out. She asks me if my phone number is the one that I’m calling from (I’m assuming they have caller ID, but that can be blocked or I could call from a pay-phone) and I say no. The computer then asks me to say the phone number for the residence I want to opt-out for. I give them the number to my house and the computer starts reading back my home address to ask me if it is correct. _Wait, what?_ A little concerned, I say yes because it was my address. It then proceeds to say my full name and asks me to confirm. I say yes because that’s correct too.

Thankfully, that’s all the information that it decided to give to me without asking for any sort of verification, only a phone number which I could have picked out randomly, or worse yet, given to someone who now wants to find out where I live.

The rest of the call asked me to enter in my social security number and date of birth to confirm that I was who I said I was.

This seems backwards to me. Shouldn’t I have to tell you who I am with some information that I don’t just readily give away? I don’t go around printing my social security number on business cards, but I do print my phone number on business cards. My information is in their systems if they are using what I enter to verify the transaction. Ask me this information first before you disclose my name and home address to anyone I’ve given my phone number to.

Here’s the number for those interested: 1-888-5-OPTOUT

For those who are going to say that this number was fake and that I just got my identity stolen, I used the web browser on my phone and checked this number out before I called. That is also where my feed reader is. The number is listed on the Federal Trade Commission’s website along with a link to a free website where you can enter in your information to opt out. I was going to use the form, but typing in a whole bunch of data using your phone is not ideal with a simple 12 button keypad, so I decided to use the number. The website gets things right. I have to enter in tons of information about myself including my address. The phone number just gives it up willingly.

Laws of Power #30

Does anyone remember when you could get a good grade in school when you did some hard work? It never seemed right to me that all I had to do was show the teacher that I worked hard, but didn’t actually have to finish the assignment. Outside of the classroom, this doesn’t work. People don’t care if you worked hard to get a report done, get a sale, or whatever it is you do. They just care that you can get the job done.

Make Your Process Lean, Not Your Workforce

I was reading an article by Robert X. Cringely today called Lean and Mean noting that IBM Global Services is laying off thousands of workers and possibly up to 150,000 in the US.

Go ahead and read the article. It makes me really glad that I work for a company that extols virtue and taking care of their people before making money. At ThoughtWorks, we don’t have this level of employee count, so I can’t say what would happen if we did.

We’re also trying to become more lean, but we are doing it in a different way. We’ve already adopted agile as core to the way we work a long time ago. This time, we’re applying lean to our processes and tools, not to our people. That’s the important point. When you treat your employees like family, you do things differently.

Hundreds of thousands is a big family and I’m sure that the execs at IBM GS don’t know the large majority of them. I guess that makes it easy to cast them aside in the name of pleasing Wall Street.

Lifeguarding and Firefighting

I took a kayaking trip this weekend on a lake near my house and an old lesson popped into my head. While I was working at NeoTactix, we had little firemen bobble-heads with our pictures on them. It was an allusion to the fact that we were always fighting fires in our client companies. I remember asking for a new bobble-head in addition to my fireman. I asked for a lifeguard.

I was a lifeguard when I was younger and the lessons that I learned training there were unforgettable. As a lifeguard, you don’t just react to problems, you scan your water and look for potential problems. You are taught all sorts of strategies to minimize mistakes and keep everyone safe. While at work, I applied the skills I learned as a lifeguard to protect our clients from things I could see on the horizon.

Lifeguards overlap the areas they are watching so that there’s always a second pair of eyes on any given situation. This worked very well for us when we adopted this strategy. For example, if I had a press release I was working on, I made sure to always run it by the managing partners to ensure I got everything right before publishing it. Another example was to watch companies in our portfolio that could indicate problems for the other companies that were our clients. Because each of our clients were minding their daily business like they were supposed to, they couldn’t always look up and see trends that could affect them. Part of our job was to see these things coming and warn (or save) them if needed.

Lifeguards constantly scan the waters without focusing on one particular area. When you are sitting up in the tower, it can be easy to focus on just one person or a group of people. It’s called tunnel vision. The safest thing to do is to look for typical problem signs, make a quick head count, and move on to the next group of people. This lesson translates to business really well. As a CEO, you have a bunch of things you have to worry about. Payroll, internal initiatives, investors, competition, and growing the company are just some of the huge tasks you have to take on. Making sure you give each their due attention is important or you become reactionary and will never get to focus on looking forward for your business.

Lifeguards ignore unneeded distractions and maintain constant focus. If you’ve ever seen a lifeguard at the beach, they always have their eyes on the water. They will walk up their towers backwards to stay facing the water. People will come up to talk to them and they’ll rarely look at them, instead focusing on watching the water. It’s not that they are trying to be rude, but that they are focusing on their job, not someone who just wants to chat about Baywatch. In business life, there is plenty to keep you distracted from doing your real job. Surfing the internet can waste whole days of productivity. Worse yet, spending your whole day on something that _seems_ productive like rearranging the office furniture can make you feel like you are doing something good, but is usually just a way to procrastinate on something more important that could be done. When you learn to control the time you spend on unneeded activities, all sorts of time opens up and you’ll find much more time to run your business.

Lifeguards cover each other’s water when an emergency comes up. Emergencies happen; it’s a fact of lifeguarding as well as business. This is a hard lesson for some businesses to learn, especially in cyclical situations like cashflow or business development. Lifeguards typically have a phone they pick up or button they push to signal the other lifeguards that an emergency is happening in their water and they are taking care of it. The other lifeguards immediately respond by calling for backup and covering the lifeguard’s water while they are making a save. Some businesses will see emergency situations and rally their employees to help fight the fire. While this is good, they often leave other parts of the business unattended. That’s a quick way to becoming a firefighter and only reacting to your business instead of acting to control your business.

Lifeguards and firefighters have their place in business. Both serve useful functions, but if you have more lifeguards, hopefully you won’t need so many firefighers.

Laws of Power #29

Last time, I talked about doing what you want to do with confidence. How do you get the confidence to know that you will be able to pull through? Part of that comes with having faith in yourself and those that you work with to get the job done. The other part comes from planning.

Laws of Power #28

I haven’t done one of these in a while, but today seemed prescient for this law of power like so many other times I have opened up this list. It’s something I was told by so many other strong leaders I have modeled my own leadership on. More after the jump.

Comatose

I’ve been doing a side project lately that needed an embedable CMS for a client. The requirements were pretty simple: A few updateable areas that I could build into the app and possible dynamic content like pulling in the latest posts in the user forums. I didn’t feel like building it myself, so I did a few minutes of searching and came across Comatose.

It works perfectly for my client’s needs. I can use liquid or erb for text processing, so that fits in quite nicely with the multitude of other plugins I’m using. They also added the nice touch of being able to completely customize the admin interface, so it was dead simple to skin the interface to match what I already was doing for them and just add a quick route so it looks like part of the app. I owe the devs a beer.

How To Interview With Me

I have been doing a bunch of interviews lately. My second one this week (thanks recruiting!) was tonight and it didn’t go as well as it should have.

Here’s my typical interview strategy for when I am interviewing Business Analysts for ThoughtWorks and some tips to help you if I ever get picked to interview you.

1. Show Up On Time And Be Ready

I know that you are busy, but this isn’t college. You’re such a hot shot Analyst that you could land a job anywhere, right? Well, first you are going to have to show me that you want _this_ job. Our recruiting department sends out a confirmation to you usually 3 days in advance of my call. I also get a confirmation sent to me. If I can’t reach you on the phone number you give on the day of the call, I’ll usually try again about 15 minutes later. If I can’t reach you, I’ll send a note back to recruiting to reschedule the call. However, if I reach you and you are not ready to take my call and don’t have a good explanation (I’ll understand if the house is on fire or something), that’s an automatic *No Hire*. My reasoning for this is simple: it takes nearly an hour to do an interview with you and you know about it in advance, so you should have that time blocked off. If you don’t treat that time as important, it means you won’t treat our clients that way.

2. Prepare

Do your homework on ThoughtWorks. Find out how we like to work; our company culture. Read our website, learn about agile, visit some blogs, talk to us at conferences. I’m going to ask you some questions about what you know about the company, so show me that you did a little bit of work and I’ll be happy.

On the flip side, I do almost no preparation for my interview with you. All I know is your name, phone number, and what position we are hiring you for (that determines my questions, more on that later). I get all of your information like your resume and notes from other interviews you’ve had with us, but I don’t look at a single bit of it before the interview. This is by design. I don’t want to know anything about you that will influence my decision to hire you.

3. The Interview

I have a pretty consistent interviewing style that helps me be more objective about your skills. ThoughtWorks has a set of questions that they like me to ask and I also mix in some of my own. Here’s how the interview typically goes:

  1. Ice Breaker
  2. ThoughtWorks Questions
  3. Domain Question From Your Most Recent Position
  4. Random Domain Question
  5. Questions For Me
  6. Wrap Up

Ice Breaker
I start off by letting you know how the interview is going to go. I care more about your thinking process than you getting everything 100% right on my questions. By this time, I still haven’t looked at anything about you.

ThoughtWorks Questions
The ThoughtWorks questions are mostly softball questions so that I can go over some logistical things about the job. Are you alright with lots (and lots) of travel? Have you worked with Agile professionally? Why do you want to be a BA? There are a bunch of questions, but they give me an idea of what to ask you further. I’ll go into something in detail if I get the sense that you are stretching the truth. While you are answering my questions, I’ll pop open your resume and look at your most recent job and title.

Domain Question From Your Most Recent Position
By now, you should be warmed up and I have a good sense of what I am going to ask you. From your most recent position, I’ll ask you something about the business domain. This way, I get a sense of how well you can understand what a business does. If you’re a TWU candidate, meaning you are just out of college, this question changes to ask about some of your classes. I’m looking for a deep understanding of what you are talking about. I’ll dive into small details to make sure you really know your stuff.

I may also ask you about some things you have done for your previous job (or school). Special projects, clubs, whatever. I want to see that you haven’t simply gone to work or school and taken the minimum to get by. It’s for your own good because you’ll get burned out quickly at ThoughtWorks if you aren’t into the work.

Random Domain Question
This is my favorite part of the interview. I’ll ask you about a domain that has nothing to do with business and run through a few exercises with you to see how well you can understand what I am talking about. It’s always something off the wall and will have nothing to do with what you have done before, but that is the point. I’m looking to see how well you can adapt to a new situation and think on your feet. I’ll play customer roles and ask you to elicit questions about things I want to do. I’ll try to trip you up and see how you recover. This way, I can get an idea of how you will do with our clients.

Questions For Me
This is the part of the interview where you get to ask me anything you want about ThoughtWorks. Some people trip up here because they think the interview is over. If you are really serious, you will have some questions about how we do our work, what our people are like to work with, etc. I also get to sell you a little bit on what it’s like to work here.

Wrap Up
The whole process takes 45 minutes to an hour. I let you know about the next phase in the interview process and that our recruiting department will be getting back to you within a week or so. After that, I hang up and write the last of my notes about you and read them over again. I make them readable by someone other than myself and then I make a decision about whether or not to pass or pursue.

4. Pass Or Pursue?

After the interview, I have a pretty good idea of how I am going to recommend you. I ask myself lots of questions like: Is this person smart and do they get things done? Would I want to work with them? If the answer is no, it’s a pass. If I wouldn’t work with you, then I wouldn’t expect anyone else at ThoughtWorks to. If I feel like you aren’t smart enough to walk into a client and immediately start to figure out what is going on, that’s also a pass. If I have a good feeling about you, I’ll mark you as a pursue and send you on up the chain for our intense face-to-face interview process.

I hope this was helpful to future candidates. I’m looking for aptitude and attitude in the way that you present yourself to me. If you’ve got both, you’ll have no problem being a ThoughtWorker. Good luck.

UPDATE: If you are looking for a referral, please email me at jhoms at thoughtworks dot com and I’ll point you to the right people.

Laws of Power #27

This law of power is used at some of the hottest up-and-coming and established companies today. Companies like Apple and 37Signals use peoples’ need for a belief system to help brand themselves. More after the jump.

Crucial.com Gets Customers

I bought some RAM today for my laptop and had a great experience with crucial.com.

First, there was a program that they allowed me to download (if you use IE, it just runs right in the browser) that showed me exactly how much RAM I had and more importantly, _where_ it was installed. It showed me that I had 1GB of RAM in a single slot.

Then I got a recommendation for which RAM I needed based on Crucial knowing exactly what computer I had. Their suggestion was exactly what I needed.

Purchasing the RAM was my favorite part of the experience. In my opinion, this is where Crucial gets things _really_ right. I didn’t have to log in, sign up, or otherwise register for anything on their site. I just put in my shipping and billing information and I was done.

The last nice touch was this little gem that appeared in the middle of my order confirmation.

Nothing to fill out if I didn’t want to, but a genuine attempt at making my life easier if I was going to have multiple orders.

Thanks Crucial, it was a great buying experience.

Protect Users From Themselves

Often, when designing a system for users, we look at what they could do wrong and either try and prevent it or tell them what’s going wrong. I prefer to take as much of a proactive approach as I can by having the system fix the problem and not even bother the user with an error message if it’s not absolutely necessary.

This same mentality holds true for the way users expect a system to work. I found an example from bloglines today, which is a great service that I use every day.

Bloglines has the nice feature of letting you use keyboard shortcuts to navigate around your feeds and the posts within them. It’s a tremendous time saver not having to scroll all the time. However, this morning, I discovered an oversight that is easy to fix: if I have caps lock enabled, the navigation doesn’t work. It is something that only comes up in a blue moon, but it took me a minute to figure out what was going on today to correct the problem.

The problem is with the javascript that bloglines uses to capture the key events and perform an action. Here’s a (snipped) example.

1
2
3
4
5
6
7
8
9
var g_hotkey_scrolldown = 106; // j
 
else if( whichCode == g_hotkey_scrolldown ) {
    // j - scroll down pane
    cancelEvent(e);
    if(main.basefrm && main.basefrm.gotoNextItem) main.basefrm.gotoNextItem(nav4);
    else if(main.gotoNextItem) {
        main.gotoNextItem(nav4);
    }

This only captures the lowercase j, but if you wanted to capture the uppercase J (because someone might have the caps lock enabled by accident), then it would be simple to change the whichCode line to add in the case for uppercase J.

1
2
3
4
5
6
7
8
9
10
var g_hotkey_scrolldown = 106; // j
var g_hotkey_scrolldown_upper = 74; // J (uppercase)
 
else if( whichCode == g_hotkey_scrolldown || whichCode == g_hotkey_scrolldown_upper) {
    // j (upper and lower) - scroll down pane
    cancelEvent(e);
    if(main.basefrm && main.basefrm.gotoNextItem) main.basefrm.gotoNextItem(nav4);
    else if(main.gotoNextItem) {
        main.gotoNextItem(nav4);
    }

A simple one line change for this example, but it prevents users from getting behavior in the system that they don’t expect.

Update: I had sent this issue directly to Bloglines before making this post with essentially the same information. I received a reply from them saying that they would forward on the report to the appropriate department. Hopefully, they will fix this issue and get back to me. A commenter noted this issue happens with similar sites that use access keys in this way. My lazyweb question then: is this not technically possible? I didn’t actually run the code I wrote, but I could if I really wanted to test it out since I believe Firebug will allow me to do that. It just wasn’t that pressing.

Update: I still haven’t seen this work and have moved on to another blog reader. I just couldn’t deal with the lack of progress and missing out on better options. So long Bloglines, you’ll be missed. I’m happy to be lured back someday.

Make A Name Map

This is an article that I have seen go past in my RSS reader a few times lately: Meeting Tip: Learning Names. It is something that I have used for years, but this is a great writeup of what to do. Simply stated, make a little “map” of the meeting table you are at and write everyone’s name along with any other information you might need next to them.

I’ve taken it further a few times and actually written notes under each person’s name so that I knew who came up with the idea. It was a common practice for me at NeoTactix where we would meet a ton of new companies all the time and I could _never_ keep their names straight in my head. I find it equally important in my consulting life at ThoughtWorks, but rely on it less when I see the people that I meet every day and their name eventually starts to stick in my head.

Wink is Great

I used the awesome tutorial and presentation software Wink today and it worked surprisingly well.

I was testing out the newest version of SIFR (also awesome software) and found a few bugs. Screenshots weren’t going to be enough to show the problem, so I created a simple screencast with Wink.

You can see the results here.

I can definitely see myself using this more in my work on client projects for ThoughtWorks.