« 仕様書にもExcel脱却が求められている | トップページ | 安全性解析手法STAMP/STPAセミナーの感想 »

2017/12/26

第18回Redmine大阪の見所~「チケット管理システムによるソフトウェア開発支援と今後の課題~気象庁のRedmine利用事例報告」

来年2月3日に開催予定の第66回 SEA関西プロセス分科会&第18回 Redmine大阪の見所を書いておく。

【参考】
第66回 SEA関西プロセス分科会&第18回 Redmine大阪 - connpass

気象庁の数値予報課におけるRedmine利用事例: プログラマの思索

【1】(引用開始)
テーマ~「チケット管理システムによるソフトウェア開発支援と今後の課題」

今回の勉強会のメインセッションでは、気象庁の担当者の方にRedmineやGit等によるソフトウェア開発支援の事例報告を講演して頂きます。

気象庁|数値予報課報告・別冊 第63号(平成28年度) 数値予報モデル開発のための基盤整備および開発管理

気象庁におけるソフトウェア開発プロセスの事例で興味深い点は3つあります。

まず、一つのサーバー上で複数のRedmineインスタンスが運用されていて、各部署がそれぞれのRedmineインスタンスで異なる運用ルールを実施している点です。

次に、Redmineの特徴を十分に理解した上で下記のような運用ルールを展開している事が挙げられます。

(1)チケットの粒度は最初は気にせず、まずはチケットを作成して試行錯誤することを勧める事
(2)「No Ticket, No Commit!」ルールを徹底周知し、開発成果の信頼性向上や情報共有に役立てる事
(3)親子チケットによる進捗管理では、子チケットを五月雨式に作成しない点に留意する事

さらに、RedmineとGitを連携してgit-flowの開発プロセスを利用されているように、並行開発やコードレビューの仕組みを取り入れている点です。

以上のように、気象庁の事例報告を読むと、数値予報モデルの開発基盤と開発管理に、昨今のOSS開発では普通に行われているモダンな開発プロセスを上手く取り込んで運用されていることがよく分かります。

気象庁の担当者の方の事例講演を次回も聞くチャンスはそうありませんので、Redmineの初心者から、ソフトウェア開発プロセスに興味のある方まで、ぜひお越しください。

講演1
「気象庁の数値予報モデル開発における開発管理ツールの活用」

講演者:原旅人 様(はら たびと・気象庁予報部数値予報課予報官)

概要:
現在の天気予報は、スーパーコンピュータによる気象シミュレーション(数値予報)の
結果をもとに作られていて、そのためのソフトウェアのほとんどを気象庁の職員が
自らプログラムを作って開発しています。これらのソフトウェア開発は気象庁内で
組織横断的に、そして継続的に長いスパンで行われることが多いため、情報共有、
議論や作業の記録が大変重要であり、その支援ツールとして Redmine やバージョン
管理ツールを活用しています。

本講演では、気象庁の業務を簡単に紹介したのちに、気象庁におけるソフトウェア開発、
Redmine やバージョン管理ツールの利用の背景と経緯、およびその活用などについて
紹介します。
(引用終了)

【2】このたび、気象庁のRedmine利用事例を講演して頂けることになった。
個人的に聞きたかった内容ばかりなので、とても嬉しい。

上記の参考資料の通り、気象庁の開発プロセスでは、RedmineやGitなどの開発支援ツールを積極的に取り入れて、コードレビューや複数ブランチの並行開発、進捗管理などを効率化し、最近のオープンソース開発で主流となっている開発スタイルを実践されている。
気象庁というお硬い役所でも、モダンな開発スタイルを実践されているのに、未だにExcel主導のWF型開発に囚われた古い開発スタイルをやっているSIの方が多くて、時代遅れに感じてしまう時がないだろうか。

また、実際の開発業務では、気象庁の担当者自らがプログラミングして、天気予報の予測などの業務に役立てているのを読むと、自分たちの業務系システム開発とは違った別の側面が見えてきて、とても面白い。

たとえば、「Rubyは数値予報ルーチン関連のツールでも利用されている言語であり、管理者育成でも比較的少ない人的教育コストで管理可能という面を持ち合わせている」という記載から、気象庁にRedmineを導入しようとする壁は低かったのだろう、と推測する。
他に、欧米の気象庁に相当する官庁では数値計算にPythonを使うのが普及している、という事例を参考にして、Pythonスクリプトを記載していたりして、昨今の開発トレンドを積極的に取り入れようとする姿勢がよく伺える。

【3】そんな内容を考えると、気象庁では、先進的な技術を積極的に取り入れるという先取り精神が旺盛なのではないか、と思える。
実際、RedmineやGit等の先進的な開発支援ツール、RubyやPython等のプログラミング言語やライブラリを積極的に取り入れて、天気の数値シミュレーション等の業務に役立てているからだ。

Redmineコミュニティに関わるスタッフの立場としては、JAXAや気象庁という日本の大手官公庁でもRedmineを相当研究して利用されている、という事例が公開されることで、より普及が促進される効果もあるだろうと思う。

当日は、資料に記載されているRedmineやGitの開発ワークフローの背景、実際の気象庁の業務についても、色々詳しく聞いてみたいと思っている。

【追記】
ツイートした感想。

akipiiさんのツイート: "気象庁のRedmine 事例報告書を読み直してるけど、非常によく、Redmine によるチケット駆動の特徴を生かしてると思う"

akipiiさんのツイート: "Redmine チケットの粒度は最初は気にせず、チケット作成に躊躇せず、まずは試行錯誤してみたらいい。そのうち、チーム毎に運用は固まる、と。だから、あえてRedmine インスタンスを部署毎に立てて、運用とプロセスを任せている。"

akipiiさんのツイート: "気象庁では、チケット無しのコミット不可のルールを徹底周知して、Redmine とGitを連携し、さらにgit-flowに似たモダンな開発プロセスで運用されてる。お堅い官公庁の開発部署の方が民間企業より最先端かもしれない笑"

akipiiさんのツイート: "気象庁では、Redmine の親子チケットかんりでは、むやみに子チケットを五月雨式に作らない事に留意するよう促してる。そりゃそうだ。進捗率が90%になったのに安易に追加して50%に下がったり、仕様変更によるスコープ増大のチケットがどれか分からなくなる。アンチパターンでありそう"

|

« 仕様書にもExcel脱却が求められている | トップページ | 安全性解析手法STAMP/STPAセミナーの感想 »

Redmine」カテゴリの記事

コミュニティ」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 仕様書にもExcel脱却が求められている | トップページ | 安全性解析手法STAMP/STPAセミナーの感想 »