PHPはプログラミング言語の中では文法が覚えやすく、初心者にも取り組みやすいと言われています。しかし分かりやすくフレキシブルな言語なだけに他の言語との連携も多く、PHPの知識だけでは仕事が完結しないことがよくあります。W […]
WEBサービス企画・保有未経験のクライアントとのPHP開発体験談
不動産仲介会社のチャットシステムを含む接客&顧客管理WEBサービスの開発をPHPにて開発しました。
PHPを用いた中期開発に関する体験談
私が不動産会社の顧客接客管理システムをPHPを用いた開発の体験です。
依頼の段階では、3か月200万円という形でしたが、実際は6か月で300万円となりました。
会社員時代とは違い、顧客との取り決め・中間報告など、すべてセルフで行わなければならず、
ブリッチの経験が無い私には、WEBサービスの運営経験が無い顧客とのコミュニケーション部分が最も苦労し、また良い経験となった部分でした。
開発依頼経験のないクライアントとの出会い
クライアントとの出会いは、登録していた案件紹介WEBサービスの担当営業からご紹介頂きました。
ある程度、細かい案件を成立させていくと、担当が付くというのをこの顧客を紹介頂いた時知る事となりました。
フリー成り立て。コネの仕事が無い方はこういったWEBサービスを利用する事が多いかと思います。
その場合、これまでの給与を時給換算して案件を選びがちですが、登録制はじめは信頼を取る気持ちで、数本平行して出来るような短期案件で紹介サイト運営側の信頼獲得を選ぶ事が安定への近道な気がします。
顧客管理とリアルタイム接客が一体化したWEBサービスの開発依頼
前記した担当からの紹介で顧客会社へ訪問。
既に不動産業界で少数だが、運営を開始してるWEBサービスを真似て作れないか?
というクライアントの要望でした。
このWEBサービス開発を通して学んだ事
実際に起こった事を時系列でお伝えするのが一番の参考かと思いますので書かせて頂こうと思います。
顧客会社は、すべての社員がパソコンをメールや簡単なクラウド管理システムを利用する程度の理解度で、WEBサービス当の運営は未経験。
予算や工期だけでなく、運営にあたりどの様な固定コストが掛かるか等、コンサル的な内容から入らねばならならず、単純な開発とはならない案件でした。
サーバとは何か?といった基本的な部分からの説明になり、最初の1週間は、クライアント社内で、ホワイトボードを用いて、顧客担当者&役員へWEBサービスの
運営の基礎知識をご説明。
非常に心配だったのは、顧客とのファーストMTGでランニングコストとメンテの認識が全くなく、予算を見ておらず案件がボツになる可能性があった事でした。
あまりその点には触れず、単に要望のシステムを開発する事も考えたのですが、メンテやマイナーチェンジなどの継続的な仕事獲得を考え上記の「コンサルからしますがいかがでしょう?」といった商談へ持ち込み案件を獲得しました。
WEBサービスを保有する会社であればおそらく3か月で終わるような内容だったのですが、「では、○○と○○の機能と○○を実装した形で始めます。UIに実装するステータスは何時送って頂けますか?」といってもクライアントに自分たちが欲する機能がどの様な機能なのか明確なビジョンが無くみさん顔を見合わせる感じになっていました。
そんな感じでしたので、1か月ほどは、週2回1h程訪問して担当さんへヒアリング。
それを持ち帰り、手書きのラフな設計図やUIを少しずつ作って、それを持って次回お会いする事からはじめました。
しかし、設計図やUIのスケッチを見せるだけではなかなか顧客様にイメージを持って頂いて内容を決定するに至りませんでしたので、実際に核になる、運営会社側UI・WEBサービス利用者側のUIを絵ではなく静的なページでモックを作成して実際に触って頂いて、クライアントが自分達が欲しい機能を具体的にして少しずつ決定していきました。
上記の段階では、土地面積や法的な規制(容積率や建ぺい率)などのステータスが全くないラフなUIモックです。
不動産のステータスは非常に多かったので、不動産会社しか利用できない不動産情報サイトを解析させて頂いて必要なステータスの取集やそれをUIに落とし込む作業を1か月程行いました。
サンプルがあるのに1か月も要した理由は、クライアントの要望は単に上記の不動産情報サイトのステータスの丸写しではなく、実務に必要な最低限に留めたいとの要望がだったので、UI上にステータスを実装して、項目削りをしていく作業とそれらステータスをクライアントの求める視認性に調整するのに時間を要しました。
WEBサービス利用者側のUIはクライアントの持っていたエクセル製の接客シートをREデザインして実装これは1週間程と比較的短い期間で決定しました。
ここまでで決まったすべてのステータスと機能を含んだ決定案のUIモックから、スマホ用ビューの別UIを作成して、PHP部分の製作に入りました。
顧客は実際に稼働させてから、実際に扱っていく営業担当の使用感からフィードバックを得て小さい変更を加えていく方針で最初は大々的な宣伝はしないとの事でしたので、アクセス負荷の分散はあまり重要としませんでしたが、サービスの性質上、一旦止めてリニューアルして再開が出来ないWEBサービスでしたので、PHPフレームはYiiを選択し、開発スピードより大規模化に耐えうる形を取りました。
仕様が決まってからも、PHP部分構築中に顧客の依頼でUIの変更があり、それに伴ってPHP部分への手入れがあったので、3歩進んで2歩下がる状態の開発となり、気が付けば6か月という長期の案件になり、伴って報酬も予定よりかない多い額になりました。
クライアントは最初定額のつもりでしたので、長期化に伴っての報酬UP交渉はなかなか大変でしたが、案件に入る前に「WEBサービスすべてに共通する基本的な事」のプレゼン(コンサル?)を怠らなかったので、最終的にはご納得頂けたのは非常に良い経験になりました。
もし、このプレゼン・コンサルを行ず開発に入っていたら、炎上案件になる可能性が非常に高かったと終わってみて思いました。
私の経験ではこのクライアント以外もWEBサービスを企画・保有した事の無いクライアントは、少し言葉は悪いですがWEBサービスはスーパーで買い物する感じで買えると思っていて、ランニングコストやマイナーチェンジ・管理の意識もありません。
ですので、上記のランコス等の理解や、「どんなものが欲しいかは自分達で定義する」というのをまず説明して、それらのコストも盛り込めるか確認してからでないと、
「話が違う」となってしまう可能性が大いにあるので、しっかりとした事前説明して、それでも開発する”確認”を怠らない方がいいかと思います。
難航した話や注意点ばかり羅列しましたが、事前の説明がうまくいけば、私は殆どの場合、当初の依頼より長期化し報酬もUPしています。