「アジャイルソフトウェア開発の奥義」から学んだことを書き殴る。 全29章からなる分厚い本です。 この記事は「アジャイルソフトウェア開発の奥義」から学んだことを忘れないために要点を整理する目的で書いています。 この本はアジャイル開発、オブジェクト指向、デザインパターンの概要から実践例の紹介まで取り扱っています。 すべてを完全に理解してから整理しようとすると大変時間がかかるのでアジャイル開発に焦点を絞って書いています。 感想から この本をざっくり読んだけでもはっきり感じた所感、それは私がこれまで携わってきたプロジェクトで行われているアジャイル開発はアジャイル風開発であってアジャイル開発ではなかったと。 顧客と開発者の関係が適切でないため計画フェーズではストーリーサイズの最適化、ストーリーポイントの見直し、速度計算の見直しがなくシャトルランを続けることになり計画フェーズでの狂いは実装フェーズでは残業の常態化、中途半端なテストファースト、中途半端なリファクタリングという悪影響をもたらしていると感じました。 1-1 アジャイルプラクティス 概要 プロジェクト成功の法則 1). 会話 > プロセスやツール 2). ソフトウェア > 包括的なドキュメント 3). 顧客との協調 > 契約交渉 4). 仕様変更 > 計画 アジャイル開発の目的 プロジェクトのプロセスが雪だるま式に肥大化してしまう悪循環を断ち切る。 アジャイル開発の法則は業務の関心ごと(顧客の要求を満たすこと)に集中するためのテクニック。 原則 最優先事項は顧客を満足させること 要求変更を歓迎し、顧客の市場での優位性を確保する 実働可能なソフトウェアの納品を頻繁(数週間程度)に行う 顧客と開発者はプロジェクト全般を通して日々働く やる気のある開発者をプロジェクトの中心に置き、サポートし信頼しプロジェクトを完遂させる チームでの情報伝達の最善な方法は直接話し合うことである 実働するソフトウェアが進捗状況の尺度 持続できるペースで開発する(シャトルランではなくマラソン) 高度な技術と優れた設計がアジャイル性を高める やらなくていいことはしない(You ain't gonna need it. ) 最高のアーキテクチャ、仕様要求、設計は自己管理能力のあるチームから生まれる(他人任せはダメ!) 定期的にプロジェクトの見直し調整を行う 1.
リファクタリング リファクタリングの概念。 機能を追加しバグをつぶしていくうちにコードは煩雑になりやがて手が付けられなくなる。 コードに手を加えたら必ずユニットテストを実行し何も壊れてないことを確認する。 13.
リリースサイクル XPプロジェクトでは2週間間隔でリリースする。 2週間のイテレーションでリリースされる機能はいづれかのユーザーストーリーである。 イテレーションの終わりに要求レビューとしてデモを行う。 イテレーションプラン 大抵2週間程度のイテレーションごとに小さな機能(ユーザーストーリー)を実装し納品する。 開発者は前回のイテレーションでこなした仕事量を参考にして次のイテレーションでの仕事量を見積もる。 顧客は見積りを超えない範囲内で好きなユーザーストーリーを好きな数だけ選択できる。 顧客はイテレーションがスタートしたらイテレーションでのストーリーや作業の優先順位を変えてはいけないことに同意する。 開発ははストーリーをタスクレベルへ分割することは自由。 リリースプラン 通常は3か月ごとに1回のリリースプランを作成する。 これはいくつかのイテレーション(大抵6回程度)を1つにまとめたプランのことで製品に組み込めるような本格的なソフトウェアのリリースになる。 開発者は前回のリリースでこなした仕事量を参考に次のリリースでの仕事量を見積もる。 顧客は見積りを超えない範囲内でリリースしたいストーリーを好きな数だけ選択できる。 顧客が選択したユーザーストーリーはいつでも変更可能で追加したり、キャンセルしたり優先順位を変えることができる。 4. 受入テスト 受入テストはユースケースとして記述され自動で実行できるように実装する。 受入テストもまたイテレーションが繰り返されるたびに漸進的に進化する。 5. ペアプログラミング 納品するコードはすべてペアプログラムで生み出される。 2人で詳細設計を行い1人がコーディング、1人がレビューを行う。 2人の役割は何度も入れ替わり、ペアそのものも1日1回は組み替える。 こうした過程を経てチーム全体に知識が浸透する。 ペアプログラミングは作業効率が落ちることなく欠損率が減少する手法である。 6. テストファースト(TDD) コードはすべて失敗するユニットテストをパスさせる目的で書く。 まず、機能が実装されていない 失敗するユニットテスト を書く。 次にそのテストをパスさせるためのコードを書く。 テストケース(ユニットテスト)を作ってからテストをパスさせるコードを書く。 数分程度で実装できる小さなテストケースの作成と実装を繰り返していきながら機能を実装していく。 7.
タスクプランニング・進捗確認ミーティング(中間ミーティング) イテレーションごとに開発者にはタスクポイントを割り振る。 イテレーション開始時に開発者はストーリーをタスクレベルに分割しタスクポイントを設定する。 分割したタスクは顧客に提示する。 抽出したタスクはチームメンバーが目に見えるところに表示されメンバーは自由にタスクを選択しサインアップしていく。 タスクが終了すると開発者に割り振られたタスクポイントは消費されていく。 タスクポイントを消費しきった開発者は次のイテレーションまで次のタスクを行ってはならない。 すべての開発者がタスクポイントを消費しきった段階で残タスクがあった場合はチーム内で調整し残タスクにとりかかる。 逆にタスクをすべて終了した段階でタスクポイントに余裕がある場合はストーリーの追加を検討する。 5. 進捗確認ミーティング(中間ミーティング) イテレーションの中間地点で開発チームはミーティングを開き、進捗確認を行う。 この時点でストーリーの半分が実装されていなければならない。 ストーリーが8個、タスクが40個だった場合、ストーリーが4つ実装されているということである。 タスクが20個消化されているという意味ではないことに注意。 6. イテレーション イテレーションの最後に実装した機能のデモを行う。 顧客は機能の評価をし、必要であれば新しいユーザーストーリーとして開発者にフィードバックをする。 Why not register and get more from Qiita? We will deliver articles that match you By following users and tags, you can catch up information on technical fields that you are interested in as a whole you can read useful information later efficiently By "stocking" the articles you like, you can search right away Sign up Login
全て表示 ネタバレ データの取得中にエラーが発生しました 感想・レビューがありません 新着 参加予定 検討中 さんが ネタバレ 本を登録 あらすじ・内容 詳細を見る コメント() 読 み 込 み 中 … / 読 み 込 み 中 … 最初 前 次 最後 読 み 込 み 中 … アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技 の 評価 46 % 感想・レビュー 10 件
ユーザーストーリーの洗い出し、見積り、スパイク・分割・速度 ユーザーストーリーの洗い出し プロジェクトの最初の段階で顧客と開発者は重要なユーザーストーリーを可能な限り洗い出す。 ただし、すべてのストーリーを出し切る必要はない。 ストーリーは後で追加することも可能であり、開発者は歓迎する。 コストの見積もり 開発者はストーリーを実現するために必要な時間を見積もる。 この段階での見積もりは大雑把なものでよい。 時間はストーリー実装の相対時間を表すポイント数で算出する。 分割 長すぎるストーリーは小さく見積りがちだし、小さすぎるストーリーは大きく見積もがちになる。 「実践ユースケース駆動開発ガイド」では主語、述語、目的語でシンプルにユースケースを記述することを推奨している。 速度 相対的な見積りからは絶対的な時間は割り出せない。 ストーリーの最適なサイズを知るには相対的なストーリーポイントの絶対値を知る必要がある。 ストーリーポイントの絶対値を速度と呼ぶ。 速度の精度が上がるほどストーリーの最適なサイズが正確に知ることが出来るし、リリースプランで提示するストーリーの見積もりの精度も向上する。 スパイク 最初にストーリーのプロトタイプを作成することで速度をつかむとっかかりができる。 この作業をスパイクと呼ぶ。 2. リリースプランニング リリースプランニングではリリース期間のサイズを定める。 通常リリース期間は2~4か月程度。 次にリリース期間中にどのストーリーを実装したいか選択する。 この時、ストーリーポイントの合計がリリース期間を超えるサイズにしてはならない。 イテレーション前であれば選択したストーリーを変更することができるが、イテレーション期間のものは変更できない。 ストーリーを選択する指標はストーリーのプライオリティとコストである。 プライオリティとコストがわかればコストパフォーマンスを知ることができる。 リリース期間を経るにつれ速度計算の精度は高くなっていく。 リリース期間が決まったら、イテレーションサイズを定める。 イテレーション期間で実装したいストーリーは顧客が選択することができる。 この時、ストーリーポイントの合計がイテレーションサイズを超えてはならない。 たとえストーリーがすべて実装できなくても定められた日にイテレーションを終了しなければならない。 開発者は速度を計算する。 イテレーション速度計算 速度(絶対時間) = 総作業時間 / 完了したストーリーの総ポイント 4.
女性として輝く時間はどんどん過ぎていくよ。 サラサラと砂時計のように、残された時間は少なくなってる。 これを読んでいるあなたは、今が1番若いときなんだよ。 昨日より1日、歳をとってる。 今日より明日はまた、1日、歳をとる。 そう、失恋で後悔してる場合じゃなかったんだよ。 前向きに進め! 気が付いたら、手遅れ!なんてことにならないようにね。 急がないと、錆びついてしまうよ。 申し込みじゃないから、お試し気分で気軽にやってね。 チャンスが巡ってきたら、すぐにでも動こう! 未来を自分自身の手で切り開こうね。 どんなチャンスも掴みにいかなければ逃げていくよ。 ▼▼ まずは簡単無料結婚チャンステスト ▼▼
「こんな男と寝てはだめ!」LINEの作法で見抜け!付き合ったら苦労する男【神崎桃子の恋愛スパルタ塾vol.
彼氏からの「会いたい」の言葉を聞くと愛されていることが実感出来て嬉しいですよね!
彼氏と会う平均が週に1回だとして、それと比較しても現状は変わらない。 男友達が「彼女が毎日会いたがってウザい」と漏らしているのはよく聞く話でしょ? じゃあ、毎日会いたいと言わなければいいの? たまに「会いたい」というのはOKとか言う人もいるけど、私はそうは思わない。 会いたいなんて絶対に言っちゃだめ。 LINEで簡単に「会いたい」って伝えても、未読が続いたり既読スルーだったり、不安は増すだけ。 返信が気になって気になって落ち着かないよね。 電話して声にして伝えたら会ってくれるかも!と電話をしてみても、電話に出なかったらまた不安になる。 何度も電話したりすると重すぎるよね。 電話に出てくれたとしても、忙しそうだったりそっけなかったり。 最後の手段で、いきなり会いにいくなんて絶対やめてね。 「会いたい」ではなく「これから会いに行っていい?」と聞いて、会いに行く女性も多いようです。彼氏の立場でこのシチュエーションを考えてみると、大好きな彼女に突然会えることになったら、テンションが上がるでしょう。きっとますます彼女のことを好きになってしまいますよね。 これはネットの記事で見つけたの。 無責任なこと書いてるよね。 本当に彼氏のテンションが上がると思ってるの? そもそも大好きだったら、彼氏のほうから四六時中「会いたい」って言ってくるから。 あなたから「会いたい」と伝えなくても、彼氏が会いたいと思っていれば連絡してくるんだよ。 現実を直視してよく考えてみて。 彼氏が「会いたい」と言ってくれなくなった今の恋愛について、しっかり考えてみて。 彼氏に会いたいと思ったときの対処法 彼氏に会いたいと思ったとき。 それは彼氏から会いたいと言ってくれなくなったときでしょ? 彼氏から「会いたい」と言われなくなった今の恋愛って幸せなの? 自分から彼氏に会いたいと伝えて、そっけない態度をとられる恋愛って幸せなの? 会いたい気持ちを抑えきれずに、何度もしつこくLINEしたり電話したり。 今以上に彼氏から冷められてしまうよ! 彼氏に会いたいと思ったとき、有効な対処法はひとつだけ! 「早く会いたい」と言う彼の心理とは. 「会いたい」とLINEもしない、電話も2度としない! 彼氏に会いたいというLINEや電話だけじゃなく、一切あなたから連絡をしないこと。 彼氏から会いたいと言ってくれなくなった恋愛を追いかけない! 彼氏のことを一旦、あなたの頭の中から消して、自分の時間を心から楽しめる女になろう。 ガシガシと部屋の掃除をしたり、片っ端から友達に連絡してご飯に行ったり。 独りでゆっくり本を読んだり映画を観たり。 心の自立をするんだよ。 彼氏に会いたいと言わない、彼氏から会いたいと言ってくる女になるためにね。 放っておけない女になるんだ。 彼氏はね、あなたのことを少しばかり放っておいても大丈夫だと思ってるから、会いにきてくれないんだ。 会いたい、会いたいって言うから逆に面倒になってるんだよ。 だからもう、連絡しちゃだめ。 放っておくならどっかいっちゃうよって無言のアピールしなきゃね。 追いかけるのはやめよう。 今の彼氏に雑に扱われてることに気が付いて。 彼氏から「会いたい」って連絡がくるまで、私からは連絡しないってこと?