Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
I. M. Wright’s “Hard Code”: A Decade of Hard-Won Lessons from Microsoft®
Reader Acclaim for I. M. Wright’s “Hard Code” Column
Foreword
Foreword to the First Edition
Introduction
How This Book Happened
Who Should Read This Book
Organization of This Book
How Microsoft Is Organized
Sample Tools and Documents
System Requirements
Errata & Book Support
We Want to Hear from You
Stay in Touch
1. Project Mismanagement
June 1, 2001: “Dev schedules, flying pigs, and other fantasies”
Richter-scale estimating
Risk management
The customer wins
October 1, 2001: “Pushing the envelopes: Continued contention over dev schedules”
Software engineering is clearly ambiguous
Believe half of what you see and none of what you hear
Motivation: It’s not just pizza and beer
Sinking on a date
May 1, 2002: “Are we having fun yet? The joy of triage.”
War is hell
It’s nothing personal
Five golden rules of triage
The devil is in the details
It’s hard to let go, isn’t it?
Take care of the little things
December 1, 2004: “Marching to death”
Stabs in the dark
A litany of failure
The turning point
The road less traveled
October 1, 2005: “To tell the truth”
Suffer from delusions
Put a fork in me
Give me a straight answer
Lipstick on a pig
Look at all these rumors
I want the truth
September 1, 2008: “I would estimate”
No one would accept the program
It’s a different kind of flying altogether
I’m getting better
Oh no, not again
Same old wine
Your results may vary
I want to believe
May 1, 2009: “It starts with shipping”
I offer you my service
What is that smell?
There are too many of them
They’re multiplying too rapidly!
Life is so uncertain
Back to basics
September 1, 2009: “Right on schedule”
Those who understand binary and those who don’t
That’s the only thing you’re committed to
Don’t you think it’s a little risky?
You pick the one right tool
May 1, 2010: “Coordinated agility”
I respect your right to disagree with me
Plans are nothing; planning is everything
I can take care of myself
So happy together
2. Process Improvement, Sans Magic
September 2, 2002: “Six Sigma? Oh please!”
Egads! What sorcery is this?!
Calling in the cavalry
Creating order out of chaos
October 1, 2004: “Lean: More than good pastrami”
All things in moderation
Waste not, want not
Overproduction
Go deep
Transportation
Motion
Waiting
Overprocessing
Inventory
Defects
Symbiosis
April 1, 2005: “Customer dissatisfaction”
Ignorance is bliss
Too much, too late
Agile delusions
Retracing your steps
There’s more where that came from
The right tool for the job
Duct tape and baling wire
Customer satisfaction
March 1, 2006: “The Agile bullet”
Enemy of the truth
Get the rules straightened out
Ready for something different?
Let the man speak
You complete me
A bit extreme
Are you ready for some rugby!
The more you know
October 1, 2007: “How do you measure yourself?”
There is no try
Is there a problem here?
What’s going on?
In the end you’ll thank me
I want to know right now
Then make your choice
We are in charge
A girl’s gotta have her standards
A unique perspective on the world
October 1, 2010: “You can depend on me”
Amongst our weaponry are
I think your brain is going soft
Failure to communicate
We two are one
It’s totally automatic
No whining!
November 1, 2010: “Am I bugging you? Bug Reports”
Bug dissection
Title and assignment
Repro steps
Priority
Severity
Resolution
Keep it simple
December 1, 2010: “There’s no place like production”
How did I get here?
Surely, you can’t be serious?
Then it’s hopeless
How do I work this?
We’re not in Kansas anymore
February 1, 2011: “Cycle time—The soothsayer of productivity”
What’s done is done
If you build it
Roaches check in, but they don’t check out!
How am I doing?
Sign me up
How about a few more details
Life is good
3. Inefficiency Eradicated
July 1, 2001: “Late specs: Fact of life or genetic defect?”
For every change, churn, churn, churn
Hallway meetings
Committee meetings
Spec change requests
Prevention is the best cure
June 1, 2002: “Idle hands”
Baby did a bad bad thing
Tell me what I must do
Waste not, want not
June 1, 2004: “The day we met”
Why are we here?
What are we trying to do?
Why are they here?
Why am I hearing this now?
What are the next steps?
July 1, 2006: “Stop writing specs, co-located feature crews”
Have you lost your mind?
Therein lies a dilemma
Special needs
I don’t recall
Stick to one thing
You ready?
February 1, 2007: “Bad specs: Who is to blame?”
It’s a setup
Communication breakdown
Keep it simple and easy
Make it robust
Get feedback
Check that quality is built in
What’s the difference?
February 1, 2008: “So far away—Distributed development”
Doesn’t anybody stay in one place anymore?
I get so tired when I have to explain
Doesn’t help to know that you’re just time away
It would be so fine to see your face at my door
Where are you when the sun goes down?
December 1, 2008: “De-optimization”
You want answers?
I think I can handle this
Déjà vu
The beat of a different drummer
Don’t panic
April 1, 2009: “Your World. Easier”
All too easy
Déjà vu—all over again
Slip sliding away
Our two weapons are
April 1, 2011: “You have to make a decision”
I’m the decider
To hire or not to hire
Now consider the alternative
Tell me why
Wait, there’s more
4. Cross Disciplines
April 1, 2002: “The modern odd couple? Dev and Test”
How do I love thee? Let me count the ways
Necessary evil or priceless partner?
A man’s got to know his limitations
You complete me
July 1, 2004: “Feeling testy—The role of testers”
Advanced protection
A change will do you good
The twilight zone
Commander Data
It’s quite cool—I assure you
May 1, 2005: “Fuzzy logic—The liberal arts”
It takes all kinds
They’re not like us
Getting past security
Making things happen
Better together
November 1, 2005: “Undisciplined—What’s so special about specialization?”
Days of future past
Take it to the limit
Football is a science
The space between
Stuck in the middle with you
January 1, 2009: “Sustained engineering idiocy”
You make the call
Someone’s got to take responsibility
What do I do now?
This won’t hurt a bit
May 1, 2011: “Test don’t get no respect”
It’s a different kind of flying altogether
That’s easy!
I just can’t get enough
The world just wants us to fit in
Tell me what it means to me
5. Software Quality—More Than a Dream
March 1, 2002: “Are you secure about your security?”
Beware the swinging pendulum
Do the right thing
You’re only as secure as your weakest link
Lead, follow, or get out of the way
November 1, 2002: “Where’s the beef? Why we need quality”
Things have changed
Good enough isn’t
Hard choices
Time enough at last
Checking it twice
Physician, heal thyself
Step by step
Too much to ask?
April 1, 2004: “A software odyssey—From craft to engineering”
Craft a desk, engineer a car
It’s what you know
To thine own self be true
What’s in a number
It’s their habits that separate them
Think big to get small
Good to great
July 1, 2005: “Review this—Inspections”
A bad combination
The perfect storm
Who’s in charge?
So, what do you think?
It’s just a formality
Are you ready, kids?
Checking it twice
Magical merge meeting
Tricks of the trade
Getting it right
October 1, 2006: “Bold predictions of quality”
Enigma? I don’t think so
Twins of evil
The usual suspects
You’re gonna love it
Quit fooling around
Quality is no accident
May 1, 2008: “Crash dummies: Resilience”
Struggle against reality
Perhaps be less assertive
If at first you don’t succeed
Welcome to the jungle
Just like starting over
Let’s not be hasty
It’s always the same
October 1, 2008: “Nailing the nominals”
Back to basics
I want to be a cowboy
But it’s so simple
Is it done?
It’s not that complicated
6. Software Design If We Have Time
September 1, 2001: “A tragedy of error handling”
The horror, the horror
Taking exception
Don’t lose it, use it!
February 1, 2002: “Too many cooks spoil the broth—Sole authority”
A picture is worth a thousand words
Does anyone really know what time it is?
There can be only one
Everything is connected to everything else
May 1, 2004: “Resolved by design”
What is good enough?
Design complete
Details, details
Show me what you’re made of
Mind the gap
Your recipe for success
February 1, 2006: “The other side of quality—Designers and architects”
You’ll have to do better than that
A change would do you good
The man just got it wrong
Doing it well
Next time, try sculpturing
Just the right tool
Beyond these walls
August 1, 2006: “Blessed isolation—Better design”
Breaking up is hard to do
Doing it well
There is no “I” in team
Step by step
Dogs and cats living together
November 1, 2007: “Software performance: What are you waiting for?”
Just one moment, please
You’re faster than this
Should I keep a copy?
You’re not being the ball
Have you ever been experienced?
You’ll be ready
What about me?
April 1, 2008: “At your service”
I’m fuzzy on the whole good/bad thing
On good terms
Preserve your memories
Self-fulfilling prophesy
We can get together
August 1, 2008: “My experiment worked! (Prototyping)”
Explore the space
That’s so rad!
Harness in the good energy
You still have a choice
Throwing it all away
Temptations always come along
Do yourself a favor
February 1, 2009: “Green fields are full of maggots”
The horror
You saved me from this fanatic
Who will save your soul?
It’s not gonna get any easier
Can I tell you a story?
Temptations always come along
7. Adventures in Career Development
December 1, 2001: “When the journey is the destination”
A man’s got to know his limitations
Vesting but not resting
I wish they would only take me as I am
We’re in this together
October 1, 2002: “Life isn’t fair—The review curve”
I’m not going to take this anymore
Knowledge is power
Taking care of business
Go ahead, make my day
Reach out and touch someone
Got lemons? Make lemonade
Change your tune
The one behind the wheel
November 1, 2006: “Roles on the career stage”
One, in time, plays many parts
Stage right
I aspire, sir
Overqualified
I’m special
There can be only one
What do you want to be?
May 1, 2007: “Get yourself connected”
It’s who you know
I use habit and routine
Aren’t you curious?
You have our gratitude
I’ll get back to you
Welcome to the world
September 1, 2007: “Get a job—Finding new roles”
Now which way do we go?
We’ve got a situation here
There is nothing here for me now
It’s been a long time
If I go there will be trouble
I must be travelling on now
December 1, 2007: “Lead, follow, or get out of the way”
Blind Faith or Cowboy Junkies?
Yippee-ki-yay, project buster!
Resistance is futile
Is that right?
I suggest a new strategy
I am not a leader of men
July 1, 2008: “Opportunity in a gorilla suit”
I’m blind, man
It is all around us
Poor pitiful me
I took the one less traveled by
March 1, 2010: “I’m deeply committed”
I get bloated with a foamy latte
Living in the past
The reason is a little vague
I don’t believe that’s a proper characterization
Always thinkin’ about yourself
Bogus. Heinous. Most nontriumphant.
April 1, 2010: “The new guy”
Establishing order
Get a grip on yourself
Build your support group
Extend the honeymoon
Learn the ropes
Start your quest
Way to go
June 1, 2010: “Level up”
The basics
Entry level (e.g., SDE I)
Independence (e.g., SDE II)
Team leadership (Senior)
Group leadership (Principal)
Organization and industry leadership (Partner or higher)
Set your course
September 1, 2010: “Making the big time”
It’s a question of time
The future’s so bright
Blame Canada!
Insects don’t have politics
Make it so
It’s alright for you
January 1, 2011: “Individual leadership”
There are many ways of going forward
Ask the expert
I know I’ve got a bad reputation
Quality is job one
That’s a stretch
What?
You can do it
8. Personal Bug Fixing
December 1, 2002: “My way or the highway—Negotiation”
An offer you can’t refuse
Grow up
A shadow and a threat have been growing in my mind
Don’t shoot the messenger
So happy together
February 1, 2005: “Better learn life balance”
Balance is key
Words without action
I can’t even balance my checkbook
Balance good...everything good
June 1, 2005: “Time enough”
Give it to me straight
Pardon the interruption
Find your happy place
None of us is as dumb as all of us
A burden we must share
Tell me what I must do
He’s just a kid
You deserve a break
Everything’s in order here
Keeping it real
Large and in charge
August 1, 2005: “Controlling your boss for fun and profit”
I have no hand
Know the enemy and know yourself
They succeed in adapting themselves
Selling water to fish
Eyes on the prize
Engage
Dare to dream
April 1, 2006: “You talking to me? Basic communication”
Think about me
Tell me what you want
You want it when?
Got a short little span of attention
Are we done?
March 1, 2007: “More than open and honest”
That’s no excuse
I’ll be honest with you
It’s not easy
They seem to have an open door policy
No place to hide
Not what I had in mind
Getting it right
March 1, 2009: “I’m listening”
Thanks for the advice
Tell me more about me
Back off, man. I’m a scientist
Now it’s my turn!
We have come full circle
We don’t have much time
July 1, 2009: “The VP-geebees”
Wisdom to know the difference
The secret of my success
A riddle, wrapped in a mystery, inside an enigma
Easy as 1, 2, 3
I read the instructions
Oh behave!
How’d I do?
December 1, 2009: “Don’t panic”
You should say yes
All other priorities are rescinded
Trust but verify
Know when to say when
I live to serve
August 1, 2010: “I messed up”
Make it right
Take responsibility
Deeply understand the fallout
Invite help to repair the damage
Ensure it doesn’t happen again
All better
March 1, 2011: “You’re no bargain either”
The good, the bad, and the ugly
Take all of me
I’ll accommodate you
We’ve gotta play to your strengths
Warts and all
9. Being a Manager, and Yet Not Evil Incarnate
February 1, 2003: “More than a number—Productivity”
Careful what you wish for
Playing a role
The makings of a great dev
You be the judge
September 1, 2004: “Out of the interview loop”
Blaming the help
Ninety percent preparation
That is the question
The whiteboard compiler
Prepping the recruiter
Prepping the interviewers (again)
A gentle reminder
The last puzzle piece
November 1, 2004: “The toughest job—Poor performers”
What did you expect?
Bite the bullet
Seeking professional help
Failure is not an option
The goal is success
Ask and you shall receive
You can’t always get what you want
September 1, 2005: “Go with the flow—Retention and turnover”
I’ll just walk the earth
Nice dam, huh?
Flowing like a river
Fresh meat
Sharing is caring
Room to grow
I must be traveling
Surrender to the flow
December 1, 2005: “I can manage”
The gift that keeps on giving
Good enough for me
Easy does it
I want to work
I’m not an object
Good to great
I serve
May 1, 2006: “Beyond comparison—Dysfunctional teams”
Trying to pick a fight
This is not a competition
I’ll give you a hint
One for all
March 1, 2008: “Things have got to change: Change management”
A change would do you good
Make your opening statement
You are ready then?
I’m in my prime
They could use a good pilot like you
Ready to make the leap?
Gone but not forgotten
There is nothing permanent except change
June 1, 2009: “I hardly recognize you”
Everybody wants results
The end may justify the means
The time has come to act and act quickly
Let us celebrate
I’d like to thank the Academy
All right, let’s review
October 1, 2009: “Hire’s remorse”
Hiring people instead of pipe dreams
I found myself much more reasonable
Well, what do you need?
You could even say that he has principles
I’m trying to tell you something about my life
November 1, 2009: “Spontaneous combustion of rancid management”
It’s not that bad
Do I look all rancid and clotted?
It’s a path made of principle
Oh, the noise! Noise! Noise! Noise!
All progress has resulted from people who took unpopular positions
January 1, 2010: “One to one and many to many”
A deeper purpose
Between you and me
Float like a butterfly
How am I doing?
Are we having fun yet?
You gotta trust me
July 1, 2010: “Culture clash”
You see the whole culture
Back off, man. I’m a scientist.
Environment
Individual
Is it deliberate?
I’m going to ask you a few questions
All together now
10. Microsoft, You Gotta Love It
November 1, 2001: “How I learned to stop worrying and love reorgs”
Down the Tower of Babel it goes
Life in hell
The road less traveled
Part of the problem or part of the solution?
March 1, 2005: “Is your PUM a bum?”
The man with a plan
I can’t wait to operate
The devil is in the details
The rules of the road
Back on course
September 1, 2006: “It’s good to be the King of Windows”
Have you any last request?
Prepare the ship
Set a course
Engage
Navigation
Accountability
Windows, the next generation
December 1, 2006: “Google: Serious threat or poor spelling?”
They falter, we flourish
Failure by design
Smart people, smart clients
Staying vigilant
Staying out in front
April 1, 2007: “Mid-life crisis”
You’ve changed
Just another tricky day
Leave little to chance
I don’t think the boy can handle it
Not getting any younger
Don’t panic
Nobody’s perfect
November 1, 2008: “NIHilism and other innovation poison”
Why the long face?
Compelling, and rich
I’ll do it myself!
Maybe I could turn this thing into my advantage
I’m good enough, I’m smart enough
Those who do not learn from history
If not me, who? And if not now, when?
February 1, 2010: “Are we functional?”
I’m PUMed
What’s your function?
Make the switch
You can go your own way
Finding the right mix
Glossary
A. About the Author
Index
About the Author
← Prev
Back
Next →
← Prev
Back
Next →