Software Evolution & Technical Debt
ソフトウェア進化と技術的負債:「作った後」こそ本番
動き始めたソフトウェアは、そこで完成ではありません。ビジネス・法律・技術の変化に合わせて変更され続ける(進化する)ことで初めて有用であり続けます。この教材では、保守の分類・進化プロセス・レガシーシステムの評価・再エンジニアリングといった教科書の中核に加えて、リファクタリング・コードスメル・技術的負債・SATD(自己記述型技術的負債)・モダナイゼーションという現代のソフトウェア工学の最重要トピックを、目的・実施の仕方・意識するポイント・注意点つきで整理しました。技術的負債の「利子」を体感できるシミュレーター、理解度クイズ付きです。
この教材は日本語のみで提供していますThis learning material is available in Japanese only.
はじめにIntroduction
ソフトウェア進化とは何か:なぜ変更は避けられないのかWhat is software evolution?
トピックカタログTopic catalog
進化・保守・負債の10トピックカタログTen topics in evolution and debt
教科書(Sommerville 第9章)の中核である進化と保守の基礎、構造の劣化と戦う改善の技術、そして現代の実務と研究の中心にある技術的負債:3つのカテゴリで整理しました。カテゴリで絞り込み、各カードをクリックすると、目的・進め方・意識するポイント・注意点・具体例が開きます。
体験デモInteractive demo
技術的負債の「利子」を体感するFeel the interest on technical debt
体験デモ:技術的負債の利子シミュレーター
あるチームの開発を10スプリント分シミュレートします。チームには既存の負債(40ポイント)があり、負債が多いほど利子(理解・修正に余計にかかる時間)で velocity が下がります。開発時間のうち何%を負債の返済(リファクタリング)に充てるかを選んで、累積デリバリー量(10スプリントで届けられた機能の合計)を比較してください。
理解度チェックCheck your understanding
理解度チェッククイズComprehension quiz
それぞれの状況にもっとも適した用語・判断を選んでください。
おわりにIn closing