フルスクラッチは体力

開発手法の選択

フルスクラッチかパッケージか、最近ではSaaSなどもシステム構築の検討に入る。実は開発手法やツールよりも、どのようなシステムで、どれくらいの規模のシステム開発会社が担当するかが重要である。

SESのリスク

人数が多い会社であればあるほど安心感があってよいと安易に考えることは適切ではない。なぜなら、SE派遣やSESと呼ばれる人月(人工)単位で売り上げの経つ会社には技術の総合力がないからである。

技術の総合力

技術の総合力とは、SE作業やプログラミング作業などの1人で対応できる技術力を差すのではなく、システム構築やシステムの運用全般における最適手段を考えることができる能力のことである。

表層の即効性

SE派遣やSESの付加価値はその人単体のプログラミング能力に偏るため、一見対応がよく、何も問題がないように思える。しかし、これが技術的負債を作ってしまうひとつの要因でもある。

まとめ

フルスクラッチを考えるなら、SESを中心としないシステム会社で且つ人数規模も多い方がよい。安価にフルスクラッチでシステムを構築してしまうと、メンテナンスや運用でしっぺ返しが待っている。時間が経つごとにシステム保守費用が高くなるのである。

関連記事

市民開発とは何か

市民開発の正体

市民開発(Citizen Development)とは、IT部門やSIerに依存せず、業務部門などの非エンジニアが自らアプリケーションを作成する取り組みを指す。従来は「プログラミングができないと無理」と思われがちだったが、現在ではノーコード・ローコードツールの登場により、非技術者でも業務に必要なツールを構築できるようになった。代表的なものとして、SaaSベースの業務アプリやMicrosoft Power Platformなどがあり、これにより業務現場の課題解決が加速している。

IT不足とマクロの功罪

市民開発が注目を集める背景には、深刻なITエンジニア不足がある。人手が足りないなら自ら開発するしかない——この流れが市民開発を後押ししている。その原型とも言えるのがExcelマクロである。かつて現場では、個人PC上で動作するマクロが業務改善ツールとして使われていたが、多くが属人化し、結果として保守不能な“遺産”となってしまっている。

マクロの限界

Excelマクロの最大の弱点は「ファイル単体依存」である。複数人での同時使用や、プログラムの共有に極めて不向きである。マクロ付きファイルをコピーすれば、そのコピーごとに独立した修正が可能となり、誰がどのバージョンを使っているのか把握が困難になる。しかも、更新履歴の管理も難しく、組織全体の業務統一を図るには限界がある。こうした特性が、非効率と混乱を招く要因となっている。

マクロの呪い

属人化の果てに起きるのが「ブラックボックス化」である。Excelマクロにパスワードがかけられ、開発者も不在、しかし業務には不可欠——そんな状態が現場には数多く存在する。これらは情報システム部の管理外にある「野良プログラム(シャドーIT)」と呼ばれ、セキュリティリスクを高める要因でもある。結果として、誰も触れず、誰も捨てられず、今も現場の根幹に鎮座している。まさに、手遅れになる前に対処すべき課題だ。

まとめ

市民開発は、Excelマクロに代わる次世代の業務改善手段となり得る。ローコード・ノーコードの活用により、野良プログラムの乱立を防ぐには、組織としての運用ルールとガバナンスの確立が不可欠だ。アタラキシアDXでは、Power Appsを活用し、手遅れになる前にブラックボックス化したマクロのリプレイス支援を行っている。

続きを見る >

システム開発の混迷

営業依存の弊害

業務システムがうまくいかないのはベンダーやSEの問題だけではない。SEを取り巻く環境もシステム開発には重要である。業務システム開発を依頼するベンダーであれば営業担当者が挟まる。日本の縦割り社会の中で営業担当者は非エンジニアである場合が多く、プロジェクトの成功が目的ではない場合がある。

役割の細分化

SEをプロジェクトマネージャーとしている場合も注意が必要である。日本ではシステムエンジニアは細分化されておらず、建築でいうと参加者の全員が職人という扱いであることが多い。システムに関わる人全員がSEとしてしまっている間違いである。

開発の本質

SEやベンダーのプロジェクトマネージャーはそれ自体がプロジェクトと考えていることも多く、ビジネスとしてのプロジェクトとして捉えることができていないことがある。本来はビジネスが中心にあって、その中に業務システムが位置するはずである。それが見えているか否かで、業務システム開発の成功の確率は変わるのである。

相互理解

逆に、システムのことはSEに任せているというような場合も注意が必要である。システムのプロジェクトを経験したことがある、というだけでは、システムに関連するプロジェクトを成功させるのは困難である可能性が高い。プログラミングの経験がなければ、SEやベンダーが持つ心境を察することができないからである。最も重要なことはシステム導入時のイメージである。

まとめ

欧米では当たり前のように、間接的に関与する売上や利益の向上を管掌する部門や役職があるが、日本では良くも悪くもロジカルであり、数字がなければ行動に移せない厳密なルールがある。

続きを見る >

QCDの死角

失敗の正体

システムの失敗は見えないことがある。ブラックボックスであるがゆえに隠せてしまうからである。失敗かどうかの線引きができないところがシステム構築プロジェクトの難しいところである。

エンジニアの真実

もしかしたら、エンジニアが都合の悪いことは隠していることがあるかもしれない。しかし、決めつけてしまうとエンジニアはへそを曲げてしまう可能性がある。隠しているつもりはなくても隠れていることもある。

成功の境界

失敗の線引きは、納期が遅れることであろうか。バグが多いということであろうか。実は、状況によって一概に言えないのである。QCDという言葉があるが、品質と費用と納期のバランスを上手にとったとしても成功か失敗か、すぐにはわからないのがシステムという無形物である。

コスパの本質

コスパという言葉があるが、かけるコストに対して、どれだけのパフォーマンスが出せるかが問題となる。システム開発では、コストからやりたいことを計算するのではなく、やりたいことを明確にしたうえで、コスト内でリッチ度合いを調節することが重要である。

まとめ

システム開発においては、失敗が見えにくいため、失敗しないように見えるのかもしれない。失敗しないことは、成功であるということでもない。時間が経つにつれて失敗を感じることもあり得るのである。

続きを見る >