タグ別アーカイブ: 基盤

①意思決定ができないことで悩んでないか

中間管理職の悩みがあります。
下からは「どうしたらいいんですか?」上からは「どうなっているんだ!どうするんだ!」時には「意思決定はどうなっているんだ!」と突き上げられることがあります。
でも、判断できないことも多いです。どうしていいかわからないから「こうしなさい」といえない、悩ましいです。

なぜ意思決定できないのでしょうか?
その事柄に詳しくないためどうしたらどうなるかがわからない。選択肢のデメリットを考えるとどちらがいいとは言えない。一生懸命考えようとしても頭が働かない。そもそも、何をしたらいいかも選択肢が思いつかない。解決すべき課題に対する問題点がそもそもわからない。
どれもよくあります。意思決定できる?人からは、管理者が悩んでいても「何でこんなことで悩んでいるんだ?さっさとすればいいのに」みたいに言われます。これもプレッシャーになります。(だってどうしたらいいかわからないんだもん)
非常に気持ちはわかるのですが、何等か行わないと、この事態から脱却できません。

(イ) 丁半博打で決めるのはNGです
(ロ) 情報が足りないなら聞けばいい
(ハ) コーチングのふりをして聞き出す
(ニ) 利益衡量をする
(ホ) 何等か自分が納得のいく理由をつける

(キ) 意思決定

管理職になりたてのとき、結構どうしていいかわからなかったりしました。

できる人は悩まないのでしょうが、意思決定はなかなかにストレスのかかる作業です。この決定が複数の人たちやPJを左右するからです。リーダーシップ研修などでは「これをすることがリーダーシップだ!」という感じでぐいぐい引っ張っていくことを無条件に要求しますが、では何が正しいのか?どう判断したら正解なのか誰も教えてくれません。「かっこいいのはズバリ判断することだ」といわれても困ります。

そんなに経験があるわけでもないのに、重要な判断について、「どうしたらいいか?」「どうするのか」「方針は?」など始終あらゆる人から詰められてしまいます。

私が実践してきた方法を紹介します。

① 意思決定ができないことで悩んでないか
② 腹をくくれ
③ 自分で手におえないと判断したら

(イ) 強い意志

これは頑固であれという意味ではありません。強い意志とはやりきる意思といってもいいかもしれません。

途中で投げ出さない、へこたれないということです

一度決めたら曲げないということもありますが、曲げないのは基本方針「やりきる」というところにすべきで、方法に関しては、「やりきるために」柔軟に変えながら進めていくべきです。(「改善)、「イノベーション)ともいう)
実行レベルに近い決定事項を守り、状況を無視してかたくなにやり続けると、組織がおかしくなってしまうこともままありますので、「やりきる」ことを重視し、「そのためには何でもする」という強い意志が必要です。

プロジェクトには絶対に何らかのトラブルが発生します。発生しない物はありません。キーマンの病気や事故といったどうにもならないと思えるような外的要因が発生するかもしれません。突然の無理な仕様変更要求が来るかもしれません。虚偽報告によるサービスイン前の受入試験での実はプログラムが何もできていない事件が発生するかもしれません。

その時にくじけることなくやりきる能力が一番最初に、絶対に必要なのです。

まずはチームリーダーになろう

PMになって役割が変わることを昇進というかは異論があるところを思いますが。面倒を見なければならない人ができるあるいは増えることをこの際昇進といいましょう。

4~5人程度の少数の開発者を下につけて、一部の機能を担当してマネージメントスキルを磨きましょう。プロジェクトを管理するのがプロジェクトマネージャなら、チームを管理するのがチームリーダーです。管理するものが、組織中心か、人中心かの違いがありますね。いずれも運営も管理しますが、直接の被管理体がチームなのか人個人なのかの違いがあります。人が管理できなければ組織は管理できませんから、十分にスキルを磨きましょう。

チームリーダになるためには何が必要でしょうか?「個人実績」と武器としての「ユーザ業務知識」「技術力」です。この「ユーザ業務知識」がない場合でも、他のたとえば「技術力」が非常に優れているということでもよいかもしれません。私はユーザ業務の業務知識を武器にしました。

チームリーダになってから必要になるスキルとしては「見積もり」「チームビルド」「工程管理」などがあります。これらはいきなり必要になります。

