M1 安藤です。
今日から岐阜県の下呂市で開催されている組み込みシステム開発の学習会「LED-Camp 6(えるいーでぃーきゃんぷ しっくす)」に、M1安藤・B4 前田・B4 安井が参加し、チーム開発(アジャイル / スクラム開発)・組み込み開発の学習を始めました。
LED-Campは、組込みシステム開発の初学者や未経験者、組込みシステムに興味のある方を対象とした、合宿形式の勉強会です。若手の社会人の方や学生が一堂に会し、組込みソフトウェア開発の基礎を学びます。
組込みソフトウェア技術への第一歩は、LEDの点滅です。この制御プログラムの開発は、組込みソフトウェアにおける”Hello, World!!”とも言える入門の象徴です。これにちなんで、本合宿勉強会は、
LED (Learning Embedded software Development) キャンプ
と銘打っています。LED-Campの実習では、組込みシステムの先進的な開発手法を学び、チームで解決することを体験します。
1日目は、次のことを学びました。
- チームビルディングの理論
- チームビルディングの合意形成
- Scrum開発体験
- Lightning Talk
まず初めに、”ペン回し”を習得することをしました。
これは、『ファシリケーション』の一種だそうです。「できた人は、それを出来ない人に教えるのが難しい」「できない人は、何ができないのか分からない」という事を体験しました。
次に、じゃんけん大会&4人グループで自己紹介を行いました。
自己紹介の時には、『4象限シート』を用いました。4象限シートは、特定の軸に基づいて、「未来」「現在」「過去」のことを書きます。
今回は、「時間」が軸でした。内容は、「名前・ニックネーム・所属」「今の気持ち」「なぜ参加しようと思ったか」「このキャンプで何を学びたいか」の4項目を書き、交流し合いました。
その後、じゃんけんので決まった4人チームで「合意形成」の体験を行いました。
「合意形成」の体験では、ドラえもんの秘密道具から、”今の社会をよくする道具のランキング」をチームごとに決定しました。まず、個人ごとの意見を出し、その後、チームでどの道具をどの順位(重要度の高さ)にするのが妥当か”合意”させていきました。この時大切だったことは、最初に「どこまで決めるか」、そして、しっかりと全員が「合意」することです。「合意」は「同意」とは違い、しっかりと話し合いでチームで意思の統一を目指します。
そして、本編の最後にスクラム開発を軽く行いました。
その前にチーム決めから。40名全員が納得する方法でのチーム分けに挑みました。一般的にチームを組むとき、”ランダム・不特定性”・”自分以外の強い意向”が反映されますが、今回は、我々自身が納得するチームとなるようチーム編成を行いました。じゃんけんやあみだくじなどのランダム性を求める人、特定の目的を持った人を集めたい人、グループごとの経験値の差を少なくしたい人など、様々な思いがぶつかり合いましたが、それぞれの思いをもつ人の中で―グループを組む・人が足らない部分は、なるべく近いところに移るということで収束しました。
そして本編。手始めのテーマは、プログラミングではなく、スクラム開発用の「Todo・Doing・Done」といった進捗状態の可視化ができるボード作りを題材に行いました。
スクラム開発は、開発仕様が決まっていないとき、流動的に仕様が変化するプロジェクトに対してチームで対応するための開発手法です。プロダクトバックログと呼ばれる要求仕様リストのようなものをつくり、そこからタスク単位に細分化したスプリントバックログを作ります。スプリントバックログでは、「何をするか」「価値」「予測工数」「担当者」 の具体的な項目を上げたり、各チームが必要だと思う追加項目・ボードやチケット(タスクの可視化をしたもの)のレイアウトを考えたりしました。
この時、『プロダクトオーナー』と呼ばれる、開発対象の要求分析とそれを開発チームメンバーに適切に伝えてプロダクトに責任を持つ人と、『スクラムマスター』と呼ばれるスクラムの理解と成立に責任を持ち、スクラムを成立させるために守るべきルールを提示・支援・タイムキーパーといった役割をする人、開発メンバーに分かれて作業を行いました。
そして、本編は終了し、食事、夜中にはLT(Lightning talk)大会を行いました。参加者それぞれが1分の時間制限の中で自由なテーマで話をしました。ちなみに安藤はスマホのUIについて+α、前田は旅行について、安井はカルピスについて話しました!ディープな趣味を持った人や、癒される話をする人など、初めてのLTは楽しめました。
初日から非常に密度の濃い1日でした。明日から本格的にスクラム開発が始まります。開発期間は短期間なので集中して多くを学びたいです。