JIRA Agile用のuserscriptを作ったりした日
趣味の政策物
弊チームではバックログとしてJIRAを使っている。
ここ最近しつこく「管理者権限が欲しいなァ〜(チラッ」としていたらめでたく権限を付与してもらえたので、 ここぞとばかりにJIRAをカスタムして使いやすいようにしていた。
ワークフローを単純にしたり、使わないフィールドを非表示にしたり、 これまで説明文用のテンプレからコピペしたりしていたのを、それぞれ専用のフィールドを設けたり。
色々準備はしたもの、やはり始まってみると色々不便なところが出てきて、 しかもJIRAの設定じゃどうしようもない部分もあったりする。
たかがツール、されどツールで、ツールに使われているようじゃ到底円滑にスプリントを回すことなんて出来ない。
そこで、スクラムマスターがセレモニーを進めやすいように支援するためのuserscriptを書いた。 ソースはyewton/userscripts。
Component-labels for JIRA Scrum
コンポーネントをエピックのようにスクラムボード上で分かりやすいく表示する。
ラベリングをしたいが為だけにエピックを使ってしまうという事態は結構そこかしこで起こっているみたいだった。 本来はコンポーネントでやるべきもので、エピックはエピックとして使えるのが健全な状態だと思うので、作った。
実装は滅茶苦茶単純で、DOMに変更がある度に全課題を舐めて、未設定だったらAPIで該当する課題のコンポーネントを取得している。 なので、バックログに積まれている課題数分、ページを開いた瞬間にリクエストが走ることになる。 リクエストの仕方を何か工夫しないと使いものにならないかなーと思っていたのだけれど、 案外数百リクエスト飛ばすぐらいだとビクともしなかったので、愚直な実装のまま。
Detail Pop-up for JRIA Scrum
各課題に詳細画面をポップアップで開くためのボタンを追加する。
アジャイルボードではカスタムフィールドが表示されないので、 確認するためには編集ポップアップを開くか、詳細画面に飛ぶしかなかった。 しかも、アクティブなスプリント中はクローズされている課題が編集出来ないので、 前者の方法はスプリントレビュー時には使えない。
画面遷移せずに詳細画面が開ければ用は足りると考え、
SimpleModalという、
その名の通りシンプルなモーダル機能を実装するためのライブラリを使って、
iframe
で詳細画面を開くだけの機能を追加した。
第3回 実践的ドメイン駆動設計ワークショップ - connpass
参加してきた。
エンジニアチームとして、業務と技術両面でどういう風に学んでいけばいいかっていう話と、 実際にやってみたら、コードの雰囲気はこんな感じだぜ、っていう話。
ドメイン層のクラスが1,000個とかあって、個々のクラスは 30 〜 60 行が大半を占めるそう。 目指すべき方向はそこだっていうのはわかってはいるけど、 実際に稼動してるプロダクトの数字っていうのは説得力がある。
ドメイン駆動設計を実践するなら、ドメインエキスパートとか、企画者との協調が必須だと思うのだけれど、 それをどうプロセスとして制御可能な形で行えばいいか、あまり掴めてない。
会話を重視しつつ、かつダラダラやらずに予測可能な状態で、 モデルに関する会話をする場を、開発プロセスのどこで行えばいいんだろう。
増田さんに上手いやり方無いっすか、と相談してみたけれど、 いい方法っていうのはなくて、エンジニアチームが実績を積み重ねて信頼を得ていって、 協力体制を築くしかないね、ということだった。 それでも駄目なら、職場を変えよ、とも。
色々仰々しいプロセスやツールを導入せずとも、 いつか阿吽の呼吸で、エンジニアチームと企画陣が協調して最高の仕事が出来るようになったときが、 アジャイルでドメイン駆動な状態なんだろう、たぶん。適当。