Life Hack

バレンタインデーが近いので恋人への条件を要件定義に例えてみた

おもしろ例えてみる

バレンタインデーが近いですね!みなさん、一緒に過ごす人はいますか?

Web制作において要件定義とは先に条件を決めておくことで目的の脱線防止、要はクライアントとの齟齬による事故を防げます。

これって恋愛にも言えて、付き合う前に「要件ちゃんと決めときゃよかったー」てことありませんか?

今回は恋人の条件を定義に例えてみました。

この記事を書いた人

かみーゆ/フロントエンドエンジニア

セブ島在住の気ままな海外ノマドエンジニア。IT業界10年。テクニカルディレクター・エンジニア講師・ブリッジSEを経て今に至る。CMS concrete5エバンジェリスト。テックブログ以外も「磨耗しない人生の選択」や「海外生活」のライフスタイルについて発信。好きなものは肉とビール。

Read More

きっかけ・友だちとの会話の中で気づきがあった

私、ぶっちゃけ恋愛というものが昔っから苦手です。

毎年「今年プライベートでも幸せになりたいなー」と思いつつ不器用でアンテナも鈍く、機会損失ばかりしてきました。

88thアベニュー

そんなとき友だちに「出会いたい恋人像ってちゃんと持っている?」って言われて、ハッと気付きました(ちなみに私は男女かかわらず自分のことをベラベラ話しします)。


私の恋人に対する前提条件は「風呂に入る」と「私の仕事をジャマしない」の2つくらいです。
あとは「目・鼻・口がついていればいーや」って、あまり気にしていません。しかも押されると折れてしまいます。

出会いたい恋人像の条件がすっごくぼんやりしているんです。指摘されるまで気づきませんでした。


ウェブ制作においても、そういえばどんな条件で制作するかを最初にきちんと決めていないと必ずと言っていいほど事故が起こります。


恋愛もそうかもしれない!

なので恋人の条件を要件定義に例えてみることにしました。

要件定義とは?目的はイメージを明確化すること

プログラマー

要件定義に関してざっくり説明です。

システム開発などのプロジェクトを始める前の段階で、必要な機能や要求をわかりやすくまとめていく作業のことです。 企画の進行とともに要件定義に立ち返ることも多く、目的の脱線を防止する役割も果たします。

では要件定義の手順に沿って要件を固めていきます。

立場は発注側と受注側に分かれます。

  1. 要望:サービスの根幹・アイデア(発注側)
  2. 要求:実装して欲しい大まかな機能一覧(発注側)
  3. 検討:要求の実現性を考える(受注側)
  4. 提案:検討した結果を提案(受注側)
  5. 要件:双方が合意した具体的な機能一覧と実装方法(双方)

フェーズ1 : どんな要望があるか

ウェブ制作でも、システム開発でも、発注側の要望があってはじめてサービスが作られます。

要件定義は要望を元に作られます。

この要望を聞き出すのが意外と難しいです。


たまーに「バーン、ガーン、シュシュシュって感じで作って」と言われます。

こんな具体性のかけらもない要望だと、マジで困りますよね。

クライアントから具体的な要望があると、どんなサイトが作りたいかイメージがつきます。

サイトが表示される前にかっちょいいローディングアニメがあって、表示されたら画像の切り替わるアニメーションがあって、ニュースが3件表示されて下の方にマップが欲しい。コーポレートカラーをアクセントカラーに使いたい。


恋愛においても、この要望がふわふわしているから失敗するんです。

そこで、自分がどんな恋人に対してどんな要望があるのか考えてみました。

安心して、自分を偽らず、ストレス溜めずに一緒に過ごせるような人

どんな人だったらこの私の要望を叶えられるか、次のフェーズ・要求で条件をリストアップします。我ながら書いていると泣けてきます。。。

フェーズ2 : 要望を叶えるために必要な要求をリストアップ

Web制作において、要望を叶えるためにやれる事項はたくさんあります。

具体的にはイメージスライダーは自分で画像が差し替えられるかどうかとか、ニュース更新のためにWordPressなどのCMSを入れるかなど。

あくまで今は要求のフェーズなので予算期間実装可能かなどは無視していいです。

必要な機能を1個づつリストアップします。

  • ローディングアニメ実装
  • イメージスライダー(画像の変更可能)
  • ニュース投稿可能
  • Googleマップ埋め込み
  • …などなど


