発注元からみたアジャイル開発とスクラム

Photo by Headway on Unsplash

普段、僕はアジャイルコーチと名乗り、開発組織に入って改善活動する仕事をしている。受託開発の現場もある。しかし、最近は話題のDXの影響か、受託開発における発注側のユーザ企業のアジャイル開発支援もやらせていただいている。そして、発注側から見た開発は、全然違った風景だった。

開発が正しくできているのかという不安

僕と契約してくださった企業は、「開発が正しくできているか」を課題として感じていた。よって、ユーザ企業と開発企業全体で「うまく」開発できるように支援するのが僕の仕事になる。

もし、発注側に問題があるなら、問題を解決するための提案を行い、実行を支援する。たとえば、「仕様が不明確」などがよくあるケースだが「ここを決めないと作れませんよ。それに、作ったものをこちらも確認できないですよね?」みたいなやりとりをしていく。

もし、開発側に問題があるなら、いつもの仕事のようにアドバイスやコーチングを行う。

発注側をなめている受託企業もいる

発注側がITに強くないときに、もっともらしいことをいって必要のない開発を行い、金額を請求する企業もあるようだ。しかし、残念ながらこちらもそれなりに経験を積んでいるので、遠慮なくツッコミを入れる。

  • その提案の根拠をデータを使って説明してもらえますか?(とくにUI/UXの提案は個人の主観や経験が多くて退屈だ)
  • 期限に間に合わない理由はわかりました。では、間に合うようにするための提案はなんですか?
  • なぜこの金額なのですか?多く見積もってもこんなに時間がかかりませんよね?
  • どうなったらこの機能が成功したことになりますか?

相手にとってはたまらないかもしれないが、お金を出している側の気持ちになれば、そのお金を少しでもうまく使いたいと思うのは当然だろう。

「我々はスクラムで開発を進めます」はだいたいがクソスクラム

つまりクソラム。

プロジェクトの最初に「スクラムでやります」と宣言されたことがあるが、ふりかえってみればスクラムではなかった。なんてことは往々にしてあるものだ。

たいていの場合、開発が総崩れとなり、立て直すサポートを僕がしなければならない。

でもよく考えてほしい。僕も開発も発注側にお金をいたただいている。

なぜ開発の支援を、発注側がお金を払ってやらなければならないのだろうか? 発注側は開発側に、なんのお金を払っているのだろうか?

僕は受託開発を行う企業に新卒で入り、絶望を感じて受託開発にかかわるのをやめた。使わないシステムを作るために貴重な自分の時間を使いたくないし、予算を消化するだけの開発も同じだ。

しかし、発注側から見る開発も、多くの問題があるように思う。

はじめだけエースを送り込んで後で雑魚に交換するやりかたもそうだし、育成もかねてとベテランと新人を組ませるのもそうだし(なぜお金を払って育成しなければならない?)、案件の相談時にいなかったメンバーをアサインするのもそうだし(多重構造の問題)、「客はITわかんねーだろ」とふっかけてきたり必要のないものを作ろうとする体質もそうだし。

発注側から見えるアジャイル開発やスクラムはとても興味深い。