効率化の誤解

目標設定の要諦

SESと呼ばれる派遣や準委任契約では、プロジェクトを完遂することが難しいとしている。これはゴールが未設定であったり、曖昧になってしまう場合が多くあるからである。ゴールの設定や未来像は非常に重要で、プロジェクトマネージャーなどリーダーが必ず持っておくべき指針である。

真のリーダー像

システム開発に参画するメンバーは一般的に経歴書やスキルシートによって決まる。プロジェクト経験数が多かったり、扱える言語が多かったりするだけでは、本当のスキルは推しはかれない。やはり、確認すべきは不測の事態が起きたときの対処方法を豊富に持つリーダーが必要となる。

アジャイルの本質

犬小屋を建てるときに設計書はいらないが、マンションを建てるには設計書がいる。アジャイル開発といっても、例えばマンションを設計図なしに建てるといったことを考えるとある程度は見通しや知見などを持つメンバーが方向性を決めていく必要がある。システム開発はその時その時の条件によっていい悪いの判断軸が変わる。さらに時間の経過でも判断軸が変化していくのである。

部分最適の罠

日本には「カイゼン」という高度経済成長期を支えた力強い言葉がある。しかし、時と状況によって判断軸が変わるソフトウェアという無形財産の前では、「善」に「改」めることができているのか、変化してしまう背景がある。職人気質である国民性も相まって、どうしても部分改善、部分最適を繰り返してしまうというプロジェクト現場が少なくない。

まとめ

システム運用や保守における部分最適は必ずしも全体最適になるわけではない。むしろ、この部分最適が全体を考えたときの労働生産性を下げていることすらある。小回りが利く人であればあるほど属人化してしまったりするため、誰が全体最適を見るのがベストなのか、改めて考える必要がある。

関連記事

ノーコード・ローコード比較

新たな開発手法

近年、ビジネスのデジタル化が加速する中で、ノーコード・ローコードツールが注目を集めている。従来のシステム開発では専門的なプログラミング知識が必須だったが、これらのツールを使えば、非エンジニアでも直感的な操作でアプリケーションやWebサイトを構築できる。開発期間の短縮やコスト削減が可能になることから、スタートアップから大企業まで幅広く導入が進んでいる。

主要ツール

ノーコードツールの代表例としては、Webサイト構築に強いBubbleやWebflow、業務アプリ開発に適したKintoneやAppSheet、自動化に特化したZapierなどがある。Bubbleは柔軟性が高く複雑な機能も実装可能だが、学習コストはやや高めである。Webflowはデザイン性に優れ、マーケティングサイトに最適だ。Kintoneはデータベース管理に優れ、日本企業での導入実績が豊富で、承認フローなど日本の業務習慣に対応している。一方、ローコードツールではMicrosoft Power AppsがOffice 365との連携に強く、OutSystemsは大規模エンタープライズ向けで基幹システム開発にも対応可能である。料金体系も月額制からユーザー課金制まで多様で、自社の規模に合わせた選択ができる。

両者の違い

ノーコードとローコードの最大の違いは、カスタマイズ性と技術的な介入度である。ノーコードは完全にコード記述なしで開発できる反面、複雑な要件には対応しきれない場合がある。ローコードは基本的な部分は視覚的に構築しつつ、必要に応じてコードを追加できるため、より高度な機能実装が可能だ。選択時のポイントは、開発したいシステムの複雑さ、既存システムとの連携要件、将来的な拡張性、そして社内の技術リソースである。シンプルな業務アプリならノーコード、基幹システム連携が必要ならローコードが適している。

導入のポイント

ノーコード・ローコードツールの導入を成功させるには、いくつかの注意点がある。まず、無料プランで試用し、実際の業務フローに合うか検証することが重要だ。また、ベンダーロックインのリスクを考慮し、データのエクスポート機能やAPI連携の可否を確認すべきである。セキュリティ要件も見逃せない。特に顧客情報を扱う場合は、各ツールのセキュリティ認証やデータ保存場所を確認する必要がある。さらに、導入後の運用体制も計画的に整備し、社内でのツール活用スキルを育成することが、長期的な成功につながる。

まとめ

ノーコード・ローコードツールは、企業のDX推進を加速させる強力な手段である。適切なツールを選定し、自社の課題に合わせて活用することで、開発コストを抑えながらスピーディーにシステムを構築できる。まずは小規模なプロジェクトから始め、成功体験を積み重ねながら展開していくことを勧める。デジタル化の第一歩として、ぜひ検討すべきだろう。

続きを見る >

生成AI失敗の3要因

期待と現実の乖離

