« 2007年6月14日

2007年6月22日の投稿

2007年6月27日 »

思いやり駆動開発(ODD)

ソフトウェア開発を成功させる、もっともシンプルな「こころがけベース」のアプローチである。オブジェクト倶楽部2007夏イベントで発表された。ここでは、ついカッとなって私なりにこのコンセプトを膨らませてみたい。

ソフトウェア開発はコミュニケーションでできている。ソフトウェアの欠陥が発生しやすいのは、人と人の境界、プロジェクトとプロジェクトの境界。そしてそこにはコミュニケーションが生まれている。コミュニケーションには相手があり、その相手を「思いやる」ことが、大切だ。読み手のことを思いやるコードを書こう。システムのユーザを思いやる仕様にしよう。そんなシンプルな「こころがけ」だ。

具体的には、こういうこと。

  • システムを実際に使う「ユーザー」を思いやろう。ストレスなく使え、「思った機能がそこにある」ようなシステムにしよう。そのユーザが普段使っている言葉のUIを提供しよう。製品開発では、具体的な「顧客像」を得るのが難しい。その場合でも、ペルソナ、のような「おもいやりproxy」を立てて、具体的な相手を意識し、その相手を思いやろう。
  • 人が読みやすいコードを書こう。コードはコンピュータに読ませるために書くのではなく、このコードを読む相手を思いやって書く。このコードは読みやすいだろうか?と常にと自分に問いかけよう。 if (flag) と書かない。flag はコンピュータの立場の言葉。このコードを読んでいるのはペアプロの相手、将来のメンテナンス、あるいは将来の自分だ。読みやすいコードを書こう。
  • コードの使い手が使いやすいインターフェイスにしよう。自分が書くコードは、その実装ではなくインターフェイスに着目し、それが使い手から見てわかりやすいか、ということを常に吟味しよう。TDD(テスト駆動開発)は、このアプローチの極端な手法。最初に使い手が「こうやったらこうなる」という想定をテストとして書いてしまい、その後で、そのテストをパスする実装を書いていく。そこまでやらなくても、実装よりも、インターフェイスを入念にデザインしよう。名前重要だ。
  • 読みやすいコードが書けることを支援しよう。RubyのActiveSupportを見たときにびっくりした。コードを書く人が、20分前、という時間を 20.minutes.ago と書ける。言語やライブラリの側で工夫をして、コードを書く人が、読みやすいコードを書けることを支援しよう。ActiveSupportより前の時代でも、Ward Cuningham も、today = november(20, 1997) というコードを書いている。
  • コードには、「意図」をコメントしよう。他人のコードを読んでこう思ったことはないか?「なぜ、ここでこうしているのだろう?」 人間というのはある事柄を理解をするときに、その事柄とその事柄の理由を対にすることで、納得することができる。読み手を思いやり、コードには、なぜ、をコメントしよう。7 * 24 * 3600 と書いたら、「週7日24時間無停止」というコメントを1行入れるだけでもぜんぜん違う。
  • モデルにも、「意図」をコメントしよう。UMLやER、業務フローなどのモデルは、読み手が読むのは時間がかるものだ。読み手を思いやるコメントを入れよう。ここでも、「意図」が重要だ。なぜ、こう分析したのか。そもそもこのモデルを書いた理由はなんだ?
  • アーキテクトも実装に参加しよう。これはJim Coplienの「Architect Also Implements」という組織プロセスパターンだ。「私は世界を作った。この世界で下々は開発すべし。」というマトリクスの「アーキテクト」は間違っている。そんな「俺俺フレームワーク」には思いやりがない。使う側に立ったフレームワークやアーキテクチャを作るには、その上で動くアプリケーションの実装に、アーキテクト自身が参加することが必要だ。
  • 品質保証、テスト、は違った視点の思いやりだ。「相手の裏をかいてやろう」という考え方ではなく、「相手の気づいていないことを気づいてあげよう」と考えよう。あの人ならどう考えるかな、と想像力を使って、テストをしよう。

このように、相手への思いやりという「こころがけ」を基本に考えるだけでさまざまなソフトウェアの活動に応用がきく。さて、ではどのようにこの「相手への思いやり」をはぐくむことができるだろう。「相手」を具体化することはとても重要に思える。たとえば、顧客、ユーザー、実際の開発メンバー、自分のコードを読むであろう人、使うであろう人。。。。そしてその相手とできるだけ会話をすることで相手を理解しよう。一番いいのは、その相手と「食事をする」ことだ。これは、時代と分野を超えて使える。人間の底辺の欲求を共に満たし、おいしい、という感情をともにすることだ。