そして、さらなる発展のためにチームリーダになって「チーム実績」を積んでいく必要があります。

うまく実績が積めないと技術力のあるプログラマに戻されてしまいます。

必要なスキルやだいたいどの程度できればいいかを述べていきます。

①個人実績
②ユーザ業務の知識
③技術力
④見積もり
⑤チームビルド
⑥工程管理
⑦問題解決
⑧チーム実績
についての書きます
例によって、気ままに書きますので順番の前後等あります、気長にお待ちください。

どんな組織を想定しているか

組織の規模としては比較的大きなもの、マネージャーレベルで年間一桁億円、部門で数十億円、事業部門で数百億円程度の組織を想定しています。

いろいろな「あるある」的な話は小規模ではあてはまらない物もあるかもしれません。

想定する組織構造としては単純化しますが、ピラミッド型で構造は、プログラマ、チームリーダ、サブシステムリーダ、などのローアーマネージメント、プロジェクトマネージャ、部長・部門長などのミドルマネージメント、事業部幹部・役員・社長などのトップマネージメントがあるピラミッド構造の前提ではなします。

プロジェクト全体を管理したりする課長レベルの職級(職位)をここでは課長、役割(役職)をプロジェクトマネージャと表現します。課長の職級を上でまとめるのが部長、ある区切られた範囲の課をまとめるのが部門長という役割として話します。部門を束ねて、事業責任を負うのが事業長・経営層と表現します。

組織によっては職級(職位)は第何等級という風に細かい数字(十数等級ある場合もある)で表現されることもあります。これらは給与レンジと密接で役割にかかわらない位を表現します(単純に給与等級を表すために職級がある組織もあります)。


★図、ピラミッド図 プログラマ、チームリーダ、サブシステムリーダ、プロジェクトマネージャ

各役割の想定定義については、本文の中で触れていきますのでそちらを参照ください。

ご自身の組織に合わせて本書の役割を何と呼ぶかで読み替えてください。きっと思い当たる節や、こんなことあるあると思っていただけることと思います。

誰に向けてのものか

想定としてはプログラマとしてバリバリ開発をしていてそれなりに評価されたひとでこれからさらにPMにも手を出していきたい人や、PMに将来なりたいプログラマを対象としています。

とはいえ、プログラマからPMになろうとするときの話を私の経験に基づき書いたものですべてに当てはまるバイブルというものではありません。

顧客が存在するBtoBシステム開発プロジェクトを想定しています。

システム開発といっても色々な場面があります。社内システムを作る開発プロジェクトやゲーム開発のように社内に仕様を決める人がいてトップダウンですぐに仕様変更があるようなものはあてはまらない場合があります。

この場合は、顧客がいて、ある業務を行うためのシステム開発・構築を請け負い、お客様と要件定義交渉を通じて仕様を確定して設計をしたうえで開発を行う、IPAなどで発表しているソフトウエア開発プロセスなどに沿って進めていくようなプロジェクトです。(これらのプロセスは理想で誰もやっていないと思う業界や分野はあろうかと思いますが、官庁公共系の開発などではこれらを守ることを仕様書で要求されたりします。当たり前に行っているところも多いのです。)

とはいえ、システム開発プロジェクトであれば、言い回しはシチュエーションの違いはあっても大きく違うことはないでしょう。

小さなPJをやってきた人は本当にこんなことまで必要なの?と思うかもしれません。

言い換えれば、より大きなPJをやるのに何が必要か?という見方をしてもいいです(タイトルを変えて中身の同じ本をだそうかしら?)

もともと大型のPJをやってきているSIerのひとが見れば、「あたりまえじゃん!どこでもやっていることだ」か、「気持ちがわからん」という風になる内容です。

私は中・大型PJの仕事をやってきているので、社内システムや小さなシステム、オープンソースプロジェクトではここで述べていることはあまり当てはまらないかもしれません(どこまでやるかなどの品質に対する考えかた、費用に対する考え方など)。品質担保に対する方法論など大きな点は変わらないと思いますが、その点注意をして読んでください。

技術論や、プロジェクト管理手法にも触れていますが、あくまでも一例です。いらないところは読み飛ばしてください、本書は必要なところを拾い読みすることを前提に作られていますから、様々なレベルや状況について述べていてその意味での対象読者レベルの一貫性はありませんのでお許しを。