ソフトウェアエンジニアリング

ソフトウェアエンジニアリングの基本テクニックの大きな効果:航空管制システムのモダナイゼーション事例

NASAが開発しFAAがデプロイしている本物の航空管制システムのモダナイゼーション。コード規模を劇的に縮小し、内部構造をシンプル化することに成功した事例を解説。保守性や拡張性も大きく向上。高凝集・疎結合なモジュール設計、データ抽象、などソフトウェアエンジニアリングの基本テクニックの重要性を見せつける重要な結果。
スタートアップ研究

スタートアップの技術的負債はいつ・どんな悪影響をもたらすのか

ソフトウェア系スタートアップは初期段階で技術的負債を蓄積します。その悪影響は、リリース後のバグ増加、保守作業にかかる時間の増大、エンハンス不能、プロダクト進化に制約、インフラコスト、テストコードを書けない、という6種類が観測されます。それがどのタイミングでどのように顕在化するのか、2022年の研究成果を紹介します。
ソフトウェアエンジニアリング

「技術的負債」の本質とは?エンジニアの共通認識

「技術的負債」にはわかりやすさという利点がある反面、定義が曖昧で人によって解釈が変わってくるのが問題です。いろんな人が「技術的負債」の様々な定義を披露したり、様々な主張を行うようになっていました。そうした技術的負債フォークロアを分析し、ソフトウェエンジニアの共通見解を抽出した2013年の論文を解説します。
スタートアップ研究

スタートアップが避けるべきソフトウェア開発の落とし穴

不確実な環境下でスタートアップ企業が成功を収めるにはソフトウェアエンジニアリングの実践が重要になります。88社の事例分析を通して、スタートアップ初期段階で致命的となりうるソフトウェア開発の失敗形態を特定し、その具体的な症状と原因を抽出しました。スウェーデンのブレーキンゲ工科大学の研究チームの成果です。
スタートアップ研究

スタートアップとソフトウェア工学

ソフトウェアを通したサービス提供を事業の中核とするスタートアップ企業では、ソフトウェアの設計・開発・運用・改善が社内活動の重要な位置を占めています。ソフトウェア開発を効率的に成功させることが必要です。ソフトウェア系スタートアップに知ってもらいたいソフトウェア工学の成果を解説していきます。