なんでアジャイルに取り組みたいか

はじめに

社内アジャイルエバンジェリスト(自称)として活動する事にしました。今週末に「アジャイルとはなんだっけか」というLTを社内の歓送迎会でやるテロを計画中でした。そんな私を後押しするかの如く色々状況は変わってきています。

最近、自分で発信する事で色々な方の考えに触れる機会が増えました。ただ、意見の触れる事は影響を受ける事であり未熟な私としては「なんでこれをやりたいと思ったか」を自分の言葉なのか人の言葉なのか区別が付きにくくなってきました。自分の考えがブラッシュアップされるのはよいとして、どうしてそう考えたかという「原点」を人に話す前に振り返ってみようと思います。

前提

アジャイル開発を仕事でやりたいと思っている人間の考えている事なので夢と妄想が混じっている可能性が高いです。

劇的に変わるビジネス

とある企業のとある部署。常駐の保守・運用として仕事を4年していました。担当していたシステムはチームに入った当初は企業内で注目もされておらず重要度も低いものでした、しかし、ある時期から顧客の業種の外的な環境が変わり、事態は急変。顧客が生き残るために業務の大幅な変更が必要となりました。また、外的な環境に合わせるため業務を定期的に変更するという経営判断が下されました。

変える事ができないシステム

ビジネスは劇的に変わりました。そもそも重要度の低いシステムであり、また、数年間大幅な修正を加える事がなかったためすべての処理が手続き型、業務ロジックはSQLの中という状態でした。しかし、顧客の業務変革の要望は強く約50%の機能の大幅な見直し、サーバ、クライアントの強化と4年ほどかけて、顧客と協力し定期的に品質よくリリースするため、「自動デプロイ」、「同じ意味は同じメソッド」、「再利用性の高い手動テスト」に取り組んできました。大規模な業務の変更が4年間続きました。しかし、顧客からはシステムへの反映まで期間も長く、投資に見合った価値(システムの機能追加、変更)もよろしくないと判断され、競合他社にバトンタッチする事となりました。素早くビジネスの決定をシステムに反映する仕組み、技術があれば競合他社に譲る事はなかったのかもしれません。

学ぶお客様

顧客から「アジャイル開発」で新規システムを構築したいと声をかけて頂く事がありました。理由は、画面インターフェイスについてはユーザの意見を取り入れつつ、仕様の調整をしていきたいとの事でした。アジャイル開発については社内の勉強会について検討されているため「システム開発のプロ」の御社ならできるでしょ?とおっしゃってました。

会社として実施できない

上記提案について会社としてはウォーターフォールで対応する事となりました。理由としては「アジャイル開発経験者がいないため」でした。顧客が変わっても会社として準備しておかなくては実現できない事を実感しました。

ウォーターフォールをうまくやるコツ

プロセス、品質について実プロジェクトをうまく回している方のお話を伺う事がありました。その方のお話を聞いた時にポイントとして「いつでもプロジェクトの進捗、品質を見える化しておく」、「仕様が曖昧な場合は設計→実装→テストを2サイクル実施する」、「不確実な事に対応するため、生産性などのプロジェクトのノウハウを蓄積しておく」といった事でした。私には「アジャイル」に聞こえました。

トラウマ駆動

こんな経験をしてきました。ビジネスが変わり顧客が変わる中、変わっていない会社。このトラウマが今の姿勢の原点です。

アジャイルによって実現したいこと

この経験から私が会社としてアジャイルに取り組む事によって実現したいことは以下3点。

  • 品質よく、定期的に短いサイクルでシステムを変更する
  • 顧客と協調求める価値(システムの機能追加、変更)を届ける
  • 顧客が求める姿を目指す事で、今後30年この仕事で飯を食べていく

終わりに

こんな原点でした。現状、自分の会社の「ビジネスの状況」が最初に述べたニュースで変わりつつあると考えています。ウォーターフォールを否定する気持ちはありません。また、アジャイルのプラクティスをウォーターフォールに導入する事が効果がある事もわかりつつ、私がアジャイルに会社に取り組んでもらおうと考えているのは私の生存戦略です。デブサミのタイトルにもありましたがまずは10年後生き残るために試行錯誤していきます。