過去を振り返ると、新規開発プロジェクトを結構多く担当させてもらってたので、
プロジェクト進行の俺的Tipsを、いまさらながら綴ってみる。
#全てうまくできているワケではないけど・・・。
■目的の共有
・ユーザー向けサービスである以上、「ユーザーに価値のあるもの」って目的は自明。
・チームに共有すべきは、「定量的な事業目的」(ex.PV,UU,DL数,収益,etc)。
・具体的数字は確実に出せないにしても、どれに重きを置くかは共有できるはず。
・これが伝わってないと、チームでブレストしても方向がズレる。
■心血注いで仕様書作成!
・仕様を見える化しないと、動くモノにズレが生じる。
・開発開始時点で詳細仕様を全て決められるワケはないけど、
それでも開始までに細かいところを出し切る。
・細かいところって何かと言うと、
例えば「◯順でリスト表示し、◯件毎にページング」とか「投稿画像の大きさは◯MBまで」とかとか。
・実際に使う事を想定し、一挙手一投足の仕様が必要。
てかプログラマーは一挙手一投足をプログラムしてゆく事を考えると、ないと困る
・最初に作って終わりじゃなく、随時手直し。←これ、超重要!
開発中盤で決まった仕様も追記しとく。
→これをやっとくと、テストフェーズで生きる。
・仕様書こそが非開発者の「創る」のアウトプット。
「アジャイルだからドキュメントは最小限」は怠惰。
世に言う開発プロジェクトは分厚いバインダー数冊分の、多種のドキュメントを作成してる。
最低限、仕様書がないと、結果的にリリースに影響する。
※仕様書なくても上手くいってる新規プロジェクトもあるが、それは開発者が神だから。
■実装フェーズこそ忙しくあるべき
・テストケース作成
プログラマーが責任持つテストは「単体テスト」。
サービスとして正しい挙動をしているか(異常系も含めて)は、
仕様書を作成した者が責任持つべき。
そのためのテストケースを、このタイミングで作れるはず。
・リリース後、ロケットスタートのイメージ。
ユーザーにどう広めるか、他サービスとどう絡むか、
場合によってはその為の機能実装の必要もある。
■テストフェーズ
・実装に要する期間の半分くらいは、テスト期間取っておくべき。
例えば実装2ヶ月なら、テスト1ヶ月。
実装ボリューム多いほど、テストでのバグ潰しに時間を要するのも自明。
・システム監査はリリースの2週前に設定。
1発通過とか見たコトないので、修正期間のバッファを考慮しとくのが間違いない。
(システム監査ってナニ(・∀・)?→ぐぐりましょうw引っかかるものとして多いのはこれ)
・監査と負荷テストと障害テストは同期間にスケジューリングしてもよいかと。
どれも、機能テスト完了した上で行われるもの。
ただ、監査中に負荷/障害やると、監査してくれる人は悩んじゃうので、
監査終了後の夜間に負荷/障害テスト実施となるかな。
■スマートフォンアプリの外注開発について
・毎週、エンジニアとも会うべき!
スマートフォンはやっぱUIがPC/ガラケーとは全然違うから、
新規開発においてもそっちに体重を乗せがち。
けど、少なくともUIと同じくらい、裏側の機能/システムを意識するのが重要。
外注開発で進めるにあたり、先方のディレクターと顔を合わせるだけだと、
気づいたら裏側の進捗が怪しい事に。。。
・Webアプリより難しい
新しい分野だから、まだ全体的にノウハウ溜まってないからってのもあるけど。
どこまでがアプリ内で完結でき、どこからはサーバー利用するか、
の意識合わせが重要。って結局は仕様決めの話に繋がるかな。
プロジェクト進行の俺的Tipsを、いまさらながら綴ってみる。
#全てうまくできているワケではないけど・・・。
■目的の共有
・ユーザー向けサービスである以上、「ユーザーに価値のあるもの」って目的は自明。
・チームに共有すべきは、「定量的な事業目的」(ex.PV,UU,DL数,収益,etc)。
・具体的数字は確実に出せないにしても、どれに重きを置くかは共有できるはず。
・これが伝わってないと、チームでブレストしても方向がズレる。
■心血注いで仕様書作成!
・仕様を見える化しないと、動くモノにズレが生じる。
・開発開始時点で詳細仕様を全て決められるワケはないけど、
それでも開始までに細かいところを出し切る。
・細かいところって何かと言うと、
例えば「◯順でリスト表示し、◯件毎にページング」とか「投稿画像の大きさは◯MBまで」とかとか。
・実際に使う事を想定し、一挙手一投足の仕様が必要。
てかプログラマーは一挙手一投足をプログラムしてゆく事を考えると、ないと困る
・最初に作って終わりじゃなく、随時手直し。←これ、超重要!
開発中盤で決まった仕様も追記しとく。
→これをやっとくと、テストフェーズで生きる。
・仕様書こそが非開発者の「創る」のアウトプット。
「アジャイルだからドキュメントは最小限」は怠惰。
世に言う開発プロジェクトは分厚いバインダー数冊分の、多種のドキュメントを作成してる。
最低限、仕様書がないと、結果的にリリースに影響する。
※仕様書なくても上手くいってる新規プロジェクトもあるが、それは開発者が神だから。
■実装フェーズこそ忙しくあるべき
・テストケース作成
プログラマーが責任持つテストは「単体テスト」。
サービスとして正しい挙動をしているか(異常系も含めて)は、
仕様書を作成した者が責任持つべき。
そのためのテストケースを、このタイミングで作れるはず。
・リリース後、ロケットスタートのイメージ。
ユーザーにどう広めるか、他サービスとどう絡むか、
場合によってはその為の機能実装の必要もある。
■テストフェーズ
・実装に要する期間の半分くらいは、テスト期間取っておくべき。
例えば実装2ヶ月なら、テスト1ヶ月。
実装ボリューム多いほど、テストでのバグ潰しに時間を要するのも自明。
・システム監査はリリースの2週前に設定。
1発通過とか見たコトないので、修正期間のバッファを考慮しとくのが間違いない。
(システム監査ってナニ(・∀・)?→ぐぐりましょうw引っかかるものとして多いのはこれ)
・監査と負荷テストと障害テストは同期間にスケジューリングしてもよいかと。
どれも、機能テスト完了した上で行われるもの。
ただ、監査中に負荷/障害やると、監査してくれる人は悩んじゃうので、
監査終了後の夜間に負荷/障害テスト実施となるかな。
■スマートフォンアプリの外注開発について
・毎週、エンジニアとも会うべき!
スマートフォンはやっぱUIがPC/ガラケーとは全然違うから、
新規開発においてもそっちに体重を乗せがち。
けど、少なくともUIと同じくらい、裏側の機能/システムを意識するのが重要。
外注開発で進めるにあたり、先方のディレクターと顔を合わせるだけだと、
気づいたら裏側の進捗が怪しい事に。。。
・Webアプリより難しい
新しい分野だから、まだ全体的にノウハウ溜まってないからってのもあるけど。
どこまでがアプリ内で完結でき、どこからはサーバー利用するか、
の意識合わせが重要。って結局は仕様決めの話に繋がるかな。