効果的なTalendジョブ設計レビューの実施 – 入門編

効果的なTalendジョブ設計レビューの実施 – 入門編

どこの開発チームでも、一般的なプラクティスとしてコードレビューが実施されています(少なくとも、そうあるべきです)。コードレビューは、複数の開発者が記述されたコードを調べ、品質と正確さを向上させるために、その設計、実装、構造について議論するプロセスです。正式な手法、あるいは、より簡易な手法(ペアプログラミングなど)のどちらを実施するにせよ、実稼働前に欠陥や不足を見つけるために、コードレビューは効果的であることが証明されています。

さらに、コードレビューを実施することで、チーム内で確立されたベストプラクティスに沿って全員が作業を進めることができます。このチーム内でのコラボレーションにより、途中で新しいベストプラクティスを特定することも容易になります。それだけでなく、定期的にコードレビューを行うことで一定レベルの情報共有が実現され、すべての開発者がお互いから学ぶ機会が得られます。これは、経験の浅い開発者にとって特に有効ですが、上級の開発者もこのプロセスから学ぶことがあります

Talendはコードジェネレーターなので、開発者が実際にコードを記述することはありませんが、その裏で、ジョブの開発中には行単位のコーディングで多くの要素を共通しています。すなわち、Talendは非常に柔軟なプラットフォームであり、開発者は様々な方法でジョブを構築できるのです。ジョブの設計、設定、オーケストレーションのフローをレビューするだけであっても、コードレビューを実施することのメリットを100%得ることができます。

Talendジョブレビューの「意義」

Talendジョブレビューの目的を一語で表すとすれば、「品質」でしょう。戦略的には、長期的にはジョブレビューによって当然のことながら開発者のスキルが向上し、ベストプラクティスが洗練されます。つまり、将来のジョブについては、ジョブレビュー前の段階からパフォーマンスが改善され、欠陥が減少し、そして保守が容易になるのです。

Talendジョブ設計レビューのメリットについて、上記の説明だけでは確信を持てない方もいるでしょう。開発者はそれなりのプライドをもってジョブを構築しているので、反応にばらつきがあるのも当然です。しかし、レビューのメリットに注目し、お互いから学び、全員のスキルを向上させる場として前向きに捉えることが重要です。レビューに参加している間は、関与する開発者に対して常に思いやりと敬意を持つべきです。チームによっては、正式なチーム全体のレビューよりもペアで行うレビューの方が効果的な場合もあります。ペアで実施する場合でも、オフラインではなく直接顔を合わせてのレビューの実施を推奨します。そのほうが、レビューのコラボレーションから得られるものが多いのです。実利をとることが重要です。コードレビュープロセスを改善する方法を提案するようにチームに求めましょう

定性的側面と定量的側面

Talendジョブをレビューするときには、質と量の両方から考えることが重要です。

質の面では、ベストプラクティスの適用と、それを採用することが必要です。Talendの推奨するベストプラクティスをまだ読まれていない場合は、ぜひ目を通してください。現在、4回シリーズのブログ記事で紹介しています。

ベストプラクティスに関するこれらの記事では、効果的なジョブ設計の定性的側面について説明しています。読みやすく、書きやすく、保守しやすいジョブを設計する方法について、推奨事項を紹介しています。さらに、より良いジョブを構築するために事前に知っておくべき、以下のような基本事項についても述べています。

  • 機能
  • 再利用可能性
  • 拡張性
  • 一貫性
  • パフォーマンス
  • その他

これらの基本事項をうまく選択してバランスを取ることが成功の秘訣です。

成功するジョブ設計パターンの方法論と実践に関する後続シリーズ(現在のところ2回分)も参考にしてください。

これらの記事はきっとお役に立つと思います。

次に、量の面からジョブのレビューについて考えていきましょう。コードレビュープロジェクトでは、コードの複雑性と保守性を評価するための多くのメトリクスツールを使用します。Talendにも、多くの機能をもつ監査ツールがあることをご存知でしょうか。そのツールはTalend Administration Center(TAC)に含まれています(以下参照)。

ジョブに関するあらゆる種類の役立つ情報を参照できます。これは、見逃されがちなTACの機能なので、必ず確認してください。『Talend Project Audit User Guide』(Talend Project Auditユーザーガイド)を読むことをお勧めします。Talend Project Auditは、プロジェクト監査機能を提供し、Studioで設計されたジョブの様々な要素を精査します。Talend Project Auditは次の項目をレビューします。

  • ジョブの難易度とジョブで使用されるコンポーネント
  • ジョブのエラー管理
  • キュメンテーションとジョブのバージョン管理
  • ジョブ設計でのメタデータ項目の使用
  • ジョブとサブジョブのグラフィカルデザインのレイアウト関連の問題
  • ジョブの分析

Talendで標準のコードメトリクスツールを使用できるかどうかについて、質問を受けることがあります。使用できますが、いくつか注意点があります。コードメトリクスツールは、ビルドのコード生成後に実行できるので、そのためのJenkinsジョブを作成して実行することも、標準のビルドにメトリクスを直接適用することも可能です。Talendでは複雑なジョブは、より複雑なコードを生成する傾向があります。

しかし、このコードの保守には、事前に構築された、再利用可能なコンポーネントとグラフィカルユーザーインターフェースを使用します。複雑性と保守性のメトリクスは、ジョブ間で比較すると問題ありませんが、ハンドコーディングされたプログラムの場合は、必ずしもそうではありません。そのため、一般的にはTalend Auditの機能を使用することをお勧めします。

ジョブレビューの7つのベストプラクティス/ガイドライン

Talendジョブレビューのコンセプトについてご理解いただけたでしょうか。最後に、このコンセプトを実際の作業に移すうえでのベストプラクティスとガイドラインを紹介したいと思います。

  1. メトリクスを取得し、変更するジョブの領域を見つけた場合は、それらを数えます。
    • 規模を分類します。
    • レビューセッションの影響を数量化していくことが重要です。
    • 欠陥を追跡し、プロセス後に欠陥が減少しているかどうか、すなわちレビューにかけた分の成果が得られているかどうかを確認します。
    • レビューにかかった時間を記録します。
  2. 一度にレビューするジョブの数が多すぎないようにします。
    • むしろ、ジョブが複雑である場合は、一度にあまり綿密にレビューしないようにします。
    • 時間をかけてジョブの設計とパターンを理解しましょう。
  3. レビュープロセスが容易になるように、常にジョブをわかりやすく記述し、注釈を付けましょう。
  4. コンポーネント、データフロー、サブジョブにラベルを付けましょう。
  5. 不適切なパターンを記録し、将来のジョブレビューに備えてウォッチリストを作成しましょう。
  6. 発見したベストプラクティスを作成して共有しましょう。
  7. 必ずフィードバックメカニズムをプロセスに組み込み、推奨される変更や欠陥の解決策をスケジュールどおりに実施できるようにします。
    • Talendジョブレビューは、開発プロセスの一部として実施されるべきであり、後から思いついて急いで作成してはいけません。

とにかく前向きに取り組んでいきましょう!

Join The Conversation

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *