E D R , A S I H C RSS

Learning To Drive

I can remeber clearly the day I first began learning to drive. My mother and I were driving up Interstate 5 near Chico, California, a horizon. My mom had me reach over from the passenger seat and hold the steering wheel. She let me get the feel of how motion of the wheel affected the dirction of the car. Then she told me, "Here's how you drive. Line the car up in the middle of the lane, straight toward the horizon."

I very carefully squinted straight down the road. I got the car smack dab in the middle of the lane, pointed right down the middle of the road. I was doing great. My mind wandered a little...

I jerked back to attention as the car hit the gravel. My mom (her courage now amazes me) gently got the car back straight on the road. The she actually taught me about driving. "Driving is not about getting the car goint in the right direction. Driving is about constantly paying attention, making a little correction this way, a little correction that way."

This is the paradigm for XP. There is no such thing as straight and level. Even if things seem to be going perfectly, you don't take your eyes off the road. Change is the only constant. Always be prepared to move a little this way, a little that way. Sometimes maybe you have to move in a completely different direction. That's life as a programmer.

Everythings in software changes. The requirements change. The design changes. The business changes. The technology changes. The team changes. The team members change. The problem isn't change, per se, because change is going to happen; the problem, rather, is the inability to cope with change when it comes.

The driver of a software project is the customer. If the software doesn't do what they want it to do, you have failed. Of course, they don't know exactly what the software should do. That's why software development is like steering, not like getting the car pointed straight down the road. Out job as programmers is to give the customer a steering wheel and give them feedback about exactly where we are on the road.

from "Learning To Drive - XP explained"

안되는 영어로 읽고 있는 중인 XP Explained 중. (제대로 뜻을 이해한건지. -_-;)
소프트웨어 개발을 운전을 배우는 것에 비유한 설명이 재미있네요. software project 의 Driver 는 customer 라는 말과.. Programmer 는 customer 에게 운전대를 주고, 그들에게 우리가 정확히 제대로 된 길에 있는지에 대해 feedback 을 주는 직업이라는 말이 인상적이여서. 그리고 customer 와 programmer 와의 의견이 수렴되어가는 과정이 머릿속으로 그려지는 것이 나름대로 인상적인중. 그리고 'Change is the only constant. Always be prepared to move a little this way, a little that way. Sometimes maybe you have to move in a completely different direction. That's life as a programmer.' 부분도.. 아.. 부지런해야 할 프로그래머. --;


최근 무지 하기 싫어하면서 억지로 했던 알바 하나가 있었죠. 기획도 늦게 나오고, 그러면서 해당 기일에는 제대로 맞출것을 얘기하면서 '너희들이 고생 좀 해줘라' 식으로 말하는 것도 괭장히 맘에 안들었었고. 시간쫓기며 프로그래밍 하는 중간에 '이기능 넣으면 어떻겠니? 이렇게 했으면 좋겠는데..'

그때는 괭장히 짜증나고 그랬었는데.. 한편으론 제가 도량이 더 넓었다면 어땠을까 하는 생각도 해봅니다. 애시당초 기획할때 제가 아는 범위 내에서 도와주려고 노력했다면, 프로그래밍 중간중간 완성된 것 보여주면서 원하는 것에 대해 제대로 수렴을 시킨건지 물어봤었더라면.

자기 자신의 게으름은 간과하면서 그러면서 맨날 뒷통수 치는 것이 '개발이 어떤 것인지 이해하는 사람이라면 이런식으로 일처리를 안할텐데..' 라는.

  • 하지만. 한편으론 '이상적인 만남' 일때 가능하지 않을까 하는 생각도. Communcation 이란 상호작용이라고 생각해볼때.
  • 나중에 뒷통수를 정당하게 때릴 수 있으려면(^^;) 일단 '자신의 의무에 충실'해야 겠죠.
  • 다른 건 몰라도 '게으름' 은 정말 죄악같다라는. -_-; 어떤일에서건.

--1002

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0956 sec