思考と決断のPM力

PMの真価

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

従順の呪縛

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

失敗からの成長

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

判断力の真髄

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

まとめ

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

関連記事

AIで変わるシステム開発

開発現場の変化

近年、システム開発の現場では深刻な人材不足と納期の短縮化が大きな課題となっている。従来の手法では限界を感じている企業も多いのではないだろうか。そんな中、AI技術の急速な進化により、開発工程に革新的な変化が起きている。コード生成からテスト自動化まで、AIが開発者をサポートする時代が到来した。本記事では、AI活用によってシステム開発がどのように変わるのか、その未来像を探っていく。

日々の開発業務

実際の開発現場では、AIはどのように活用されているのだろうか。要件定義フェーズでは、AIが過去のプロジェクトデータを分析し、最適な機能提案や工数見積もりをサポートする。コーディング段階では、GitHub CopilotやChatGPTなどのAIツールが、リアルタイムでコード補完や不具合検出を行い、開発速度を大幅に向上させている。テスト工程においても、AIが自動的にテストケースを生成し、バグの早期発見を実現する。これらの活用により、開発期間の30%削減や品質向上を達成した企業も増えている。

導入の注意点

しかし、AIの導入には注意すべき点もある。最も大きな課題は、生成されたコードの品質管理である。AIは便利だが、時として不正確なコードや非効率な実装を提案することがある。そのため、開発者にはAI出力を適切に評価できるスキルが求められる。また、セキュリティ面での懸念も無視できない。機密情報を含むコードをAIに学習させることのリスクや、著作権の問題など、法的な側面も考慮が必要である。さらに、既存の開発プロセスとAIツールをどう統合するか、組織全体での運用ルール策定も重要な課題となっている。成功の鍵は、適切なガイドライン設定と継続的な教育にある。

求められるスキル

AI活用が進む中で、開発者の役割も大きく変化している。単純なコーディング作業はAIに任せ、開発者はより創造的で高度な判断を要する業務に集中できるようになる。つまり、システム全体のアーキテクチャ設計、ビジネス要件の深い理解、そしてAIが生成した成果物を評価・改善する能力が重要になるのである。AIは強力なツールだが、あくまで人間の判断を補助するものである。技術トレンドを常に学び、AIとの協働方法を模索し続ける姿勢が、これからの開発者には不可欠である。AI時代だからこそ、人間ならではの創造性と批判的思考力が、より一層価値を持つようになるだろう。

まとめ

AI技術の進化により、システム開発は新たな段階に入った。開発速度の向上や品質改善といった明確なメリットがある一方で、適切な導入戦略と運用ルールが成功の鍵となる。重要なのは、AIを単なる自動化ツールとして捉えるのではなく、人間の能力を拡張するパートナーとして活用することである。技術と人材の両面からバランスよく取り組むことで、開発工程の真の革新が実現できるだろう。

続きを見る >

ベトナムオフショア開発に向く3つのプロジェクトと、向かない3つのプロジェクト

ベトナムに向くプロジェクトの特徴

ベトナムへのソフトウェアのオフショア開発については昔から肯定的な意見と否定的な意見があります。昨今のベトナムの人件費の向上と日本の人件費の低下、そして円安もあり、コストダウン効果が見込めなくなってきています。しかし、単に海外オフショア開発が良いか悪いかという単純な問題ではなく、ベトナムの特徴を踏まえて、どのようなプロジェクトが向いているのか見極めることが重要です。本記事では、ベトナムにおけるオフショア開発に向く3つのプロジェクトと、向かない3つのプロジェクトを紹介します。

ベトナムに向くプロジェクト

1. 生産拠点や流通拠点を持つERPシステム開発

日本企業がベトナムに自社の生産拠点や流通拠点を持ちそのためのERPシステムを開発する場合、ベトナムは適した場所と言えます。ベトナム企業はベトナムの市場に精通しており、日本企業もベトナムの物流や製造現場に慣れています。また、ERPシステムの構築経験も蓄積されており、ベトナムのソフトウェア業界は成熟しています。さらに、ベトナム人の日本語通訳者の能力も向上しており、生産や流通に関わる日本語も習得しています。このような環境下でのERPシステム開発は、効率的かつ円滑に進めることができます。

2. ライトなWeb開発など経験を必要としない開発分野

技術の進化が激しいWeb開発など、比較的ライトで長年の経験を必要としない開発分野においても、ベトナムは適した場所と言えます。これらの分野では、若くて習得の早い技術者が求められます。ベトナムの技術者は熱意を持ち、新しい技術の習得に積極的です。また、技術自体も日本やベトナムといった特定の地域に依存せず、汎用性の高いものが多いため、ベトナムの技術者との協力により効果的な開発が行えます。

3. BPO的なプロジェクトでの教師モデル開発や画像タギングなど

ベトナムはAIにおける教師モデルの開発や画像のタギングなどのBPO的なプロジェクトにも適しています。ベトナムの基礎教育レベルは高く、労働者の字の読み書きやPCの使用能力に問題はありません。また、ベトナムはピラミッド型組織を構築しやすい文化的環境が整っているので大量生産に向いています。これらの要素を活かして、BPO的なプロジェクトをベトナムで展開することは効果的です。

ベトナムに向かないプロジェクト

1. コストダウンが目的のインクルーシブなプロジェクト

単純なコストダウンが目的のインクルーシブなプロジェクトは、ベトナムにとって戦略的な選択肢とは言えません。最初は若くて安いエンジニアを投入することで一時的なコストダウン効果を得るかもしれませんが、時間が経つにつれて人件費が上昇し、コストが増加してしまいます。また、ベトナムのエンジニアも自身のキャリアパスを考えるため、離職率が高く、人材の取り替えが困難になる場合もあります。

2. AIなど最先端技術のラボラトリーとしてのプロジェクト

ベトナムはAIなどの最先端技術のラボラトリーには向いていません。ベトナムは積極的な技術開発を行っていますが、他の国々も同様に積極的であり、特にアドバンテージがあるわけではありません。また、最先端技術になるほど人件費が高くなり、ベトナム価格でも他の国と競争することが難しい場合があります。このような背景から、ベトナムにおける最先端技術の開発には慎重な判断が求められます。

3. 最終消費者向けのセールスやマーケティングシステム

最終消費者向けのセールスやマーケティングシステムは、ベトナムとの文化や商習慣、法律、税制などの違いにより、開発が困難となる場合があります。ベトナム側で日本のマーケットに適したシステムを開発することは難しく、逆に日本側でもベトナム市場に合わせたシステムを構築することは容易ではありません。ただし、バックエンドのシステムに関しては国による違いは少ないため、ERPのようなバックエンドのシステム開発はベトナムでも適しています。

以上がベトナムにおけるオフショア開発に向くプロジェクトと向かないプロジェクトの一例です。プロジェクト選定においては、ベトナムの特徴や環境を的確に把握し、ベターな組み合わせを選ぶことが成功への重要な戦略となります。

続きを見る >

技術的負債の返済方法

負債の本質

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

設計時の対策

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

高負担な設計

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

根本的解決

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

まとめ

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

続きを見る >