21
Good Software 2010 オブラブ2010夏 デザイン倶楽部 森田秀幸(emeitch)

Good Software

Embed Size (px)

Citation preview

Page 1: Good Software

Good Software

2010 オブラブ2010夏デザイン倶楽部 森田秀幸(emeitch)

Page 2: Good Software

自己紹介

名前: 森田 秀幸

職業: プログラマ

ときどき執筆

Twitter: @emeitch

Page 3: Good Software

2006年にESMへ

•アジャイルな開発というものを実践している現場で直に触れ、肌で感じてみたいという思いで転職。

•それから4年ほど経った。

Page 4: Good Software

4年で感じたこと•アジャイルな考え方やプラクティスを導入することで、うまくソフトウェアを作れるようになってきたな、という実感を持った。

•しかしその一方で、煮え切らない思いも募ってきた。

Page 5: Good Software

煮え切らない思い

確かにソフトウェアをうまく作れるようにはなってきたけれど、それが本当の目的だったのだろうか...?

Page 6: Good Software

Page 7: Good Software

私の真の目的

当然ソフトウェアをうまく作れるようにはなりたいけれど、少なくとも私が本当にやりたかったこと、それは良いソフトウェアを作れるようになることだ。

Page 8: Good Software

似て非なる

ソフトウェアをうまく作る

良いソフトウェアつくる

Page 9: Good Software

良いソフトウェア

良いソフトウェアとは、価値が高いソフトウェア

Page 10: Good Software

価値が高いソフトウェア価値 = 嬉しさ ÷ 負担

嬉しさ(ベネフィット) ... 機能的 / 感性的

負担(コスト) ... 金銭的 / 時間的 / エネルギー / 精神的

負担に対して嬉しさの割合が高いソフトウェアが価値の高いソフトウェア、つまりは良いソフトウェア。

Page 11: Good Software

誰にとっての•開発メンバー•開発会社•顧客•社会•そして何よりユーザ

Page 12: Good Software

アジャイルは価値を高めないのか?

•嬉しさを作り上げて行く、という意味では大きく貢献できる。負担の軽減にも貢献できるかもしれない。

•しかし、そもそも何をつくれば「嬉しさ」につながるのか? という部分については何もサポートされない。

Page 13: Good Software

アジャイル開発

•「どうやって作って行くべきか?」という問いに対する解の一端を見ることはできる。

•しかし、そもそも「何を作るべきか?」という問いには答えてはくれない。

Page 14: Good Software

どうすればいいの?•アジャイル開発が広がりつつある今、「どう作るべきか?」を超えて「何を作るべきか?」というポイントが、今後ボトルネックとなるのは確実です。

•何が「嬉しさ」なのか、というものを探求する術が必要です。

Page 15: Good Software

例えばUXD/UCD•User Experience Design•User Centered Design

機能、UI、使い勝手といった要素を包括しつつ、さらにそれを超えてユーザにとっての嬉しさを追求し、デザインしていく手法。

Page 16: Good Software

他にもある•何故作るのかを追求する•理念やビジョンを明確にするなどの経営的手法

•Value Product Owner•スクラムのプロダクトオーナー側がどうやって「価値」を作り上げるかのスキルセット。Kai Gilb考案。

Page 17: Good Software

FAQQ1.言いたいことは分からなくもないのですが、どちらかといえば私はソフトウェアをうまく作れることに注力したいのですが?

A.スクラムでも価値を定義づけるという役割は開発者でなく、プロダクトオーナーに与えられていますので、自分はうまく作ることに注力して、価値の定義付けはプロダクトオーナーにその役割を任せるというあり方は全く問題ないと思います。

ただしその場合、開発者は価値を高めるという考え方を、プロダクトオーナーはうまく作るという考え方を、お互いに尊重しあうという心は忘れていはなりません。陰陽の心です。

Page 18: Good Software

FAQQ2.私は(バグが無い|コードが綺麗な|アーキテクチャが素晴らしい|e.t.c.)ソフトウェアが良いソフトウェアだと思ってるんですが。

A.良いソフトウェアの定義は、あくまで私の定義です。それぞれが己の信じる「良いソフトウェア」を定義すればいいと思います。ただし、あなたの考える良いソフトウェアが、ユーザの笑顔に直結しているかどうか一度は考えてみた方がよいと思いますよ。

Page 19: Good Software

FAQQ3.価値の高いソフトウェアとか言っても、結局はお客さんの言う通りに作らないと、食べて行けないんだよねぇ...。

A.いわゆる受託ビジネスでは、契約内容、開発会社と発注元の関係、プロジェクトの体制などの要因で、ソフトウェアの価値を高めるという観点で開発を進めるは難しい、という場合がほとんどだと思います。それに対する打開策を私は持っていませんが、ステークホルダーを説得するなど政治的に解決するよう立ち回る、受託の契約内容を改めてみるなどの方法で解決できるかもしれません。また過激な方法ですが、受託というビジネスを見限り、自分達で価値を定義付けできるサービスやパッケージビジネスに転向してしまうのも手かもしれません。

Page 20: Good Software

まとめ•「嬉しさ」を追求し、「負担」をできるだけ軽減することで、価値を高めたソフトウェアが良いソフトウェア。

•これからも「どう作るか?」という観点は重要であるが、「何が嬉しさなのか?」という観点がより重要となってきている。そこに対応していくべき。

Page 21: Good Software

ご清聴ありがとうございました