Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ALZETA (a.k.a. ETLanTIS) JOB 開発プロジェクトガイド

shinjin
May 28, 2021
160

ALZETA (a.k.a. ETLanTIS) JOB 開発プロジェクトガイド

・ウォーターフォールでもアジャイルでもないデータ処理開発手法と,それを用いた開発契約について説明します

・このデータ処理開発手法は,データ処理プラットフォーム ALZETA を使用することを前提としており,以下の特徴を持ちます
 - 事前の要件定義を行うことなく,開発をスタートできる
 - 開発委託者と開発受託者の責任を明確にしている
 - 「データ問答」という,「開発用データ/希望処理内容の提供」,「その処理の実装」,「結果の確認」という 3つの作業からなるサイクルを定義している
 - 「データ問答」の回数をパラメータとして,作業工数,対価の見積が信頼性高く行える

・ガイドラインの形になっており,巻末には簡単なチェックリストや,問題解決手法も掲載しています

shinjin

May 28, 2021
Tweet

Transcript

  1. Executive Summary • ウォーターフォールでもアジャイルでもないデータ処理開発⼿法と,それ を⽤いた開発契約について説明します • このデータ処理開発⼿法は,データ処理プラットフォーム ALZETA を使 ⽤することを前提としており,以下の特徴を持ちます

    • 事前の要件定義を⾏うことなく,開発をスタートできる • 開発委託者と開発受託者の責任を明確にしている • 「データ問答」という,「開発⽤データ/希望処理内容の提供」,「その処理の実 装」,「結果の確認」という 3つの作業からなるサイクルを定義している • 「データ問答」の回数をパラメータとして,作業⼯数,対価の⾒積が信頼性⾼く⾏ える • ガイドラインの形になっており,巻末には簡単なチェックリストや,問題 解決⼿法も掲載しています ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 2
  2. はじめに • ALZETA 上でのデータ加⼯ JOB 開発を委託/受託する際のガイドラインです • 円滑,円満な関係構築のために,委託者と受託者双⽅に⼼がけていただきたい内容を記述しています • 本ガイドラインは,法令や,委託者と受託者の社内規定より優先するものではありません

    • 本ガイドラインに従った結果が,法令,または委託者と受託者の社内規定と反する⾏為となり,委託者と受託者が損害 を被る場合があっても,弊社は責任を負うことができません • 適⽤対象の想定: 100万円未満で以下を委託するような場合 • Excel で⾏なっている業務の ALZETA JOB 化 • 分析データのプリパレーション • 本ガイドラインはツールではありますが,各ガイド項⽬の背後にある精神をご理解いただきながら,ご利⽤いただけま すようお願いいたします • 本ガイドラインは,利⽤者からのフィードバックを受けて継続的に改善を⾏います. ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 3
  3. なぜ ALZETA を利⽤した JOB 開発を委託/受託するのか︖ - ALZETA を利⽤した JOB 開発における期待を双⽅で確認し

    てください • 委託者 • データを流しながら,事前に要件定義をせずに※開発を⾏えるので,動作するものが早く⾒られる • 開発する JOB が,データ処理を視覚的にフローの形にしたものなので, • 委託者⾃⾝も処理の概要が理解できる • 受託者への要望を伝えやすい • プロジェクト終了後も,委託者⾃⾝で動作確認を⾏ったり,処理を加えたりすることができる • 以上のことから,他のソリューション (RPA など)を利⽤するよりも,要望に合致するデータ処理 (JOB)が早期に得られ,⻑く使える可能性が⾼い • ALZETA を使ったことがあり,時間をかければこの対象業務の ALZETA JOB を⾃作可能と考えて いるが,委託して他の業務の時間を確保したい • 受託者 • データを流しながら開発を⾏えるので,委託者との合意が取りやすく,確実に動作するものを提供 できる • 委託者が開発に必要なデータを提供してくれる(テストデータ開発の必要がない) • 委託者が開発中の JOB を参照して内容を共に理解してくれる • 委託者がテストデータを流した結果を確認し,OK/NG を共に判断してくれる • 開発する JOB が,視覚的にフローの形になっており,各所の処理にコメントを⼊れられるので, JOB 以外にドキュメントを納品する必要がない ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 4 ※ 要件定義書の作成にはITの専⾨知識が必要とされるため,実際には,ベンダが要件定義書を作成しているケースが多い
  4. ALZETA を利⽤した JOB 開発についての懸念と対応 • 委託者 • 所望の処理が ALZETA で実現できるのか︖

    →6. 所望の処理が ALZETA で実現できるのか︖ → PoC (Proof of Concept) のススメ • 委託するより⾃分で開発した⽅が早くないか︖ →本資料で,委託者の責任範囲を理解してご判断ください.JOB 開発委託契約では,要件定義が 不要とはいえ,委託範囲が⼀つの JOB に限定される上に,データの提供,処理内容の伝達,結果 確認,またそれらのために各フェーズで打ち合わせを調整・実施する必要があります. この資料とは離れますが,開発対象 JOB を限定せずに,⽀援契約(履⾏割合型準委任契約)を締 結し,対象を限定せず ALZETA について作業依頼を⾏うという⼿段もあります. • 受託者 • 所望の処理が ALZETA で実現できるのか︖ →6. 所望の処理が ALZETA で実現できるのか︖ → PoC (Proof of Concept) のススメ • 要件定義書がないので,検収条件を設定しづらい →9. 開発プロジェクトの内容/⼯数の⾒積もり/検収条件 • どの程度まで検証を⾏えばいいのかわからない →9. 開発プロジェクトの内容/⼯数の⾒積もり/検収条件 ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 5
  5. 所望の処理が ALZETA で実現できるのか︖ → PoC (Proof of Concept) のススメ •

    ALZEA JOB 開発契約を⾏う前に,PoC を実施してください • PoC は「ノウハウ提供」の場ではありません.委託者が「ノウハウ提供」を希望する場 合は,別の⽀援契約を締結し,その中でノウハウ提供を依頼してください • PoC の結果 JOB 開発契約を締結する場合,⼀般に,受託者は PoC に要した作業量の対 価を請求に含めます • PoC が成功しなかった場合,⼀般に,受託者は PoC の対価を請求しません • PoC の実施⼿順 • 初回打ち合わせ1 • PoC 実施環境の検討 - 次スライドを参考に決定してください • NDA(秘密保持契約)の締結 - PoC データの開⽰や,適⽤業務の説明のため,⼀般に必要であると考えら れます • 以下の「データ問答」を⾏います 1. 委託者(問): ⼊⼒データセットと「やりたいこと」の伝達.出⼒サンプルがあればなおよし 2. 受託者(答): 上記⼊⼒データセットを要件に従って処理するための JOB の作成 3. 委託者+受託者(答え合わせ): 成果 JOB の実⾏と結果の確認 • 必要に応じて,「データ問答」を繰り返します ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 6
  6. PoC/開発実施環境の⽐較 使⽤する ALZETA 作業場所 注意事項 委託者 委託者 Ø 委託者 ALZETA

    に作業者⽤ユーザー ID の追加が必要です. ユーザーライセンス数が⾜りているか確認してください Ø 作業者の移動コストの分だけ契約⾦額が上がると思われ ます 委託者 受託者(委託者へ のリモートアクセ ス) Ø 委託者 ALZETA に作業者⽤ユーザー ID の追加が必要です. ユーザーライセンス数が⾜りているか確認してください Ø 受託者から委託者へのリモートアクセス可不可について, セキュリティポリシー等を確認してください 受託者 受託者 Ø 納品には JOB インポート機能を使⽤します.委託者の ALZETA がエンタープライズ版でなければなりません Ø データを安全な⽅法で授受する仕組みが必要です ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 7
  7. PoC 成功 → JOB 開発契約の締結 • PoC 成功判断 • ⼀般に,委託者は

    PoC を念⼊りに⾏うことで,プロジェクトの成功率を上げることを希望しますが,受 託者は早期に PoC を切り上げて,契約を締結することを希望します • ただし,契約締結時には,受託者は PoC に要した作業費(検討費⽤)を請求に含めることができますの で,受託者は徒らに早期契約締結を⽬指すのではなく,プロジェクトの成功を重視してアクションすべき です • PoC 期間を⽇数で定めるという⼿法があります.最初のデータ提供⽇から 2週間を⽬安とすることができ ます • 2週間で結果が出ない場合,理由を以下の点から判断してアクションをしてください • 処理の内容が複雑すぎる→業務ステップを分けて,分割して開発できないか検討する/別途,規模の⼤きい契約を検討する • 委託者/受託者が PoC に集中できる環境にない→体制を再考する • 受託者作業員スキルの問題→体制を再考する • ALZETA だけでは実現できない内容である→別ソリューションとの組み合わせを検討する • JOB 開発契約の締結 • ⼀般には,成果完成型準委任契約 (令和2年4⽉1⽇施⾏改正⺠法) に基づくとします • 成果物: JOB • 瑕疵担保責任: なし • 検収: 納品 JOB の実⾏確認 • 著作権: 委託者 • 締結/遂⾏を円滑に実施するため,本スライドセットの最後にチェックリストを定めます ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 8
  8. JOB 開発契約の内容 - 開発プロジェクトの内容/⼯数の⾒積もり/検収条件 • 契約後の開発プロジェクト • PoC に引き続き「データ問答」を回します 1.

    委託者(問): 追加⼊⼒データセットと追加要件(あれば)の提供 2. 受託者(答): 上記⼊⼒データセットを要件に従って処理するための JOB の変更 3. 委託者+受託者(答え合わせ): 成果 JOB の実⾏と結果の確認(確認結果はメールなど 書⾯で) • 以前のデータ問答が満たされているかの確認も必要です • ⼯数の⾒積もり • 委託者は上記「データ問答」を回す回数を決定します • 受託者は,以下を⾒積⾦額として提出します • PoC における作業量 • PoC 実績から「データ問答」ごとの⼯数を推測し,希望「データ問答」回数を乗算 • 検収条件 • 最終データ問答を通過した JOB が納品されたら,検収処理を⾏います ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 9
  9. PoC 実施前に確認しておくべき事項 • 3. なぜ ALZETA を利⽤した JOB 開発を委託/受託するのか︖ -

    ALZETA を利 ⽤した JOB 開発におけ... の内容を双⽅が確認済みか︖ • 委託者と受託者が互いの期待を共有しておくことが重要です • 合意がないまま PoC を開始するのは,双⽅にとってリスクがあります • 合意できない点については,本ガイドラインとは別の合意を形成し,契約内容に反映し てください • 委託者は,受託者が PoC での作業対価を,本契約の請求に含めるということを 理解しているか︖ • 受託者が委託者の予算感を理解し,予算感に対して PoC における作業量が超過 することのないよう,善意のアラートをあげる取り決めをしたか︖ • 例: PoC 実施中に,作業量が予算感の 50% を超過したら,委託者に知らせる • 委託者は,PoC が契約に⾄らなかった場合,そこまでの成果物を破棄すること に合意したか︖ • 受託者は,契約に⾄り JOB を納品した場合,その JOB の著作権が委託者となり, JOB の内容からノウハウを取得できることを理解しているか︖ ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 12
  10. PoC 完了前に確認/合意しておくべき事項 - データ仕様や処理内容に関するもの • ⼊⼒ファイル※1の仕様をどのくらい把握できているか︖ • ⽂字コード※2 • ヘッダ⾏の有無※3

    • Excel のファイル形式が .xlsx かどうか※4 • Excel で セルのデータ形式をどう設定しているか※5 • ⼊⼒ファイル中の項⽬(名称,数)が変更される可能性はあるか※7 • 出⼒ファイル (CSV) の仕様は決定しているか︖ • ⽂字コード※2 • ヘッダ⾏の有無※3 • ダブルクオートをつけるかつけないか※6 • パフォーマンス • 本番のデータ量はテストデータと⽐べてどうか︖ • 本番で期待する処理時間にミートできそうか︖ ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 13 ※1 ALZETA に⼊⼒できる CSV は,全レコードについて項⽬数が揃っている必要があります.Excel も同じです.Excel では先頭シートしか読み込みません ※2 ALZETA 上のデータは全て UTF-8 です.SJIS コードの CSV をアップロードしても,UTF-8 のフラットファイルに⾃動変換されます.異なる⽂字コードで出⼒す る場合はカスタム関数を使⽤します ※3 ALZETA に CSV,Excel をアップロードするときは,先頭⾏がヘッダ(項⽬名)でなければなりません.また⽣成する CSV,Excel の先頭⾏にも項⽬名情報が付 きます ※4 ALZETA に取り込める Excel ファイル形式は .xlsx のみです..xls ファイルは取り込めません ※5 Excel のセル情報が⽇付/時刻の場合,ALZETA に取り込むと数値情報になりますので,ALZETA PM で YYYMMDD 表⽰などに変換する必要があります ※6 ALZETA の CSV 出⼒では,必要なセル(, “ 改⾏を含むデータ)のみダブルクオーテーションで囲います ※7 JOB 内で,「項⽬名編集」「並替」PM を使⽤して,変更を吸収できるように JOB を作成しましょう
  11. 想定外なデータ仕様とその対策例 - プロジェクト開始後に新たな事実が判明して,プロジェクト の⼯数や進捗に影響する場合があることをご理解ください • ⼊⼒データのとある項⽬がキー項⽬(全レコード⽐較しても,その値がユニークである項⽬)であるこ とを想定して JOB を作成していたが,実際には値がダブっていることがわかった →

    複数の項⽬を組み合わせた新項⽬を追加して,キー項⽬とした.予定されていたデータ問答回数の中で 吸収した • ⼊⼒データのとある項⽬が数値データであることを想定して JOB を作成していたが,実際には数値以外 のデータ※も⼊っていることがわかった → 当該項⽬値が数値以外のデータであるレコードを分離し,1) 数値データレコードだけを集計 2) ⾮数値 データのレコードの当該項⽬に平均値をあてて集計 を⾏い,最後に 1) と 2) をマージした.予定されてい たデータ問答回数の中で吸収した • ⼊⼒データの中で「男⼥区分」(男: 1,⼥: 2)という項⽬のデータが 3 というレコードがあった.調 べてみると,3 は法⼈を表すコードだった → 男⼥区分 3 のレコードを分離するフローとした.法⼈の処理を⾏う後続フローの作成には,あと2回の データ問答が必要で,これを契約範囲内で⾏う合意が取れなかったので,別契約で実施する検討を後⽇⾏ うことにした ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 14 ※ ALZETA の集計モジュールは,⾮数値データを 0 として扱います
  12. 契約内容について • 成果物定義 • JOB 定義ファイル JDF の納品のみ • インポート作業は含まない

    • 本番稼働テストは含まない • ドキュメント作成・納品は契約範囲外 • 要件定義書 • プログラム仕様書 • テスト仕様書 • テスト結果報告書 • 作業範囲の限定 • 検収後⾒つかった不具合の対応は契約範囲外 • ⽀払⽅法 • ⽀払期⽇ • 成果完成型準委任契約では,特記しない限り,納品と同⽇に報酬を⽀払わないと債務不 履⾏となるので,契約上に⽀払⽇を明記しておくこと ALZETA JOB 開発プロジェクトガイド © 2021 IPOC 15