運用の昇華

開発現場の想定外

基幹システムの開発現場では、最初に想定した仕様とは異なる業務フローが後から発覚することが多い。

マネジメントの試金石

後から発覚した業務フローは、すでに構築が進んでいるシステムに組み込むことが難しいため、どのように対応するかがプロジェクトマネージャーの腕の見せ所である。

プロジェクトの舵取り

プロジェクトマネージャーとは何かと問われたときに、一言で言い表すならば、不測の事態にどのように対応できるか、ということではないかと考える。プロジェクトが何の問題もなく、完遂できることは少ない。したがって、イレギュラーケースが発生した時にどのような手立てを打てるか、迅速に行動できるかがプロジェクトマネージャーのレベルとなる。

パートナーシップの重要性

プロジェクトマネージャーがシステムの完成しか考えていなければ、途中から発覚した仕様は「運用でカバーせよ」とユーザー側に責任を押し付けてしまうことがある。しかし、より良いシステムを目指す、パートナーとしてであればこの回答は好ましくない。

まとめ

どのような事象がきっかけで、途中で使用漏れが発覚したのか、プロジェクトの進行状況を見ながら、ひも解くことが重要である。運用でカバーというユーザー側だけにだけ負担をさせるのではなく、運用をカバーするようなシステムを構築できるのが理想である。

関連記事

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を単なる自動化ツールとして捉えるのではなく、人間の能力を拡張するパートナーとして活用することである。技術と人材の両面からバランスよく取り組むことで、開発工程の真の革新が実現できるだろう。

続きを見る >

開発の相場

相場の不在

フルスクラッチでのシステム開発に相場はない。相場とは商品が一般的に流通している商品など数が多い場合は、競争原理も働き、金額がある一定の範囲に収まってくるものである。

建築との差異

たとえば、一戸建て建築であれば、建物の規模と資材、それに加えて職人の人工で金額が決まる。フルスクラッチのシステム開発は、つまり極めて特殊な特注品を作るようなものであるため、システム開発に相場という概念が基本的にはないのである。

人件費の実態

システム(ソフトウェア)は一戸建てのように、基本的には材料費はかからない。システム開発の費用のほとんどは人件費である。大工職人の人工と同じように人月単価と呼ばれるSE1人が1ヶ月働く金額で相場を知ることができるのである。

工期の変動

建物を建てることと比べるとシステムやソフトウェアは無形の物となるため、1ヶ月の労働力を推し量ることは困難である。個人のプログラミングの早さによって、納期が早くなったり遅くなったりするのである。

まとめ

SEは過去のプロジェクト参画実績から、同じようなプロジェクトに何度も参画していれば手練れでスキルが高いと評価される。システムに関わる人材の評価が困難な点は、プロジェクトに参画する経験値と、本当の意味でのスキルが比例するわけではないことである。本当の意味でのスキルとはプロジェクトを成功させられるかどうかを指すのである。

続きを見る >

モックアップの料金

要件定義の意義

ユーザーの要件を明確にすることで、開発の方向性がブレず、無駄な修正や手戻りを防ぐことができる。定期的なミーティングやレビューセッションを通じて、開発者はユーザーのニーズを正確に把握し、ドキュメント化やモックアップ化することが重要である。

試作品の価値

SEはユーザーに具体的なイメージを持ってもらうために、プロトタイプやモックアップを作成し、ユーザーに確認してもらうことで、誤解や認識のズレを減らす。これにより、実装後の大幅な変更を回避できる。

モックアップの功罪

モックアップの作成は有料であることが多いようである。また、非エンジニアがシステム技術を意識しないモックアップであれば、その後の開発が複雑になってしまうといったことも考えられる。

ユーザー主導開発

モックアップを用いてユーザーがシステムの機能や開発プロセスについて理解を深めることで、適切なフィードバックを提供することが大切である。開発チームとのコミュニケーションも円滑になり、無駄な手戻りや修正を減少する。

まとめ

システム開発におけるユーザーと開発チームのコミュニケーション改善が、システム開発コストを軽減する。そのためには視覚的にコミュニケーションできるモックアップは重要であろう。

続きを見る >