生成AIを導入したものの、思うような成果が出ずに悩む企業が増えている。「話題だから」「競合が使っているから」という理由で導入したケースでは、現場から「結局使えない」という声が上がることも珍しくない。実は、生成AIで成果が出ない原因の多くは、ツール自体の問題ではなく、導入プロセスや運用体制に潜んでいる。本記事では、成果が出ない3つの主要因を解説する。

曖昧なゴール設定

成果が出ない最大の原因は、導入目的が不明確なことである。「業務効率化」という漠然とした目標では、具体的に何を効率化するのか、どの程度の改善を目指すのかが見えない。結果として、現場は何にAIを使えばいいかわからず、試しに使ってみても効果を実感できないまま放置される。成功している企業は「議事録作成時間を50%削減」「問い合わせ対応の一次回答を自動化」など、測定可能な目標を設定している。目的が明確であれば、適切なツール選定も、効果測定も、改善サイクルも回しやすくなる。

教育不足の弊害

二つ目の原因は、従業員への教育不足である。生成AIは万能ではなく、適切なプロンプト設計や出力結果の検証スキルが求められる。しかし多くの企業では「ツールを入れれば自然と使われる」と考え、十分な研修を実施していない。その結果、一度試して期待外れの回答が返ってきた社員は「使えない」と判断し、二度と触らなくなる。三つ目の原因は、業務との不適合である。定型的な作業や創造的な文章生成には強みを発揮するが、高度な専門判断や最新情報が必要な業務には向かない。自社の業務特性を分析せずに導入すると、AIの強みを活かせない領域で無理に使おうとして失敗する。

成功の3条件

生成AIで成果を出すためには、三つのポイントを押さえる必要がある。第一に、具体的で測定可能な導入目的を設定すること。第二に、継続的な教育プログラムを通じて社員のAIリテラシーを高めること。第三に、自社業務を棚卸しし、AIが得意な領域と苦手な領域を見極めたうえで適用範囲を決めることである。これらは当たり前のように聞こえるが、実際に徹底できている企業は少数派だ。逆に言えば、この基本を押さえるだけで、競合との差別化が可能になる。生成AIは正しく活用すれば強力な武器となるが、準備なき導入は失敗の元である。

まとめ

生成AIで成果が出ない原因は、目的の不明確さ、教育不足、業務との不適合の三点に集約される。これらはいずれもツール導入前の準備段階で解決できる課題だ。成功の鍵は、明確な目標設定、継続的な人材育成、そして業務特性に応じた適切な活用領域の選定にある。基本を徹底することが、AI活用の成否を分けるのである。

続きを見る >

開発費用値下げの危険性

開発手法の選択基準

大がかりなシステム開発においては、ウォーターフォールモデルという開発手法がとられ、設計書などのドキュメント類も整理してから、プログラミングへ着手する。逆に中小規模なシステム開発においては、アジャイル開発と呼ばれ、プログラミングをしながらシステム開発が進められたり、ドキュメント類は簡易にして、プログラミング工程へ着手するといった方法がとられる。状況に応じて開発手法は使い分ける必要がある。

設計書の必要と課題

建築では図面なく建物を建てることはないが、中小規模のシステムについては簡単な概要だけでシステムの開発ができてしまう。もちろん設計書をしっかりと書いて、要件を詰めてシステム開発を進めることができれば、トラブルもなくていいのではないかと言われる。しかし、設計書を作成するにはシステムをプログラミングすることと同じくらい費用が掛かる。

設計書の粒度と要因

中小規模のシステム開発において設計書が簡易になってしまう理由は、ユーザー側や発注側の予算が乏しいという理由がある。建築のパターンの場合は、法律によって作成しなければならない図面や、施主から同意をもらうべき書類などが決められている。システム開発には法的に作成しなければならない書類が明確にされているわけではないため、この粒度が各社・各エンジニアによりバラツキが発生する。

文書管理の現状

中小規模のシステム開発において、最悪の場合は設計書がないケースもある。小さなプロジェクトの場合は予算も少なく特にドキュメント類がないが多くある。あるいは、システムはアップデートされ続けているのにドキュメントはアップデートされていなかったり、ひどい場合にはシステム保守ベンダーが紛失している場合もある。

まとめ

システム開発に時間がかかる理由は、設計書から作成することでプログラミング作業の2倍以上の時間がかかると言われる。いわゆる動作検証の工程まで入れるとプログラミング作業の3倍程度は時間がかかる。また、システム開発はほとんどが人件費である場合が多く、かかる時間に応じて費用が上がる。つまり、非エンジニアが単純に開発費用を値切ると、プログラミング以外の重要な情報を削っていくことになる。

続きを見る >