誠実な開発とは

この前、会社の仲間たちと「誠実な開発」って話をした。


何をもって「誠実」なのかはそれぞれ解釈があると思うけど、僕たちは「お客様に正直である」、「お客様に嘘をつかない」が繋がると思っている。


納期間近になってお客様に「この機能は納品できないかもしれません」と調整したり、MS-Excel で書かれたよく分からない画面デザインを見ながら、適当に「これで大丈夫と思います」と言うのは、騙すつもりは無いがそれは不誠実だと思う。

単にビジネス面で成功を考えるなら超絶なスキルであったり、巧みな交渉術などがあれば、そんなもんは必要ないかもしれない。
けど、僕みたいな普通のちょっと下な人間にはもちろんそんなスキルは無い(www


ちゃんと、どういった開発を行なっているか open にし、また、実際に画面だけでも動作するものを前にお客様と談笑しながら、システムのイメージを膨らませていく。そういった普通の事が「誠実な開発」だと思う。
また、実は「正直は割に合う」という事は少しづつ認知されてきている。(たぶん、ググれば出てくる)


では、実際にどうすればいいんだろう??

今、僕の手の中には開発を open にしていける Agile 開発手法と、お客様に実際のシステムを早く見せれる可能性がある Ruby という二つの道具がある。


あとは、それを持って前に進むかどうかを選ぶだけなのだろう。