モダンなチーム開発環境のフリー利用可能な資料

チーム開発アジャイル, DevOps, 改善, 現場, ツール, Atlassian

この記事は、1年以上前に書かれたもので、情報が古い場合があります。

この記事の所要時間: 7

入手(ダウンロード)

本リソース以外にも提供しているリソースが多数あります。利用できそうでしたらぜひご活用ください。

 

経緯

「Getting Git Right ~ きっとできる Git」をはじめとしたイベントでの講演や、企業でのプライベートセミナーやディスカッションの場で、ご覧いただいている長沢のデモ環境 ~ 企画ー計画ー開発ービルドーデプロイの開発のライフサイクルを負担なく、すべて追跡可能にできる というものですが、とても反響がよいです。

中でも、「あれをやってみたいから、その手順を文書化してほしい」「その画面ショットと手順があれば、稟議やチームへの理解に役立てられる」とフィードバックをいただいておりました。

そこで、以下のこともやってみたところ、反響が大きかったので、再利用可能な資料としておこしてみました。

 

再利用可能な資料

再利用可能な資料は、PowerPoint 2013 で作成した .pptx ファイル、Keynote で作成した .key ファイル、そして、 PDF ファイルになります。

 

以下は、PDF化したものを SlideShare に公開し埋め込んだものです。

 

モダンなチーム開発環境

公開した資料をもとに少しだけ解説をしておきます(資料はほとんど説明をあえてつけていません。感じたままに使ってほしく)。

そもそも、ソフトウェア開発は、ビジネス価値を創造する一翼を担っていますので、ビジネスアイデアをビジネス価値に転換するビジネスパーソンの意向は、とても大切です。

それを「動くソフトウェア」にするために、開発エンジニアリングを行うわけですが、それがとても複雑であるということです。ウォーターフォールモデルで開発できる場合は、工程ごとにガッツリ全体を作っていくのである意味シンプルに見えます。しかし、それらの成果の関連や追跡可能性を考えてみるとウォーターフォールモデルで追跡可能性を創出し、維持することはとても難しいことはわかってきます。

では、アジャイルな開発、優先順位を決めて、提供可能なものを選んで開発し、提供し続けるモデルの場合は、企画ー計画ー開発ービルドーデプロイが何度も繰り返されるだけではなく、パラレルに動くことが要求されます。たとえば、開発中だって、企画の練り直しや調整を行うかもしれません。そのときに開発中のものや開発チームのコンディションは無視できないわけですが、企画と開発が分離しているとブラックボックスになっていてうまくいかなくなります。

したがって、ウォーターフォールだからとか、アジャイルだからとかではなく、追跡可能性が常に維持されている環境にしたいわけですが、そのためには、開発者をはじめとしたチームメンバーにかなりの負担を強いることになります。それこそ、本業よりも、情報収集や更新作業に費やさなければならないくらいに。

ただし、これをやっておかないと、バグ1件ですら満足に対応できない事態にすぐに陥ります。なので、よりよい開発環境にすることはとても重要になってきています。

ちょっと宣伝すると、Atlassian 製品をうまく使うと、企画からデプロイまでの状況を JIRA Software によって追跡可能にすることができてしまいます。これは、「なんか困ったら JIRA Software を見ればよい」「正しい情報は JIRA Software に」「開発のアクションはすべて JIRA Software から」という状況を作り出せるということです。

開発チームはそれで十分に効果を発揮しますが、先に述べた企画と開発の分断については JIRA Software だけでは解決できません。企画書と JIRA Software をつなぐすべが必要となります。でもご安心を、企画書を Confluence で作成しておけば、文書ないのセンテンスをバックログ項目(エピックやストーリーや機能)として JIRA Software に登録してくれます。JIRA Software を使わなくても JIRA Software に登録できる仕組みにより、ITS を使ってくれない人たちともつながれるわけですね。

長くなってしまったので、どんなことなのかを絵で示します。

やりたいことを工程や成果物で考えてみると先の絵は、次のようにブレイクダウンされます。

それぞれの情報がつながっていること、そして適切な作成や更新が伝搬していくことが大切になります。ビジネスパーソンの関心ごとである企画書と、開発者の関心ごとであるソースコードやビルドとはかなり粒度も、技術レベルも異なります。それを吸収して、粒度や価値観を調整してくれるのが、JIRA Software です。

したがって、そんな JIRA Software さんには、正しい情報が蓄積されてくれるとうれしいわけですが、よくある ITS と VCS での連携では、開発者同士がわかりあえるレベルにできたとしても、それより広く一般的な人と分かり合える情報に昇華させるのが難しい実情があります。

Atlassian の製品を使うと、JIRA Software にすべての情報を「都合よく」集まってきます。バックログ項目やそのサブタスク、バグの1件1件で、企画書とも、Git のブランチ、コミット、プルリクエストといったソースコードに関連する成果も、ビルド(CI)や、デプロイの状況もすべて収集され、追跡可能に勝手にしてくれる仕組みを作り上げることができます(しかも簡単にネ)。

 

 

その成果は、各 Issue (バックログ項目やサブタスク、バグ)の「開発パネル」で可視化され、追跡可能になります。それを示した資料が次の絵です。

それぞれのバックログ項目やサブタスク、バグ改修のステータスが遷移するごとに適切な情報が蓄積していっていることがわかります。え?絵が小さいって?では、表にしてみましょう。

 

Issue のステータス

Issue ごとの「開発パネル」

提案済み
(要求項目が登録された状態)

オープン
(開発できる状態。意思決定してやると決めたもの)

進行中 | ブランチ作りました
(開発が進行中な状態)

進行中 | コミットしました(& CI しました)
(開発が進行中な状態)

レビュー中 | プルリクエストしました
(開発が終わり、コードレビューしてもらう状態)

レビュー中 | プルリクエスト承認されました
(開発が終わり、コードレビューしてもらう状態)

解決済み
(ステージング環境などで検証している状態)

完了
(本番環境へのデプロイも終わった状態)

 

ステータスと、開発成果の収集・蓄積は、必ずしも 1:1 ではないところがキモです。だから手作業やちょっとしたら自動化ではかえって難しくなります。

では、各ツールでどんなことをやっているのか?ですが、それは公開した資料を見てください。画面ショットの数だけみるとなんか大変そうって思うかもしれませんが、デモ動画で如何に楽な開発環境かはみてみてください。

 

 

 

 

 

 

 

 

 

これだけ、有効なチーム開発環境ができますので、ぜひ皆さんも体感してブログなどで記事を共有していただければうれしいです。あと、だれか書籍とか書きませんか?

 

講演や現場訪問は、無料で承ります

講演や現場訪問、ディスカッションは、無料で日本各地どこへでも伺います。日程などは別途調整とさせていただきますが、お気軽にご相談ください。

本日も、某社にてこの記事にも関連する事柄のディスカッションをしてきました。ぜひお気軽にお声がけください。ただし、営業行為や、製品機能紹介などはお受けしておりませんのであらかじめご了承ください。