【超初心者向け】アジャイル開発、始めてみませんか?
この記事は「RUNTEQ Advent Calendar 2020( https://qiita.com/advent-calendar/2020/runteq )」のアドベントカレンダー17日目の記事として書いています。
あなたは何をしている人なんですか?
あ、どうも、こざくらです。
RUNTEQに6月に入学し、働きながら勉強して、晴れて11月末に卒業しました。やったー!
製造業界で機械を設計開発するお仕事をしているので、開発のお話には興味ある感じです。
アジャイル開発の話の前に
話はちょっと逸れますが、RUNTEQではDiscordというビデオチャットアプリでの交流が盛んです。
勉強部屋とか雑談部屋とか目的にあったいろんな部屋が設けられています。
生徒さんも講師さんも運営さんも、ここでワイワイガヤガヤしてます。 立場的なうんぬんは関係なく。
うん、素晴らしいコミュニティ力!最高!
(個人的にはDiscordでの交流があったから学習を続けられました)
RUNTEQ受講生の生の声をもっと知りたい方は、以下のレポート例をご参照ください。
yasunari-kainuma.com
wataru-pgm.hatenablog.com
naotolm10.hatenablog.com
note.com
っで、なんでアジャイルに興味あんの?
アジャイルスペシャリストに出会ったから
Discordで雑談をしていたら、アジャイルスペシャリストの方がひょこっと来られていろんな話をしてくださいました。
アジャイルのこと、スクラムのこと、ソフトウェア開発に関するあれこれ。
初対面&偉い方だったので、「あぁぁーこわいかなー」て身構えましたが、めちゃんこ優しい方でした。
1つ聞いたら10も20も教えてくださるgiveの精神。すごい。特にアジャイル開発にまつわる知識や情熱には圧倒されました。プロフェッショナルかっこいい。
こんな話が聞けるのもRUNTEQのコミュニティ力さまさまです。ありがとうございます。RUNTEQ生はどんどんDiscordに行って頂ければと。行くとなんか良いことがあると思います。ゲームとかしたりね。楽しいですよ。
アジャイル開発の成り立ちがおれ的に、ほぇー!!!!だったから
興味をもったもう1つの理由は、アジャイル開発の成り立ちです。
ぼく 「アジャイル開発って製造業にも使えるんですか?」 アジャイルスペシャリスト 「こざくらさん、アジャイル開発はトヨタ生産方式を参考にしているんですよ」
驚きでした。
現職の会社はThe・製造業で、トヨタ生産方式を真似た製造方式をとっています。
「かんばん」「カイゼン」「ジャストインタイム」などなど。そりゃあ天下のトヨタの真似するよね。
トヨタ生産方式とは | ホワイトボード型☆生産管理システムADAP
ただどちらかと言うと、工場ラインでのお話って感じで、開発業務とかオフィス業務にはうちの会社では展開されていません。たぶんみんな関係ないことってどこかで思ってるのかも。自分も含めて。
それがなんでキラキラ感のあるWeb業界でのソフトウェア開発に使われれるんやろーと。
そんなにすごいんか、アジャイル開発は!?と、興味がわいた次第なわけです。
トヨタ生産方式とアジャイル開発|小原和典/JQ/プロジェクトマネージャー|note
アジャイル開発を学んでみた
「アジャイル開発っちゅうのはこうこうこうで、手法の1つとしてスクラムがあるんやで。ほんで逆にウォーターフォール開発ってのはこうなんやで。ほんでほんで」ってバシッと説明できたらいいんですが、ググったら出てくるレベルですし、そもそもアジャイル開発したことないです、、、
なので、オススメしてもらった登竜門的な書籍を読んでみました。
つまりこの記事は読書感想文です!!
読んだ本
カイゼン・ジャーニーという本です。有名らしいので読んだことある方もいるかもしれません。Amazonレビューは星4.3です。
主人公が業務改善を通して成長してくヒューマンストーリーです。エモいです。チーム開発をやりきったシーンとかちょっと泣けます。
www.amazon.co.jp
そもそもアジャイル開発って?スクラムって?
そもそもアジャイル開発とはどのような進め方か?ざっくりいうと以下のイメージです。
・ 関係者は目的の達成のためにお互いに協力し合いながら進める ・ 一度にまとめてではなく少しずつ作り、早い段階から実際に動作するもので評価を繰り返す ・ フィードバックを継続的に得ながら、作っているもの自体や計画を調整する
「設計」→「実装」→「テスト」→「アウトプット」って取組みを小さく何度も行います。なので、開発途中で当初思っていたものよりも良いアイデアが出てくれば、それを受け入れて作るものを変えていくことができちゃう。俊敏。どんどん計画が変わっていく。スタートアップて感じ。カイゼン・ジャーニーでもそんな場面がいくつも出てきます。
っで、アジャイル開発を実現させる手法の1つとしてスクラムというフレームワークがあります。カイゼン・ジャーニーでは、スクラムという開発手法で話が進みます。
スクラムについての印象的な説明がこれ。
スクラムでは過去の失敗から学びを得ることも、大切にしている。 困難で複雑なプロジェクトには人との信頼関係が必要であり、お互いを尊敬し合うということが、仕事を進める上で重要であるとスクラムはうたっている。 つまり、単に開発工程だけを管理するためのフレームワークではない
うーん、めっちゃ人間味あふれる手法。
読んで印象に残ったこと
1. プロジェクトの理解とコミュニケーション、めっちゃ大事
「このチームの目的は〜〜ですよ 」とか「優先順位は〜〜ですよ」ってのはチーム全員の頭で考えないといけないってありました。上司が決めて降ってくるってことが今までだったので少しビックリ。
「プロジェクトのWhyとHowを明確にする」ための取組みをインセプションデッキと言います。
とくに大事なのは以下の4つ。
<Whyを明らかにする問い> ・ われわれはなぜここにいるのか:プロジェクトのミッションはなにか? ・ やらないことリスト:スコープの設定 <Howを明らかにする問い> ・ 夜も眠れない問題:不安やリスクはなに? ・ トレードオフスライダー:優先順位は?(品質、コスト、ローンチというQCDの観点から)
とくに「プロジェクトのミッションはなにか?」ってのは度々出てきます。
開発期間が伸びると、メンバーが変わったり、モチベーションも低下したりしがちなので、立ち上げ時にこういうワーキングは有効やなーと思いました。
2. 良い関係を作る手法も備わっている
トヨタ生産方式での手法(かんばん、なぜを5回繰り返して真因にたどり着く、ジャストインタイム)は、開発や製造の効率アップのための取組みです。
スクラムでは、そういう効率アップの手法はもちろんだけど、チームが良い関係を作れるような取組みも組み込まれていました。それが新鮮でおもしろかったです。
例えば、ドラッカー風エクササイズというチームビルディング。メンバー間で以下の質問をして、お互いの期待、思っていることを明らかにするって手法です。
①自分は何が得意なのか? ②自分はどうやって貢献するつもりか? ③自分が大切に思う価値は何か? ④チームメンバーは自分にどんな成果を期待していると思う ⑤その期待は合っているか?
チームに新しいメンバーが入ったときにお互いを理解したり、時間がたてばメンバーの状況(できることできないこと)も変わります。そういうミスマッチを防ぐのに効果的とのこと。素晴らしい。
3. ユーザーストーリーマッピングとMVP(RUNTEQで習ったぞ!)
MVPとは、「ユーザーにとって価値があり、かつ最小限の機能性を持った製品」のことです。
そう、RUNTEQのポートフォリオを考える会とかでよく出てくるやつです。
RUNTEQで習ったことが出てきたーやっぱ大事なんやーってことで印象に残ってます。
ユーザーストーリーマッピングは、「時間の流れに沿ってユーザーの行動を洗い出し、左から右にその変遷を可視化していくワーク」です。
簡単!楽しい!5分でわかるユーザーストーリーマッピング(User Story Mapping) - Qiita
ちなみに本では、開発終盤に大きな方向転換が必要となるシーンがありました。
時間がない中でどうすんの?もう無理じゃね?ってときに、ユーザーストーリーマッピングによる分析でMVPを考え直す、って使われてます。
・・・おれもなんかしたい、と思った方
ぜひやりましょう!
カイゼン・ジャーニーは、
第1部 一人から始める 第2部 チームで強くなる 第3部 みんなを巻き込む
の3部構成です。
1部では、主人公がひとり朝会で1日の計画を立てたり、タスクボードでタスクの見える化をしたりと、一人でコツコツ頑張ります。それが周りに影響して、1人から2人になり、チームになるって感じで話が進みます。
なのでまずは1人から!
最後に
ということで、こういう記事を書いたので自分も未来のアジャイル開発に備えて、1人カイゼンを初めてみようと思います。
まずはタスクボードでも買って部屋に貼ってみようかな。続くかな。。
サボってないかたまにチェックしてくれたらありがたいです(早速)
読んでいただきありがとうございました。