【忘却のJava#1】Javaを思い出すために絵本を読みました
これからSpring Bootを触ってみたいと思ってるので、その前にプログラミング言語の概念とか書き方とか初歩的な所をおさらいです。
会社でJavaの研修を受けたのが、かれこれ7年前くらいですが、その後はひたすらインフラ領域のお仕事だったので、プログラミングとしてのJavaは一切触れていませんでした。なのでクラス、オブジェクト、継承、インタフェースって何となく覚えてるけど、どう違ってどう使えるんだっけ?オーバーロードとオーバーライドって何が違うんだっけ?ポリモーフィズムって何だっけ?などなど、恥ずかしながらそんなレベル・・・
で、読んだ本はこちらです。
「Javaの絵本」
非常に優しいで本なので、さくっと一通り思い出すにはちょうど良かったです。
持っていたのが、Java5.0を対象とした版なので古いですが、あくまで雰囲気を掴むということで、だいたい2時間くらいで読み切りました。
次回は何かコードを書いてみたいと思います。
以上。
【とはメモ#2】「Scrum(スクラム)」とは?
前回はアジャイルについて書きました。
今回はScrumについて学習したので、どんなものなのか復習の意味を込めて書き残します。
目次
- 目次
- 「Scrum(スクラム)」とは?
- 「プロダクト」とは?
- 「スプリント」とは?
- 「ロール」とは?
- 「プロダクトオーナー(PO)」とは?
- 「スクラムマスター(SCM)」とは?
- 「開発チーム(DEV)」とは?
- 「イベント」とは?
- 「スプリント計画会議」とは?
- 「デイリースクラム」とは?
- 「スプリントレビュー」とは?
- 「振り返り」とは?
- 「成果物」とは?
- 「プロダクトバックログ」とは?
- 「スプリントバックログ」とは?
- 「インクリメント」とは?
- 「Scrumの目的」とは?
「Scrum(スクラム)」とは?
- アジャイル開発のフレームワークの1つ
- チーム一丸となって「プロダクト」をつくるための最低限のルールを定めたもの
- 3~9人でチームを組む
- 「スプリント」を繰り返しながら開発する
- 以下が定義されている
・「ロール」
・「イベント」
・「成果物」
「プロダクト」とは?
- Scrumで開発されるソフトウェアそのもの
- マニュアルなどドキュメントが含まれていてもよい
「スプリント」とは?
- Scrumの開発の繰り返し単位
- 1スプリントの期間は1~4週間
- 開発メンバの力量で期間の長さは選べる
- スプリントの長さは固定で変更は不可
(開発リズムを一定化することで、チームの生産性の向上と測定が容易なため)
「ロール」とは?
- Scrumでチームメンバーが担う役割
- 以下のロールが定義されている
・「プロダクトオーナー(PO)」
・「スクラムマスター(SCM)」
・「開発チーム(DEV)」
「プロダクトオーナー(PO)」とは?
- プロダクトに責任を持ち管理するヒト
- プロダクトの機能や特徴を定義したり、リリース日を決める
- プロジェクトの目的やゴールをチームに示す
- スプリントで何を優先して作るか優先順位を決める
「スクラムマスター(SCM)」とは?
- Scrumの活動が上手くいくように管理するヒト
- ロールやイベントの目的、やり方などをメンバーに教える教育係
- 何か問題が起きたら解決できるようにメンバーをサポート
- とにかく開発チームが開発に専念できるように努める
「開発チーム(DEV)」とは?
- プロダクトを開発するヒト
- 個人が得意な作業だけを行うのではなく、技術やマネジメントなど機能横断的に振る舞うことが求められる
「イベント」とは?
- Scrumで実施する会議
- 以下のイベントが定義されている
・「スプリント計画会議」
・「デイリースクラム」
・「スプリントレビュー」
・「振り返り」
「スプリント計画会議」とは?
- そのスプリントで取り組む要求と実現方法を決めるための会議
- POはスプリントは達成したいことを伝え、それに対してDEVはどんな作業と見積もりで実現できそうか答える
- 時間はスプリントの期間の5%で固定
「デイリースクラム」とは?
- 毎日決まった場所、決まった時間で行う会議
- DEVが主体となり昨日やったこと、今日やること、問題になっていることを話す
- 時間は15分間で固定
「スプリントレビュー」とは?
- スプリントの「インクリメント」を確認するための会議
- 実際に動くデモを実施し、POがそのスプリントが完了かどうか判断する
- ステークホルダーを招集し、フィードバックをもらう
「振り返り」とは?
- スプリントの進め方を振り返る会議
- あくまで進め方であり、プロダクトそのものの評価は行わない
- 次のスプリントへの改善計画を立てる
「成果物」とは?
「プロダクトバックログ」とは?
- ユーザの要求を記述したもの
- 誰がどんな機能を何のために欲しいかなどを記述する
- POが優先順位をつけて、一覧化しておく
- スプリントの計画管理がしやすいため
- 誰でも更新してOKで日々更新されていく
「スプリントバックログ」とは?
- プロダクトバックログを実現するための具体的なタスクを記述するもの
- DEVがタスクの洗い出しと作業時間の見積もりを反映させる
- スプリント計画会議で作成する
「インクリメント」とは?
- スプリントで完成したプロダクトそのもの
- スプリントレビューで見せられるように動作するものである必要がある
ここまで書いてきた要素でScrumは成り立っています。
ですが、あくまでフレームワークであって、必ず成功できる方法論ではないです。
大事なことは以下の目的を忘れずにチームで協力し合い、失敗から学び、より良いものをつくっていこうとするマインドみたいです。
「Scrumの目的」とは?
- ユーザにとって価値のあるプロダクトをつくること
- 問題発見と改善を繰り返し、チームとして生産性をあげること
以上。
【とはメモ#1】「アジャイル」とは?
新元号「令和」が発表されたということで新鮮な気持ちでブログを書き始めます。
時間が経つとせっかく学んだ技術や用語について、要するに何だっけ?を忘れることがあるので、〇〇とは?という形で備忘として残していきたいと思ってます。
初投稿は「アジャイル」とは?です。
目次
「アジャイル」とは?
- ソフトウェア開発手法の1つ
- ソフトウェアを少しずつ作って、できたものをその都度、ユーザに見せてフィードバックを得ながら、次の開発に反映させていく
- ウォーターフォールのように長期間かけて最後に1回だけユーザに見せるよりは、小さな単位で要求を反映しながら開発するアジャイルの方が手戻りが少ない
- 小さいウォーターフォールを短期間で繰り返すイメージ
(※あくまでイメージ)
書籍
アジャイルのフレームワークであるScrumの研修を受けたので、この本で復習中です。会社のアジャイルな人にオススメしてもらいました。
Scrum入門する人はだいたいこれ読むらしいですが、単純な座学だけでなく、実践を想定した漫画や説明がついていて参考になります。
次回はScrumについて学んだことをまとめたいと思います。
以上。