2017/12/07
システム開発では、誰がどの作業をいつ、どのくらいの期間で行うのかというスケジュールを立てて、作業を進めていきます。
その際に、マイルストーン(途中で設ける節目、設計工程の完了とか)を意識したり、先行後続の作業を意識したりとか注意点があります。
私がスケジュールを立てる際にもそれらはもちろん大前提として考えますが、それとは別に注意していることがあります。
それは「人を見て最終的にスケジュールを調整する」ということです。
sponsored link
「人を見る」とは
「人を見る」とは、どのようなことか。
それは、個々のメンバーの得手不得手や過去の経験、他のメンバーとの相性を考えるということです。
得手不得手を考慮する
人には得意なことと不得意なことがあります。それを考慮してスケジュールを組みます。
簡単に言うと、設計が得意なメンバーには設計を、開発が得意なメンバーには開発を、というようにタスクを割り当てることです。
さらに言えば、DB周りなどバックエンドが得意なのか、WEB周りのフロントエンドが得意なのか、など、より細かく把握出来ればより良いです。
当然、得意なことであれば作業は順調に進む可能性、より品質の良い成果物が出来る可能性が高いでしょう。
過去の経験を考慮する
過去に経験のある作業内容と類似した作業内容を割り当てるようにスケジュールを組みます。
全く同じということは無いでしょうが、同じような処理構造をしている、同じような業務知識が必要になるなどを考慮します。
これについても、得手不得手と同様に、作業が順調に進む可能性、より品質の良い成果物が出来る可能性が高まるでしょう。
他のメンバーとの相性を考慮する
システム開発はよほど小規模案件でなければ、複数人で作業を行います。
ある処理の設計をする人と開発する人が異なったり、ある作業の実施後にそれを他の人がレビューするいうように、メンバー間でコミュニケーションが発生します。
しかし、人にはそれぞれ相性というものが必ずあります。それを考慮することが大切です。
例えば、気性の激しい人と気弱な人を組ませたりすると、気弱な人が一方的に攻められて、職場の雰囲気が悪くなったり、最悪の場合、精神的に病んでしまったりすることにもなりかねません。
そうなると結局、作業が順調に進まないということになります。
そのために必要なこと
「人を見て最終的にスケジュールを調整する」ことの大切さが分かっていただけたと思いますが、そのために必要なことがあります。
それは、作業内容をしっかり把握することと、人をしっかりと理解することです。
この両立は本当に難しい。全く別々の能力ですから。
作業内容をしっかりと把握するためには、業務知識やシステム知識を理解していることが必須です。
人を理解するためには、普段からコミュニケーションをしっかりとることや、その人の経歴や作業結果を把握することが必要です。
人に聞いたってよい
これら全てを把握することは正直難しいでしょう。
その場合は、自分が分からない点については、それに詳しい人がいれば、その人に聞くのも手です。信頼でいるメンバーでもよいし、上司でもよいです。
目指すべきだとは思っていますが、何も全てを一人で把握することはないのです。
まとめ
システム開発の「人を見て最終的にスケジュールを調整する」ことについて見てきました。
実はこれ、私は当たり前だと思っていたのですが、私の11年のSE生活で、全く考慮されていないスケジュールを見ることが、意外に多かったです。
そのために発生した無用なケンカやスケジュール遅延などなど。
そうならないために、ぜひ気をつけたいところです。