2014/02/14 デブサミ2014【14-A-6】Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所 #devsumiA
- natsu_nanana
- 3387
- 0
- 1
- 1
吉村「なぜこのような状況になったのか。色々理由はあるが、一番大きいのは、企画の要件と締め切り優先で、ソフトウェアの内部品質やプロセス品質をおろそかにする開発体制であった。また、根本修正を恐れるに当たり、パッチワーク的な修正が多く実施。」 #devsumi #devsumiA
2014-02-14 16:05:59どうしてこうなったか。企画の要件と締め切り優先で、 製品品質、プロセス品質に関する考え方が薄かった。急速な人員追加も追い打ちになった。 #devsumiA
2014-02-14 16:06:55吉村「この状況に対して、各位のタスクを見える化。効率よくリソースを配分できるようにする。いらない機能を削って保守コストを下げる。アジャイル開発体制平行して、チームの利点を活かせるように。チームを長期案件・突発対応・改善活動の3つに分ける。」 #devsumi #devsumiA
2014-02-14 16:08:00立て直すためにやったこと: 各員のタスクを見える状況にして、リソース配分を効率化。いらない機能を削って保守コスト削減。カウボーイ個人開発からアジャイル開発体制へ移行。長期改善を行える体制作り。 #devsumiA
2014-02-14 16:08:32吉村「この結果、色々なメリットが。大規模な障害と休日出勤が減った。コード行数の増加が止まった。メンバーが休んでもチームがまわるようになった。離職が減った。」 #devsumi #devsumiA
2014-02-14 16:09:02いらない機能を削って保守コストを下げる。「ソフトウェア開発者になってみないと一つの機能を維持するためにどれだけのコストが必要かはわからないもの」 #devsumiA
2014-02-14 16:09:53吉村「とはいえ、現状維持が精一杯。そこで新しく書きなおすことに。そのために、1.スケーラビリティ、2.安定性、3.保守性、4.パフォーマンスの優先順位で目標を設定。」 #devsumi #devsumiA
2014-02-14 16:10:23大規模な障害と休日出勤が減り、改善は回り始めた。しかし、そのままのコード、アーキテクチャでは得られないスケーラビリティ、安定性・フォールトトレランス性、保守性、パフォーマンスを求めて Scala で書き直すことに。 #devsumiA
2014-02-14 16:11:26吉村「スタートはスモールスタート、スモールリリース。プロトタイプ開発完了から実際のリリースまでを6ヶ月以内と設定。プロトタイプ作成をしながら、常にそこまでの成果を2週間に一度、ショーケースで紹介。」 #devsumi #devsumiA
2014-02-14 16:11:35