フルスクラッチは体力

開発手法の選択

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

SESのリスク

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

技術の総合力

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

表層の即効性

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

まとめ

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

関連記事

Power Apps入門:アプリ開発は難しくない

アプリ開発は難しくない

「業務アプリを作りたいけど、プログラミングの知識がない」――そう考えて一歩を踏み出せない方は多いだろう。MicrosoftのPower Appsは、コードをほとんど書かずに業務アプリを作れるローコードツールである。特別なIT知識がなくても、Excel操作ができる人であれば十分に始められる。まずは「何ができるか」を知ることから始めよう。

Excelからアプリへ

Power Appsでアプリを作る手順は、大きく3つのステップに分かれる。まず、現在Excelで管理しているデータをそのまま使い、Power Appsに取り込む。次に、画面のレイアウトをドラッグ&ドロップで組み立てる。テンプレートも用意されているので、ゼロから設計する必要はない。最後に、入力や表示のルールを設定して完成である。複雑な関数を書く場面はほとんどなく、Excelの関数に近い感覚で操作できる。

ローコードが注目される理由

ローコード開発が注目されている背景には、中小企業特有の事情がある。IT人材の採用が難しく、外注すれば費用がかさむ。かといってExcelのまま運用を続ければ、属人化やミスのリスクが増えていく。Power Appsであれば、現場の担当者が自分で業務に合ったアプリを作れるため、外注コストを抑えながらスピーディに改善を進められる。また、仕様変更が必要になった場合も自社内で対応できるため、柔軟性が高いのも大きなメリットである。「作って終わり」ではなく、業務の変化に合わせて育てていけるのがローコードの強みだ。

小さく始めよう

Power Appsを始めるなら、最初は小さな業務から取り組むのがおすすめである。たとえば日報の入力、備品の申請、簡単な計算ツールなど、日常的に使う業務をアプリ化すると、効果を実感しやすくなる。最初から完璧なアプリを目指す必要はない。まず動くものを作り、使いながら改善していくのが成功のコツだ。「自分にもできた」という体験が、現場全体のDX推進につながっていく。迷ったら、今Excelで一番手間がかかっている業務を選んでみてほしい。そこがPower Appsの最初の活用ポイントになるはずだ。

まとめ

Power Appsは、IT知識がなくてもExcel操作の延長で業務アプリを作れるツールである。まずは日報や申請書など身近な業務から小さく始め、使いながら改善していくのが成功の近道だ。最初の一歩を踏み出すことが、DX推進の起点になる。

続きを見る >

QCDの死角

失敗の正体

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

エンジニアの真実

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

成功の境界

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

コスパの本質

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

まとめ

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

続きを見る >

技術的負債の返済方法

負債の本質

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

設計時の対策

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

高負担な設計

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

根本的解決

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

まとめ

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

続きを見る >