ja en en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja zh ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja fr ja ja ja ja ja ja en en ja ja en ja ja ja ja ja ja ja ja ja zh ja en en ja ja zh ja zh zh zh ja zh zh zh ja zh ja zh ja zh zh zh zh zh ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja zh ja zh ja ja ja ja ja zh ja ja zh zh ja ja ja ja ja zh ja ja ja ja en en ja ja ja en ja
私たちは、 Atlassian 社の JIRA を使って、上記のような仕組を実装しています。アイデアを提案し、要件を定義し、プロジェクトを企画するのです。依存性を記録し、工程管理をし、リリースを管理します。テストを説明し、結果を記録します。 JIRA を必要に応じてカスタマイズすることで、成功の指標との協力をとエンジニアリング・ベロシティ(開発の速度)を保つことができるのです。
プロダクト開発において、 2 つの種類の JIRA プロジェクトを使用します。一つは「計画プロジェクト」と言う、プロダクト自体に対応するものです。もう一つは「エンジンリアリング・プロジェクト」という、デプロイ可能なアプリケーションやサービスなどに対応するものです。
Indeed では JIRA の標準的な課題の種類(バグ、改善、新機能)を使用しています。これらの標準的な課題の種類のワークフローは、典型的な JIRA ワークフローをほんの少し改変したものです。
リリース候補の作成の準備ができたら、変更をリリース・ブランチの中にマージし、 QA 環境にデプロイします。この時、課題を 「検証待ち」 に移動します。
QA アナリストはこの成果物を検証し、課題を差し戻すか、検証を完了させ、 「終了の確認待ち」に移動させます。
ターゲットとなったリリースの中で、全ての課題を実証した後、本番環境に開発物をリリースし、全課題を 「終了」 にします。
また、私たちは自社のプロセスをモデル化するために、カスタマイズした課題の種類を使用しています。前回の投稿では、 ProTest という課題のタイプ (略称。正式にはProctor Test。)について説明しましたが、このカスタマイズされた課題の種類を使用することで、新しい Proctor の A/B テストをリクエストしたり、テストの割り当てを変更することができます。
Indeed には、もう一つカスタマイズされた課題タイプと、ローカライゼーション(ローカリゼーション)に関連したワークフローが存在します。グローバルに成長を続けるにあたり、私たちは、成長スピードを妨げることのないローカライゼーションを必要としています。多くの翻訳者との連携は、難しいこともあるので、翻訳プロセスを JIRA 内でモデル化しました。Indeed の Explosion (爆発) の課題タイプでは、各翻訳対象言語のための課題を取り入れます。以下がそのワークフローになります。
翻訳を必要とする英語のストリングに課題を作成する。
課題のトリアージを行い、レビューに回す。
ストリングが翻訳できる状態になったら、自動化されたステップが、一件の翻訳の課題を翻訳対象言語ごとに作成し、「爆発」の課題に全てをリンクさせる。(補足:爆発という呼び名は 1つの課題から 28 言語分の課題を一気に自動生成することから、シャレでそうネーミングされています。)
それぞれの「爆発済み」の課題は、それぞれのワークフロー(1.受諾、2.解決、3.検証、4.終了)に沿って進む。
全ての翻訳の課題が閉じたところで、実証し、 Explosion の課題を閉じる。
爆発と翻訳のカスタマイズされた課題タイプやワークフローは、かかわる人数が多いプロセスの効率化を助けてくれます。言語と機能をトリアージするので、翻訳の課題が全機能のリリースを妨害することはありません。また、JIRA を使用することで、機械翻訳と外部の翻訳サービスの統合が可能になります。
開発チームの多くは、 JIRA 内のダッシュボードとアジャイル・ボードを使用して、プロダクトに関連した課題に簡単にアクセスできます。定期的なトリアージ・ミーティングでは、プロダクト開発チームはこれらのツールを使用して、開発作業に優先順位をつけ、課題を分配しています。
メモリーのループを無くしていくこと
Git の中の各コードのコミットは、 JIRA 内で対応した課題として追跡可能です。さらに、参照した JIRA が、イニシアチブ(構想)に紐づく場合、その道すじは、イニシアチブにたどり着くのです。これは、エンジニアがいかなるコードのコミットもレビュー可能で、 JIRA 内の道筋を追うことで、全ての関係した実装の詳細、要件定義、そしてビジネスとしての同期を理解することが可能である、ということを意味しています。
コードを本番環境にデプロイするのは、明確なコミュニケーションと連携を要しますが、Indeed のデプロイ用の課題は、このプロセスを追跡しやすくしました。デプロイを追跡するために JIRA を使用することは、結果として、スムーズな切り替えと透明性を全関係者にもたらしたのです。
デプロイのチケットは、各バージョンに関連付けられており、ビルドからリリースのプロセスまで成果物を移動するのに、連絡をしやすくさせる、ユニークなワークフローをもっています。課題のリンクも使用することで、成功したデプロイに必要な全てのシスアドのタスクも文書化することができます。デプロイチケットはリリースの中の、同じ修正バージョンもあります。
ほとんどのチームは週ごとに作業の計画をしますが、作業が完了次第、本番環境に移します。
よくあるサイクルとしては、週2回、毎日、あるいはそれ以上、などがありますが、リリースマネージャーはオープン中のマージリクエストからリリースの候補を作成します。Git (ブランチ管理)、JIRA (コード変更とデプロイ)、Crucible (コード・レビュー)、そして Jenkins (ビルド)、これらのツール間で連携する社内用のウェブアプリを開発しました。デプロイチケットにステータス変更をすることは、課題の割り振りを発生させ、スムーズな引き継ぎを促します。
このアプローチは、チームに精査すべき情報を提供し、本番環境へのリリースのリスク管理を可能にします。QA アナリストは、変更が引き起こしかねない潜在的な不具合について、さらに理解を深めることができます。リリースマネジャーは、何が変更されるかという全体論的な視点を持ち、問題が起きても素早く対処できるようになります。小規模なリリースはバグの調査をもっと単純にしてくれます。
開かれた環境で働くこと
Indeed において JIRA は、ソフトウェア開発とデプロイのプロセスを、効果的で、効率の良い連携を可能にしました。要件定義を明らかし、実装の選択肢を話し合い、変更を実証し、本番にデプロイするために、これを使用しています。
チーム間、そして組織の上下をこえて、Indeed の JIRA の使い方は、作業を終えるために、透明性をもたらしてくれるのです。開かれた環境で働くことで、計画に対し共有された理解を持ち、前進し、何百という進行中のプロジェクトやイニシアチブに取り組むことができるのです。
自分にとって腑に落ちることをしよう
方法論やプロセスは、計画や、コミュニケーション、デリバリーのために反復と予測を可能にする仕組みを提供できる場合のみ、役立つものです。JIRA はこれらの仕組みを形作るのを助けてくれました。
「既製品」の中から、方法論を組み立て、実装しないようにしてみましょう。そして、問題解決にあたり、ツールに依存するのはやめましょう。その代わりに、どうやって自分のチームが計画し、コミュニケーションを図り、デリバリーをしなければならないかを考えましょう。そのうえで、自分のニーズを満たす最善のプロセスとツールを定義し、必要なだけ、プロセスを反復してみてください。そうして、本当に一番大事なこと―成果を出すことに集中するのです。
原案: 弊社エンジニア Jack Humphrey によるプレゼンテーションより翻案。
発表場所:Keep Austin Agile 2014にて発表。
« セキュリティには報奨金 インターンも、世界を動かす。 »
@ Indeed テックトーク
Indeedのオープンソースプロジェクト»
Indeed ユニバーシティ»
エンジニア採用 @ Indeed Tokyo
Indeedの採用情報を全て見る
CPU スロットリング 2
Uncategorized 1
エンジニアリング 27
エンジニアリング文化 25
データサイエンス 13
Toggle More
2022年4月 (2)
2022年2月 (1)
2021年6月 (1)
2021年3月 (1)
2021年2月 (1)
2020年12月 (1)
2020年11月 (1)
2020年10月 (1)
2020年9月 (1)
2020年8月 (1)
2020年7月 (1)
2020年3月 (1)
2020年1月 (2)
2019年12月 (2)
2019年11月 (1)
2019年10月 (1)
2019年9月 (3)
2019年8月 (3)
2019年7月 (2)
2019年3月 (1)
2019年2月 (1)
2018年12月 (6)
2018年11月 (1)
2018年10月 (5)
2018年9月 (1)
2018年6月 (2)
2018年4月 (1)
2018年2月 (1)
2018年1月 (1)
2017年12月 (2)
2017年11月 (5)
2017年6月 (2)
2017年3月 (1)
2017年1月 (1)
2016年12月 (1)
2016年10月 (1)
2016年9月 (1)
2016年3月 (2)
2016年2月 (1)
2015年12月 (2)
2015年9月 (1)
2015年7月 (1)
2015年3月 (2)
2015年2月 (1)
2015年1月 (2)
2014年12月 (1)
2014年11月 (1)
2014年10月 (1)
2014年9月 (1)
2014年8月 (1)
2014年6月 (1)
2014年4月 (1)
2014年2月 (2)
2013年12月 (1)
2013年10月 (2)
2013年9月 (1)
2013年8月 (1)
2013年3月 (2)
2013年2月 (2)
2012年12月 (1)
2012年11月 (2)
Toggle More
Back to top
©2022 Indeed - Cookies, Privacy and Terms of Service