スクラムのチームは全員が同じ場所にいることが推奨(だったと思います、Scrum.org の Scrum Guide には書いてないかも)ですが、そうも言っていられない状況。しかし、リモートワークでスクラムをする場合には、かなり頑張って、メンバーが密にコミュニケーションできるように準備する必要があります。

そのための工夫のひとつとして Azure DevOps のタスクのメンションを使うのが良い感じです。

スクラムイベントの スプリント振り返り ( Sprint Retrospective ) は Scrum.org の Scrum Guide に定義されています。スプリント期間の終了時に、スプリント期間1週間につき 45分(4週間なら3時間)の時間をとって、何が良かったか?何が良くなくてどう改善するか?をみんなで話し合います。

他のスクラムイベントはしっかりやれているのに、スプリント振り返り だけやれてないという話はよく聞きます。重要なこのイベントを、ちゃんとやれるように何とか定着させたいところです。

スクラムイベントは Scrum.org の Scrum Guide に定義されています。

新しく開発チームのサイトを作るときに、サイトの Welcomeページにこれらのイベントを記載してメンバーに周知したいので、私はよく README.md Markdown ファイルにチートシートを書いておきます。

現在ではクラウドの Azure DevOps を使用できれば、簡単にCI/CDを構成できます。開発者がコードを変更したら、自動的にビルドして、テストを行い、開発・動作確認用のWebサーバーなどに自動的にデプロイ。管理者に承認依頼が送信されて、承認すると、次のテスト環境や運用環境に自動でデプロイされる、という構成を簡単に作ることができます。

※CI/CD : Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)

現代の開発では、このCI/CDなしにはもはや開発をすることができないと言っても過言ではありません。たとえクラウドのAzure DevOpsを使えなくても、常にCI/CDを実現したいものです。今回は、Azure DevOps Server(オンプレミス版の Azure DevOps、旧称 Team Foundation Server : TFS )を使用してこれを実現しました。

今回はこのフローを実現しました。ソースコードを変更すると自動的にWebサーバーに配置されます。

デフォルトでは有効になっていないオプションなので、知っている人は使っているケド、知らない人は知らない機能。

Visual Studioで、ソースコードなどのウィンドウを選択してアクティブにしたら、ソリューションエクスプローラーでも同じファイルを選択するようにすることができます。

前回の話 では、変数の生存期間をできるだけ短くする話をしましたが、今回はメソッドの話です。同じリファクタリングのなかで指摘したお話です。

今日のコードレビューでこんなコードを見たので、指摘して修正してもらいました。

私はコードレビューについて、少し反対派です。

というのも、コードレビューができる人って限られていて、大抵の場合負荷がその人に集中してしまうからです。ボトルネックとなって責められるか?バグの責任を一身に背負わされるか?そんなの誰だってやりたくない。本当に重要なところならともかく、何でもかんでもレビューしていたら、身がもちません。むしろコードレビューなんてしなくていいルール・仕組みにしておいても、どうせ本当にヤバいところはダブルチェックでレビューしあうでしょ?そういうところのために余力を残しておきたい。あるいは、そういう相談ができる相手がいない人は、結局レビューはしてもらえないのだから、本気で全力でやるしかない。だから、コードレビューを(ソース管理の制約やリリース判断として)ルールに組み込むのは反対。程度問題なんですが、いいバランスでやれるイメージがなかなかもてない・・・ 続きを読む

今日、WPF Localization についてこちらのブログで紹介されていると教えてもらいました。そして使いたいので更新してほしいとのリクエストも。

そこでは、次の3点が指摘されていました。

  • 対応するクラス、プロパティが少ない
  • ライセンスが不明瞭
  • GitHub に上がっていない

早速、対応して新しいバージョンをリリースしました。

対応するクラスとプロパティに制限をなくし、Content、Text、ToolTip以外にも Titleなどのテキストプロパティや、FontFamily、FontSizeなどのオブジェクトや数値のプロパティをサポートしました。もし動かないプロパティがあれば GitHub の issues で教えてください。対応します。

GitHub はまだ場所を作っただけで、ファイルは上げていませんが。これまで個人の Azure DevOps ( 旧 Visual Studio Team Services ) で管理していたので、いったんそのまま開発してますが、次のアップデート時には移したいと思います。

先日、DevOps・アジャイルでよさそうな書籍を紹介してほしいと頼まれたので、ピックアップしてみました。

変革の軌跡【世界で戦える会社に変わる”アジャイル・DevOps”導入の原則】
分かりやすくアジャイル・DevOps導入の考え方が解説されています。実際に組織に導入するときに最初に読むのにお勧め。個人的にはメトリクスの話がわかりやすくお気に入り。

Effective DevOps ―4本柱による持続可能な組織文化の育て方
しっかりとDevOpsについて解説されている、おそらく現在一番スタンダードな教科書だと思います。

進化的アーキテクチャ ―絶え間ない変化を支える
実際にアジャイルでどうやってマイクロサービスを使ってくのか?について、より詳しい解説を読みたい場合に。

業務システム開発モダナイゼーションガイド 非効率な日本のSIを変革する実践的ベストプラクティス
現場の開発者向け、少しシニアナメンバーに(アジャイルやDevOpsをいきなり導入するのは難しくても)少しずつDevOpsのツール・方法を導入してみては?という実践的な視点で。

SCRUM BOOT CAMP THE BOOK
定番のスクラム解説の本、マンガ・ストーリーで解説されているので、まだアジャイルトレーニングを受けたことがない人が全体イメージを理解するのにお勧めです。

The Scrum Guide™
スクラムガイドは、簡潔に書かれているのでこれだけで勉強するには不向きですが、アップデートがないか?確認したり、全体をおさらいしたりするのに最適です。日本語版は https://www.scrumguides.org/download.html からPDFをダウンロードできます。