読者です 読者をやめる 読者になる 読者になる

【schoo】「新人エンジニアが知っておきたいアジャイル開発」を受講した

倉貫さんの2回目の授業で2014年1月27日に公開されている。 受講したので授業の内容や所感をまとめてみた。

前回記事 sprink.hatenablog.com

授業の概要

ウェブサービスやアプリの開発に携わる新人エンジニアの方を対象」としているが、アジャイル開発に興味のあるソフトウェアエンジニアにとって非常にわかりやすく、その概要や事例を学べると思った。
また講師の倉貫さんが代表のSonicGardenさんは100%アジャイル開発を行っており、実例や質疑応答での実体験からの回答は非常に参考になった。

なぜ今アジャイル開発なのか

以下のようなポイントが挙げられていた。

  • ソフトウェアをインターネット上で直接届けられるようになったことにより、「スピード重視」、「フィードバック」、「スモールスタート」、「スケールアウト」などの特徴を持ち始めたため。
  • アジャイル開発の効果としては、「リスクを初期に下げる」、「可視性は常に高く保つ」、「変化コストを一定に保つ」がある。

アジャイルウォーターフォールなどとの対比で”開発工程”の議論になりがちだけど、結局はアジャイル開発に合う”ビジネスモデル”が前提となる。”ビジネスモデル”に合った手段としてアジャイルが選定されるのであって、作るものが決まりきっているのにアジャイルで開発しても効果が薄いケースが多いのではと思う。 倉貫さんの「いらないものを見つけるために繰り返す」という話も非常に興味深かった。

アジャイル開発の事例に学ぶ

株式会社AsMamaさんの子育てシェアサービスの事例が紹介された。なにを作るのかではなく、なんのために作るのかをしっかり話す。これは、エンジニアのモチベーションだけでなく、別の提案ができないからとのこと。 ”事業の目的を共有する”ことを大切にしているとのことだった。 また具体的な開発、運用の説明もあった。

エンジニアに求められる姿勢

以下のようなポイントが挙げられた。

完成から持続へ

ソフトウェアについて、買った時点で最高品質の「Point of Sales」ではなく、サービス業の使う時点を最高品質にする”Point of Use”があある。”Point of Use”で大切なことは継続性と保守性であり、完成ではなく持続を目指すというのがアジャイル開発で求められる考え方。

当事者意識

”そもそも”から考える癖をつける。解決方法ではなく問題を話しましょうということ。 言われたことを作るだけでは、言われたものを作るだけのエンジニアになってしまう。

保守性を重視する

DRY(Don't Repeat Yourself)。コピペしない。

単位を小さくする

仕事をする単位をいろんな側面で小さくするのが大切。

なるべく作らない

YAGNI(You Aren't Gonna to Need It.)。先に予測して作らない。役に立たない可能性もある。 予測して作って、その予測が当たったら気分が良いが、外れる場合ものあるのでしないほうがよい。

守備範囲を広げる

なるべく分業しないで、自分でできることをたくさん増やしたほうが、効率的でスピード感も出る。 できるだけ兼務していく。

質疑応答

授業の後半では、受講者からの質問があった。気になったものを抜粋。

  • お客様から意見を引き出すために、工夫していることはありますか?
    どういう機能がほしいというのを気軽に話せるようにする。エンジニアから作らない提案をしていくことにより、お客様が思いつきでもどんどん言ってもらえる。

  • アジャイル開発はどういうところから始め、どうやって範囲を広げれば良いか?
    ”ふりかえり”をしてみて、自分たちのやり方がまずいところがないかコンセンサスを取るのが良いのではないか。いきなりアジャイルを提案しても難しい。

レポート課題

「授業の感想」と「ソフトウェア開発で学びたいテーマ」というレポート課題が出された。

授業を受けてみて思ったこと

「なぜ今アジャイル開発なのか」では、昔ながらの開発とアジャイルの効果が高いWebサービスとの違いがわかりやすく説明されていた。ソフトウェアのもつ特徴が違うため、効果的な開発工程も違ってくるというところがポイントだと感じた。また、単に開発工程ではなくビジネスモデルを含めての理解が必要だと思う。
アジャイル開発の事例に学ぶ」では、具体例をもとに具体的な開発・運用プロセスを紹介され、アジャイル開発がイメージしやすかった。「エンジニアに求められる姿勢」では、ビジネスモデル、開発・運用プロセスに加えて必要な、エンジニアの心構えが紹介されていた。ここでも、昔ながらの開発との対比もあり違いがわかりやすかった。