思いやり駆動開発では、ソフトウェア開発を「ロジック中心」の思考から「感情重視」の思考へと変革する。仕様書には書かれていない、「行間感情」を伝えるために、共感力と想像力を使って、相手を思いやろう。相手に興味を持とう、相手を理解しようと努力しよう、相手に感謝しよう。ソフトウェア開発に、3K(興味、共感、感謝)を導入したいのだ。

ソフトウェアは人が人のために作っている。この仕様書は誰に読んでもらう?そのプログラムは誰を幸せにする?そこを忘れてしまった成果物は、悲しい。

詳しくは、igaiga さんのページを参照のこと!
http://igarashikuniaki.net/tdiary/20070620.html#p01

※余談だが、仕事を終えて帰ってきて、妻と遅い夕食を摂っているときの話。疲れている私に、妻が長い話を始める。「今日、PTAでね、こんなことがあってね。。。」、「それでね、○○さんがこういうのよ。。。」、「そしたら会長さんがね。。。。」、「それで私も困ってね。。。」という話が延々続く。仕事脳のままの私は、「ご、ごめん、結論から言って。」とつい言ってしまう。そして、「そういう場合は、誰々と話をまずして、ああして、こうしたらどう?」と解決策を提示してしまう。そして、結局妻の顔を逆に曇らせてしまうのだ。そして、後で気づく。彼女が欲しかったのは解決ではなくて共感。「あぁ、そんなことがあったのか。本当に大変だったねぇ。」という共感の一言だったのだ、とわかる。相手を思いやることは、ロジックよりも感情を大切にし、相手の気持ちを分かろうと努力する「態度」なんだ。いい加減な態度で、ロジックで解決しても、相手をしあわせにはしない。まず共感すること、おもいやること。そこからはじめ、次にロジックを使おう。

平鍋

Oblove2007 今年も開催、盛況のうちに本会、懇親会を終了することができました。スポンサーのかたがた、来場のみなさん、ありがとうございました。僕自身がとてもエネルギーをもらった時間でした。

←この写真は、会場の前で道案内をしている自分です(^_^)。RubyKaigi2007でogijun さんも言っていましたが、これって楽しいんです。来て頂いたみなさんが、この日、一番最初に目にするのがこの看板。みんなの、にこ、っという表情がぼくの宝物。

さて、江渡さんの主賓講演、『WikiとXPをつなぐ時を超えたプログラミングの道』とても良かった。研究と分析がしっかりしてる。そして、Wikipedia を Wiki と読んでよいか、という謎かけ。僕もあの400行のPerlスクリプト、ダウンロードしてびっくりしたことを思い出した。

大田さんのGTD+Rも勢いあった。いいたい事がはっきりしていてシンプル。あの紙の折り方良く考えてある。

ワールドカフェには、ぼくも真剣に参加しました。「モチベーションのあげ方」では、中村文彦さんたちと同じテーブルで、「モチベーションを一気に上げるほめ方」、「モチベーションを一気に下げる上司の一言」、「上手なしかり方」、を議論しました。「ステークホルダーとの信頼関係」のテーブルでは、信頼関係の作り方を議論。ぼくも、いろいろ発見がありました。

そして、ライトニングトークス。今回は司会を任されました。18人90分、というフルスペック!「とりあえずやってみる」、「せっかくだから、幹事」、「おもいやり駆動開発」、「ドラムファシリテーション」、「オージス総研から参加はアウェイだが自宅はホーム」、などなど、とてもバラエティに富んだ発表が続きました。

この業界のそれぞれの職場から、何かをもちよって、コミュニケーションし、何かを持ち帰ってくれたら嬉しい。3K(興味、共感、感謝)を共有できたら嬉しいです。

トラックバック集は、こちら。
http://www.objectclub.jp/event/2007summer/comment.html/ping

平鍋

« 2007年6月14日

2007年6月22日の投稿

2007年6月27日 »

» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

平鍋 健児

平鍋 健児

株式会社チェンジビジョン代表取締役社長、永和システムマネジメント副社長。
オブジェクト指向開発、UMLの勘所、アジャイルな開発手法の未来、マインドマップのソフトウェア開発での利用方法、プロジェクトファシリテーション(見える化)を語ります。現在、マインドマップとUMLの融合エディタ、astah*(アスター、旧JUDE)を開発中。

詳しいプロフィール

Special

- PR -
最近のトラックバック
カレンダー
2013年4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
hiranabe
Special オルタナトーク

仕事が嫌になった時、どう立ち直ったのですか?

カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