システムを作る上で難しいのがお客さんの話を聞く能力と開発する能力が乖離しているところである。
つまりお客さんと話したりする事が得意な人は大抵プログラムが苦手であり、プログラムが得意な人は大抵お客さんとの話が苦手だ。

さて、この状況がどのような事態を招くかと言うと・・・。
お客さんと話すのが得意でプログラムが苦手の人はどのようにしてシステムを作るかイメージが出来ていない状態でお客さんの話を聞く事になるため、お客さんの要望通りに作れなかったり追加料金が発生してしまう場合があります。(ある程度大きいサービスだとそれを見越して、初めから見積を1.5~5倍にしてお客さんに提示する場合が殆どである。。)

また、逆にお客さんと話すのが苦手なプログラマーはそもそも仕事を発生させる事が出来ない。お客さんと話すが苦手なプログラマーは局部的に物事を捉える事は得意だが全体像を捉える事は苦手な場合が多いので、もしお客さんと話しても自分が作れる仕様まで落とす事が出来ないため結局のところ作る事が出来ない。

今のIT産業は大体このような状況になっている。なのでシステムの値段は高く、お客さんの意見は開発者まで反映され難く失敗しやすい。
この状況の典型的な例はSIerに出ている。SIerは開発自体は行わないため上記の乖離している状況にまさに当てはまります。僕としてはこの状況でSIerに仕事を頼むなんて凄い博打を打つなーと思うのですが、他の方法で上手く仕事をしているところが無いため仕方が無いのでしょう。

TownSoftでは全てを同じプロジェクトメンバーで行っているのでこのような問題は発生しないのですが、前回書いたようにこれは僕のように一通りの工程の仕事が出来る人が1人必要になります。
と言う事で今回は僕の手法を書いていこうと思うので、僕のように一通りの工程が出来るように考えている人は是非参考にしてください。

まず、僕がやっている事を実践する前に一つ必ずやるべき事があります。
これをやった事が無い人は僕の記事を見ても何にも実践出来ないので時間の無駄になるでしょう。
そのやるべき事とは・・・

自分で一つのサービスを行う事

です。
なんでも良いので、自分で企画したサービスを自分でプログラミングして作り何かしらのサーバーに乗せて公開してください。どういう方法でも良いのでシステムを作って運営する工程を知っていれば、僕の書いている事が参考になると思います。

1.初めは概要だけをお客さんから聞く
僕はあまり頭が良くないので、初めからお客さんの話全てを理解する事は出来ません。
なので、お客さんのやりたい事の要点部分だけをまずは聞きます。どんなに複雑そうな話でも要点部分だけだとシンプルになります。
また、このお客さんによってはやりたい事が絵物語になっていて要点を聞き出すと以外と答えれない場合もあります。なので、この要点だけを聞くのはかなり効果的です。

それを聞き出す為に僕は以下の問いをしてます。
このサービスは何をするものですか?
これは基本的な問いです。
サービスの趣旨を聞く為のものです。これだけでサービスの概要が分かる場合もありますが、これだけでは情報が足りない場合があります。その時には以下の問いに移ります。
どうやってお金を儲けますか?
いわゆるマネタイズについて考えているかを聞きます。当たり前ですが、殆どの人はサービスを作ってお金を儲けたいと思ってます。なので、そのお金の流れを聞くとそのサービスが何をしたいのかが分かります。
意外かもしれませんが、初めてサービスを作る人はこの部分がとても甘いです。僕はこの分野についてのプロでは無いのですが、いくつものサービスを作ってきたので明らかに儲からないサービスは直ぐに分かります。(「それ、儲かりませんよ!」とは言いませんが、少し促します。)
どうやって人を集めますか?
マネタイズまで考えていても人を集める方法は考えられていない場合が殆どです。これを聞くとお客さんは考え始めます。そして「このサービスは○○をするもので○○でお金を儲けるから○○な人を集める必要がある」と言う感じで(悪い意味での)マスマーケティングからセグメントマーケティングに移っていきます。

これらの情報からお客さんが大切にしている事(要点)が見えてきます。


2.概要の部分を作り始めます。
上記の情報を元に概要(ラフ)を作り始めます。
まずは、全ての画面遷移部分だけを作ります。そうすると、システムの規模がおぼろげながら分かります。
その後にサービスに必要な最小限のテーブルとフォームを作ります。テーブルのカラムも最小限で作成します。
ここで、あれもこれもと考えると行き詰まります。これはこれと割り切って作りましょう。
この部分は少し知識があれば誰でも作れますので、さっさと作ってしまいましょう。

※慣れて来たら、この部分で後々必ず必要となるカラムを作っても良いですが初めての人はやめておきましょう。

3.お客さんと認識をあわせる。
概要部分だけのシステムを作ったらお客さんのイメージと合っているか確かめましょう。
ここで、お客さんとのイメージが大きくずれている場合はまだ1人で仕事をするレベルに達していないのでここで引き下がりましょう。
心苦しいですが、契約をしていなければここで引く事は全然問題ないです。良い勉強になったと割り切りましょう。

ここでイメージがあった場合は契約を交わしましょう。
見積書と契約書の準備に入りましょう。(何を納品するか、いつまでに作成するか、お金は幾らにしていつもらうのか?等を決めます。)

TownSoftでは基本的には75万以上で引き受け、納品後にお金を頂くようにしています。(基本的には手付金は頂きません。)


ここから先については通常の仕事の進め方に似てます。開発マネージャーとお客さんが入れ替わるだけです。(ただし、どの機能から作るかの舵は自分で切る必要があります。)
長くなって来たので、この先はまた必要に応じて書きます。


システム開発は是非TownSoftへどうぞ!



Twitterも宜しくお願い致します!
syou007