思考と決断のPM力

PMの真価

スキルシート上にあるPMというのは、どういった開発言語や開発環境などを使ってきたかという内容であることが多く、SEの延長という意味合いが強く残っている。もし、期待するポジションが発想力や提案力にあるとすれば、姿勢をみることが大切となる。

従順の呪縛

就職氷河期と呼ばれる世代より上の年齢層では、常に従うことを幼少期から叩き込まれていると考えられる。日本では「禁止」か「許可」かを常に意識しながら仕事をしており、「許可されるまでは禁止されている」と考えているのではないかと推察される。

失敗からの成長

正しいか、間違っているか、の判断基準しか持ち合わせていない場合、何か問題が発生したときに時間を遡ってどこで判断を間違えたのかを追求する。それは大切なことであるが、実際のプロジェクトでは誤ったことを反省しつつ修正しながら進むことが大切である。

判断力の真髄

エンジニア出身のPM(開発プロジェクトのPM)だと、禁止か許可かというデジタルのような見方をしている人もいる。特に今日のシステムに関するプロジェクトでは、ゼロかイチだけでは判断できないような、ウエットでアナログな状況判断が必要となる。

まとめ

たとえ能力の高いPMだったとしても、仕事になると発想することや作ることの楽しみより、ミスによる懲罰を恐れたりするために、無難で当たり障りのない判断をしがちである。システムに関するプロジェクトがなかなか前へ進まない理由でもある。

関連記事

開発遅延の打開策

システム開発の現状と課題

数名で開発した初期のシステム構築から、システム会社を変更して大がかりなリプレイスを行い、保守運用を実施しているが、月々の費用が高額であるわりに、開発スピードも遅い。開発スピードが遅いため、新しい機能を実装していけない。

不具合と開発の不透明性

リリースから何年も経っているのに不具合がなくならない。開発会社からの報告が曖昧で何にお金を支払っているのか謎のままであることが多い。

コスト削減と資源最適化

開発スピードを上げるには、システム開発コストの削減をしなければならない。コストを削減するということは、それで浮いたコストを開発に割り当てることができるため、結果的に開発スピードがあがることを意味する。

開発の透明性と妥当性

そのためにしなければならないことは、開発工程や開発過程の見える化および妥当性を担保することである。システムの比較検討ができないため、システム開発のコミュニケーションは一般的なものであると思い込んでいる。システム発注の担当者はシステムのことがわからないから、システム開発の進め方に違和感があったとしても技術者が言うことを信用するほかないと思っている。

まとめ

結果として、技術者の工数と称して月々の費用や、ひどいものでは言語のバージョンアップと称して、何もしていないことに費用を支払っていることもある。不明点はシステム発注の担当者が理解できるまで聞くべきである。

続きを見る >

伴走型開発で仕様変更地獄を脱出

炎上の元凶

システム開発プロジェクトにおいて「仕様変更地獄」は最も深刻な問題の一つである。開発が進むにつれて次々と変更依頼が発生し、スケジュールは遅延、コストは膨張、開発チームの疲弊が進む。こうした状況に陥った企業では、プロジェクト自体が頓挫するケースも少なくない。特に従来型の開発手法では、仕様を固めてから開発に着手するため、後から変更が入ると大きな手戻りが発生する。ビジネス環境の変化が激しい現代において、この開発スタイルは限界を迎えているのだ。

仕様変更の理由

仕様変更が頻発する背景には、いくつかの構造的な問題がある。第一に、プロジェクト開始時点で業務要件を完璧に定義することは実質的に不可能だという現実である。現場の担当者も、システムが動く姿を見るまで本当に必要な機能が見えない。第二に、開発期間中にビジネス環境や競合状況が変化し、当初の要件では不十分になることがある。第三に、発注側と開発側のコミュニケーション不足により、認識のズレが後から発覚するケースである。これらの問題は、従来の「要件定義→設計→開発」という一方通行の開発プロセスでは解決できない。

伴走型開発の効果