Web制作での要求と同様、「こんな人だったら私の要望を叶えられるだろうなー」という恋人の条件を「風呂に入る」と「私の仕事をジャマしない」の2つ以外もリストアップしてみました。

リストアップしてみました

※ すでに4回書き直しているのでバージョン1.4.0です。

ただ列挙するだけではなく、きちんと「なぜその条件が必要か」の理由も考えました。


たとえば1つ例にとります。

母親を大切にしている人(家族の愛を感じて育った人)」ですが、私実の母が大好きで子どもの頃も今も彼女が母親で幸せだなーって日々思います。

そういう気持ちが共感できたら幸せですし、「お母さんを大事にする人」は恋人や奥さんも大事にするという持論があります。


このリストには理由を裏付けできない条件はないです。

ちなみに私は理想が低いと豪語してたのですが余裕で30項目くらいありましたww

あくまで要求のフェーズなので予算期間実装可能などは無視していいのでこれでOKです。

フェーズ3 : 要求の実現性を検討する

Webサイト制作においてリスト化された要求を可能な限り実現してあげたいのですが、そうもいきませんよね。

  • 技術的に開発可能か?
  • 予算はどの程度必要か?
  • 納期はいつ頃になるか?

たとえばイメージスライダーをクライアント側で差し替えしたい。その機能を実装するためには実装に5日かかる。

などなど、予算や納期などと要求を擦り合わせていきます。


では恋人の条件においてです。私は絶対に「お風呂に入ってくれる」のを優先したい!など、どの項目を優先するかのフェーズが「検討」にあたります。妥協という言い方がしっくりくるかもしれません。

私は「タバコ吸わない人」という項目を条件に挙げましたが、「お風呂に入ってくれる」ことの方がよっぽど重要。

なので余裕で諦めます。

フェーズ4 : 検討した結果を提案する

Web制作では予算や期日を加味して実装できる機能を戻します。

  • 実装できる機能
  • 請求する金額
  • 納品できる期日

ここで発注者側へのアドバイスです。

あとで変えてもらえるだろう」とか甘いことを思わず、しっかり詰めてください。

要件定義が甘いからあとで揉めるんです。後味悪いくらいならとことん詰めておきます。


改めて提案のフェーズを恋人の条件を当てはめて考えました。

この時点で「『まあいっか』って気持ちで付き合うからしっくりこなくて別れるんだろうなー」と遠い目になりました。


どんな条件が譲れないかちゃんと見極めて、変な妥協をしない(自戒)ことが重要です。記事を書きながら猛省しています。人生を振り返ると現実逃避したい気分です。

なので、このプロジェクトの納期は私が死ぬまでという設定にしておこうと思います。

フェーズ5 : 双方が合意したことを要件にまとめる

最後に、クライアントの要望と納期・機能・予算を擦り合わせて双方の納得いった要件のみを定義してまとめます。

クライアントが納得してもらうまではフェーズ2 ~ 4を繰り返す感じになるかと思います。

要件定義はプロジェクトを進める上で発注側がちょっと違うことを言ってきても「要件定義にないですよ」って突っ込める材料にもなります。


私も受注してくれる人(恋人)が見つかるまで、要件をブラッシュアップしようと思います。

理想のカップル

私のゴールは安心して自分を偽らず、ストレス溜めずに過ごせる人を見つけて末長くお付き合いすること。

ブレないように心に要件定義を刻んでおきます。

まとめ

今回はバレンタインデーが近いので、恋人の条件を要件定義に例えてみました。

ストリートスケープのカフェで氷コーヒー

カフェで「今年こそ恋愛面で幸せになりたい!」て言っていたら、友だちに恋人にしたい条件をリストアップすることをすすめられました。

私は言われたら即やるタイプ。その日帰って早速リスト化してみました。

条件を絞り込んでるうちに「これって要件定義に似てるなー」って思い、記事化することにしました。


友だち曰く、「毎日そのリストを見ていたらそういう人が見つかる」とのこと。

さらに「自分もリストの条件の恋人にぴったりな人間へなれる」とのこと。


なんだか意味もなくワクワクしてきましたw


この記事がみなさんの要件定義?恋人探しの一助となれば幸いです。

最後までお読みいただきありがとうございました!

参考サイト

要件定義~システム設計ができる人材になれる記事

「銀ねこアトリエ」のブログを定期購読しよう

Feedlyに登録する