Learning to Say yes

The language of commitment


  • You say you'll do it
  • You mean it
  • You actually do it

Signs of non-comitment


Need\should. “We need to get this done.” “I need to lose weight.” “Someone should make that happen.”

Hope\wish. “I hope to get this done by tomorrow.” “I hope we can meet again some day.” “I wish I had time for that.” “I wish this computer was faster.”

Let’s. (not followed by “I . . .”) “Let’s meet sometime.” “Let’s finish this thing.”

What does commitment sound like?



I will ... by ...





Scary Right?

What happens if I depend on Gary?


Sit down for an hour with Gary from the infrastructure team to understand your dependencies.

Create an interface that abstracts your module’s dependency from the other team’s infrastructure.

Meet at least three times this week with the build guy to make sure your changes work well in the company’s build system.

Create your own personal build that runs your integration tests for the module.

I don't know if it can be done


Instead of committing to fix all 25 remaining bugs before the release (which may not be possible), you can commit to these specific actions that bring you closer to that goal:


Go through all 25 bugs and try to recreate them.

Sit down with the QA who found each bug to see a repro of that bug. 

Spend all the time you have this week trying to fix each bug.

I commited, but I just realized I can't really make it


  • Let your co-workers, and the person you committed to know this. But do it on time. 
  • If midway through the work you realize this, communicate it immediately, don't wait until 8:17 AM

The other side of Try


Marge: “Peter, will you have the rating engine mods done by Friday?” 

Peter: “I think that’s doable.”


Marge: “Will that include the documentation?” 

Peter: “I’ll try to get that done as well.”


A little more professional:


Marge: “Peter, will you have the rating engine mods done by Friday?”

Peter: “Probably, but it might be Monday.”

Marge: “Will that include the documentation?”

Peter: “The documentation will take me another few hours, so Monday is possible, but it might be as late as Tuesday.”


Committing with discipline


Marge: “Peter, I need a definite yes or no. Will you have the rating engine finished and documented by Friday?” 

Peter: “In that case, Marge, I’ll have to say no. The soonest I can be sure that I’ll be done with the mods and the docs is Tuesday.”

Marge: “You are committing to Tuesday?” 

Peter: “Yes, I will have it all ready on Tuesday.” 


Barganing


Marge: “Peter, Tuesday gives me a real problem. Willy, our tech writer, will be available on Monday. He’s got five days to finish up the user guide. If I don’t have the rating engine docs by Monday morning, he’ll never get the manual done on time. Can you do the docs first?”

Peter: “No, the mods have to come first, because we generate the docs from the output of the test runs.”

Marge: “Well, isn’t there some way you can finish up the mods and the docs before Monday morning?” 

What to do with this situation?

So what should he tell Marge?

Peter: “Look Marge, there’s a good chance that I can get everything done by Monday morning if I put in a few extra hours on Saturday.”

Does that solve Marge’s problem? No, it simply changes the odds, and that’s what Peter needs to tell her.

Marge: “Can I count on Monday morning then?”

Peter: “Probably, but not definitely.”

That might not be good enough for Marge.

Marge: “Look, Peter, I really need a definite on this. Is there any way you can commit to get this done before Monday morning?” 

Where professionals draw the line


Peter: “No, Marge, there’s really no way I can be certain about any date before Tuesday. I’m sorry if that messes up your schedule, but it’s just the reality we’re faced with.”

Marge: “Damn. I was really counting on bringing this one in sooner. You’re sure?”

Peter: “I’m sure that it might be as late as Tuesday, yes.”

Marge: “OK, I guess I’ll go talkto Willy to see if he can rearrange his schedule.”


Where professionals draw the line


Marge: “Peter, look, I know this is a huge imposition, but I really need you to find a way to get this all done by Monday morning. It’s really critical. Isn’t there something you can do?”


Peter: “OK, Marge, I’ll tell you what. I’ll call home and clear some overtime with my family. If they are OK with it, then I’ll get this task done by Monday morning. I’ll even come in on Monday morning to make sure everything goes smoothly with Willy. But then I’ll go home and won’t be back until Wednesday. Deal?” 


Bottom Line


Professionals are not required to say yes to everything that is asked of them. However, they should work hard to find creative ways to make “yes” possible. When professionals say yes, they use the language of commitment so that there is no doubt about what they’ve promised.

Coding is challenging


  1. Your code must work 
  2. Your code must solve the problem set of the customer
  3. Your code must fit well into existing systems
  4. Your code should be readable by other programmers

When you should NOT code


  • At 3 AM
  • When you don't have enough focus/concentration
  • If you have distress/just argued with someone




"The Flow"




Music




Interr/uptions




Writer's Block




Debugging




It's a marathon,
not a sprint

Few things to consider


  • Know when to walk away
  • Driving Home
  • The Shower

Being Late


  • Hope
  • Rushing - You can make it!
  • Overtime. Only if:
    • You can personally afford it
    • It's short-term
    • Your boss has a plan B
  • False Delivery / Define "Done"
Made with Slides.com