こうした課題を解決するのが「伴走型開発支援」というアプローチである。これは、開発ベンダーが単なる請負業者ではなく、ビジネスパートナーとして顧客企業に寄り添い、プロジェクト全体を通じて継続的に支援する手法だ。具体的には、小さな単位で機能を実装しては確認するアジャイル的な開発サイクルを回し、仕様変更を前提としたプロジェクト管理を行う。重要なのは、変更を「悪」ではなく「ビジネス価値の最大化」として捉え直すことである。定期的なレビューで優先順位を見直し、本当に必要な機能に開発リソースを集中させる。こうすることで、限られた予算と期間の中で最大の成果を生み出せるのだ。

成功の3つの鍵

伴走型開発支援を成功させるには3つのポイントがある。第一に、発注側と開発側が対等なパートナーシップを築き、透明性の高いコミュニケーションを維持することである。進捗状況や課題を隠さず共有し、一緒に解決策を考える姿勢が不可欠だ。第二に、MVP(実用最小限の製品)の考え方で、コア機能から段階的に実装していくことである。すべてを一度に完璧にしようとせず、ユーザーフィードバックを得ながら改善を重ねる。第三に、変更管理のルールを明確にし、影響範囲とコストを可視化することである。無秩序な変更を防ぎながら、本当に価値のある変更は柔軟に取り入れる。このバランスこそが成功の鍵となる。

まとめ

仕様変更地獄から抜け出すには、開発手法そのものを見直す必要がある。伴走型開発支援は、変化を受け入れながらプロジェクトを着実に前進させる現代的なアプローチである。単なる技術提供ではなく、ビジネスゴールの実現に向けた戦略的パートナーシップが、これからのシステム開発には求められているのだ。

続きを見る >

技術的負債の返済方法

負債の本質

技術的負債には、設計負債やコード負債がある。金銭的な負債であれば借入金やマイナスの表記で数字化できるのだが、技術的負債においては数字化できないことがとても難しい点である。経営に関するほとんどのことは定量化や定性化が可能だが、たとえば企業創業者の発想する「野生の勘」を直接的に数字化できないように技術的負債も一筋縄では見える化しない。

設計時の対策

技術的負債の中でもコード負債については、システム開発の現場からよく発想されるリファクタリングや再構築などを行うことで比較的わかりやすい返済方法となる。知らない人が作ったプログラムや古くなったプログラムのバージョンなど、リスクを表現し対応することができる。何よりも最初の企画設計段階で負債が積みあがりにくい仕組みを考えることが大切である。

高負担な設計

技術的負債の中でも利息の高い負債が設計負債である。単体機能における設計であれば、モジュールごとの再設計によって返済が可能である。しかし、プログラムは複数のモジュールが絡まり合っていることがほとんどなので、複雑なオペになってしまう。また、稼働中のシステムにわざわざ再設計したプログラムを導入するリスクに対して、得れるメリットも少ないので見過ごされがちである。設計能力は例えば、紙というオブジェクトのメソッド(振る舞い)とプロパティ(保持する情報)を聞いて正しい答えが帰ってくれば多少安心であろう。紙の振る舞いは燃えるであり保持する情報は面積などがある。

根本的解決

しかし、技術的負債はこのように目に見えやすい設計負債やコード負債が致命的になることは少なく、やはりその上層でどのような指針に基づいてシステム運用がなされてきたか、また長期視点で一貫したメンテナンスを行うことが必要である。システムの維持には保守費用や運用費用を払っていることが多いと思うが、これだけでは将来の負債を減らしていくことはできない。やはり、鳥の目を持つITコンサルタントやITアナリストなどの役割を持つメンバーが必要である。

まとめ

ITコンサルタントやアナリストは、すぐに利益も生まない、経費を削減するわけでもないといったコストセンターとしてのポジションなので、あまり起用していない中小企業も多いようである。投資に対する効果が見えにくいのは、料理でいう香辛料と同じなのかもしれない。その少しの投資が未来を大きく変えることになる。IT技術は日進月歩で発展するからである。

続きを見る >