Archive for January, 2007

The Black Art of Software Estimation

Estimating software development is hard. But it doesn’t have to be impossible.

Software Estimation by Steve McConnell draws together research and experience from the field of estimation into a single, easy to read, volume.

The biggest lesson I got out of the book is “Count, Compute, Judge”.

Count if at all possible. Compute when you can’t count. Use judgement alone only as a last resort.

The software estimation I have been involved in falls into the realm of judgement. This is usually due to insufficient data available, or the lack of knowledge of the data that needs to be collected.

Some other highlights include:

  • Relevant information from many sources (ie. key formulas from research papers, process details and examples)

  • Details of industry studies and references to other work, allowing for deeper study.

  • Broad coverage of estimation topics. There is much happening in this area, and this book covers it from a practical standpoint.

  • Strategies for presenting estimates to stakeholders and navigating the associated political minefield.

    … estimate negotiations tend to be between introverted technical staff (developers) and seasoned professional negotiators (sales staff).

One area I found missing from the book is estimating changes to existing systems, such as maintenance and enhancements. The focus for the book is on new features and creating new products. Hopefully the process and systems recommended, such as estimating from historical data, covers maintenance development.

In addition to good process and practice, there is a useful section towards the end with rules of thumb derived from industry findings. Some of them include:

  • To go from one-company, one-campus development to international outsource development, allow for a 40% increase in effort.

  • Allow for a 1% to 4% increase in requirements per month.

  • For first-time development with new language and tools compared to comparable development with familiar language and tools, allow for a 20% to 40% increase in effort.

  • For administrative and clerical support, add 5% to 10% to the base effort estimate.

Software estimation is an important part of the development process. Estimates provide the benchmark that subsequent development is measured against. Making estimation an area that deserves more study, and making this book a must read for any software professional.

Spam 2.0

The amount of comment spam has been rising rapidly, even with efforts to reduce the tide. As a result, I weighed up the benefits of comments (again).

I still see the benefits in letting people comment on posts, so comments will stay, but I need a way of reducing the amount of comment spam. Playing around with Wordpress plug-ins, I’m going to try something different - a web service.

Akismet essentially outsources the problem to someone else. Free for personal use, signing up is a matter of getting a wordpress.com username, which supplies a key.

Some stats from their site, as of January 22, 2007:

601,615,558 spams caught so far

113,265 so far today

94% of all comments are spam

Given the recent comments I’ve seen, the 94% number is, if anything, low.

NDAs for Technology

One of the big hassles in my job has been attempting to organize NDA agreements with customers and partners. The fun and games begin with multi-party NDA agreements.

The VC community has solved the problem by avoiding NDAs where ever possible, as outlined on Ask the VC and by Rick Segal on his blog.

To my mind, the act of non-disclosure is a question of trust. If you really need to rely on NDAs then the relationship between the parties should be questioned. Maybe it is more like patents, you file them in the hope you never have to use them … but just in case.

Bonus Link: Brad has an article from last year on NDA’s too.

The New Renaissance Man

The book In Search of Excellence (by Tom Peters and Robert Waterman) mentions work by Stanford’s Harold Leavitt on the management process. According to Leavitt, the managing process is an interactive flow of three variables:

  • path finding
  • decision making
  • implementation

At the time of writing, 1982, the focus on management was rational and analytic approaches to decision making. The other two variables being neglected by so called professional managers.

To provide example, several types of people were associated with each category.

Path Finding: poets, artists, entrepreneurs, and leaders who have put their personal stamp on some business.

Decision Making: systems analysts, engineers, MBAs, statisticians, and professional managers.

Implementation: psychologists, salesmen, teachers, social workers, and most Japanese managers — essentially those who get their kicks from working with other people.

The obvious point from all of this is that a manager needs a broad spread of skills across all of these areas. To be successful as a manager implies a generalist approach, with skills in many diverse areas, a focus on people and the ability to execute ideas — a Renaissance Man (or person in modern parlance).

Killer Jazz Selections

Thanks to Brad I’m addicted to Barry Eisler’s books. The main protagonist, John Rain, is like Jack Bauer from 24 except with a license to kill and operating outside the law.

Actually, Jack does that anyway. The main differences are that John is half Japanese, has good taste in scotch and listens to jazz. Throughout the series several jazz CDs are mentioned - as part of the plot or in an appendix.

I’m posting the lists for future reference, so I can pass the books on.

Live Jazz CDs

(mentioned by John Rain in Rain Storm)

  1. Lynne Arriale - Live at Montreax
  2. Eva Cassidy - Live at Blues Ally
  3. Bill Evans Trio - Sunday at the Village Vanguard

Rain’s Top Ten Jazz CDs You Might Not Have Heard Of

(comments by Barry Eisler in Killing Rain)

  1. Eric Alexander - Young tenor saxophonist with a ton of heart. Start with Nightlife in Tokyo, of course … Nothing fancy, just terrific jazz.
  2. Monica Borrfors - Swedish vocalist I first heard in Bar Satoh in Osaka, the world’s best whiskey bar. Slowfox is a collection of songs in English, all rendered in Borrfors’ warm, slightly husky, beautiful voice.
  3. Charles Brown - Brown’s voice contains pain and hope and the wisdom of experience, and his piano is top notch too.
  4. Akiko Grace - Bill Evans, Thelonious Monk … Akiko Grace. Her piano is that good. Love and loss and hope and elegy — I don’t know how someone so young can understand and express it all, but Japanese composer/pianist Grace does.
  5. Patricia Kaas - French vocalist with a wonderfully alluring voice … try Tour De Charme, which contains two tracks in English, the rest in French.
  6. Marisa Monte - Brazilian pop? Jazz? Choro? Who cares? Monte’s voice is so enchanting that it doesn’t matter if you can’t understand the Portuguese lyrics. Start with Rose & Charcoal.
  7. Junko Onishi - Japanese pianist I first saw in Club Alfie in Tokyo, where she provided the inspiration for the character who became Midori Kawamura. Plays like an angry Thelonious Monk, as Alfie’s Mama-san might put it …
  8. Brenda Russell - Russell is hard to classify — jazz, light jazz, R&B, soul …? Her voice is a caress — she can lull you to laugh, to sleep, to tears.
  9. Luciana Souza - Is it jazz or choro? Who cares? Souza’s vocals are a delight. Listen to the voice and you’ll fall in love with the woman.
  10. Toku - Japanese flugelhorn player and vocalist with an assured baritone voice, and a terrific performer — at the Tokyo live houses, Toku packs ‘em in.

ps. I’ve managed to draw the series out by limiting myself to one per Amazon purchase, otherwise I’d be finished by now :)