Thursday, November 23, 2006

Agile Enough

Bruce, April 2004On Tue Nov 21, I have presented case studies at the Agile/XPToronto user group meeting. Over last three years we have been applying agile thinking and adopting agile practices in the world of shrink-wrapped software. What were the challenges? What are the results? What worked out and what didn't? What mistakes did we make? What lessons have we learned? Are we actually agile?

Agile Enough is the title of the presentation; the slide deck is available. I consider sharing a video, but will decide after I watch it myself :-)

The credit for the presentation and presented materials goes to the Opalis development team.

AddThis Social Bookmark Button

Tuesday, November 21, 2006

Programmer Personas

I've been thinking about programmer personas for so long. Yes, understanding people as individuals is crucial. Yet thinking personas, or types, gives a powerful linear model to dealing with people quickly and efficiently without considering their full blown individuality. When hiring, for example, I need an effective thinking aid to help me sort out massive numbers of resumes. When picking programmers for a project, I'd better be concious of their typical traits.

What I had found before was Mort, the opportunistic developer, Elvis, the pragmatic programmer, and Einstein, the paranoid programmer, complemented by Hugo, the Agilist. Good but not enough.

How about this: Lumpenprogrammers, Hippies and Nerds.

"Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of problem and how to solve it, but when it comes to the actual code writing, they can get sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in the world of ideas. In contrast, nerds are so tightly focused on the niggly details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project."
Funnier, but still not enouth. Should I write about it myself? Instead I opted to serach again and Bingo! long live Google, found exactly what I was looking for.
- Arrogant Arthur
- Belligerent Brian,
- C++ Colin
- Distracted Daniel
- Essential Eric
- Feature Creep Frank
- Generic George
- Hacker Henry
- Incompetent Ian
- Jailbird John
- Kludgy Kevin
- Loudmouth Lincoln
- Martyr Morris
- Not-Invented-Here Nick
- Open Source Oliver
- Process Peter
- Quiet Quincy
- Rank Rodger
- Skill Set Sam
- Toolsmith Trevor
- Unintelligible Uri
- VB Victor
- Word Salad Warren
- X-Files Xavier
- Young Yasmin
- Zealous Zack

- "The A to Z of Programmer Predilections", hilariously funny and profoundly realistic programmer personas fair. Please enjoy.

AddThis Social Bookmark Button

Sunday, November 12, 2006

Rise of Skype

Our IT department was looking to standartise on IM/VOIP solution for challenges so common in today's global environment. After a thorough research, they finalized on Skype.

As I installed Skype and used it for a bit, I become curious by the traction this product is making in the software industry. A great software success story revealed. A little company from little Estonia confidently elbows Microsoft with MSN and confidently climbs up to the top of IM/VOIP market.

Check out http://about.skype.com.

I am excited of the cult the guys are creating around their company. I like the product. I am falling in love with their marketing. Mostly, I admire their enjoying themselves so much. Check out what people at Skype think about Skype . Something to learn from them.

AddThis Social Bookmark Button

Saturday, November 04, 2006

Reader's Reactions

158-5894_IMG As you read a new techy book or blog, what are your reactions as you bounce to an idea? Here is my canonical list:

1) What you are talking about?
2) Aha!
3) Oh, PLEASE :( I’ve heard that before :-[
4) Oh, YES! I’ve heard that before! :-)

1) What you’re talking about. I don’t respond. I don’t understand. I don’t care. Is it because the author lives in another world? Or it just so poorly written? I’ll never know. I don’t get what you are talking about.

2) “Aha” is something new, original, and catchy to me. Very few ideas are original, none are new. But then I get it the first time, it’s AHA. It’s personal. It’s enlighting.

3) “Oh please, I’ve heard that before”, and it was better last time I heard it. Poor repetition of non-original ideas are boring. Worse, irritating when done without even mentioning the original.

4) YES, I heard that before, but you just made it home. Tiny twist that made it click to my personal experience. Artistic popularization that made difference. A calculated appeal to my secret obsession that makes me agree 100% in advance. Or my pure reader’s joy.

Make your list. Read it through. Is it as subjective as mine? Is it as silly as mine?

What do we really take from our reading? We only get what we are ready for. We only get what we want. We only get what we agreed with in advance. A famous experiment tracked the readers’ eye focus as they read editorials of their favorite newspapers. They were reading along as far as they were agreed with the editor’s view. But just when they hit a controversial point injected in the middle of the text, their focus jumped to another page. They only got what they were ready to get.

Thousands of books published, bought, and presumably read. Millions of blog articles hit, browsed, and presumably skimmed. Billions of men-hours spent on reading all these books and blogs. It’s a lot of reading! If we know what we get in advance, why do we still read?

Is it for those rare, enlighing, very personal Aha moments? For intellectual and emotional bursts exploded from the points we violently agree? For food for thoughts generously generated by our critical view on the points of violent disagreement?

Hey, you just read this. Why?

AddThis Social Bookmark Button