Novemade

つくり方

11 件のプロダクト。ひとつの共有制作システム。

高くつく部分を共有しないかぎり、11 件のプロダクトは並走しません。リサーチ、制作、リリース、計測はひとつの社内システムを通ります。だから 5 つ目のプロダクトは 1 つ目より少ない費用でローンチでき、そのとき持っている情報も多くなります。

ループ

9 の段階があり、最後が最初に流れ込みます。

どのプロダクトも同じ回路を回ります。各段階は、そこで実際に起きることで名づけられています。だから、何かを学ぶことと、それを受けて動くことは、ひとつではなく二つの段階です。

  1. 01リサーチシグナルとプロダクト別のアイデアバンク。何かをつくる前に、関連性で評点します。
  2. 02デザインプロダクトが自分の声、主張、境界を決めます。システムはそれを埋めます。
  3. 03制作素材、ナレーション、字幕を、各プロダクト自身の素材から組み立てます。
  4. 04ローカライズすべての言語のすべての文字列。カタログ間の対応は想定ではなく検証します。
  5. 05テストまず自動の関門、それから人。レビューを通らずにキューへ入るものはありません。
  6. 06公開プラットフォームごとのパッケージ化。公開は意図的に人の承認の後ろに置いています。
  7. 07計測リリースと成果のシグナルが、その仕事をした場所へ戻ります。
  8. 08学習あるプロダクトで効いたことを、次に尋ねるプロダクトが読めます。
  9. 09改善修正は、ひとつのプロダクトの手元の写しではなく、共有システムに入ります。

システムが保証すること

自動化が役に立つのは、再実行しても安全なときだけです。

制作システムの仕事の大半は、何かをつくることではありません。リトライ、クラッシュ、重複トリガーが害を及ばせないようにすることです。それができるからこそ、残りを自動にできます。

二重に公開されない

コンテンツと公開のジョブは、自分の入力から決定的に計算したハッシュで識別されます。重複トリガー、リトライ、クラッシュ後の再起動は同じ識別子に収束するので、システムは二重にレンダリングも二重に投稿もできません。

リトライは常に安全で、それが自動化を再開可能にしています。

クラッシュは再開であって、やり直しではない

各段階は、次が始まる前に結果をチェックポイントに書きます。途中での失敗は、その手前の高くつく処理を繰り返すのではなく、最後に完了した段階から続きます。

長いパイプラインが、実行全体を失わずに失敗できます。

システムはプロダクトの名前を覚えない

プロダクトごとに変わるもの — 声、コンテンツの系統、素材の置き場所、決して主張してはいけないことの規則 — は、そのプロダクト自身の設定の中にあります。共有コードはそれを読むだけで、プロダクトを直接参照しません。

新しいプロダクトは設定であって、フォークではありません。

繰り返しは願望ではなく計測される

各コンテンツは、主題、切り口、台本の指紋を持ちます。新しい仕事はそのプロダクトの直近の履歴と比較され、近すぎれば却下されます。すると生成側は別の角度を探しに戻ります。

量はありながら、ひとつのプロダクトが独り言を言っているようなフィードにはなりません。

失敗は飲み込まれず、分類される

外部呼び出しは上限つきのバックオフで再試行し、一時的・恒久的・未設定に分けます。まだ設定していないプラットフォームは通常の警告で、クラッシュでも黙ったスキップでもありません。

壊れているのか、まだつないでいないだけなのかが、常に見えます。

品質の関門は人が見る前に通る

生成した出力はキューへ届く前に自動で点検します。各シーンがプレースホルダーではなく本物の製品素材を使ったかどうかも含みます。人がレビューするものは、機械的なテストをすでに通っています。

レビューの時間が、明らかな欠陥探しではなく判断に使えます。

バグは言い伝えではなくテストになる

厄介な不具合 — すでに疑問形になっている主題を壊すテンプレート、接頭辞を二重にする書き出し — はいずれも、実際の出力を生成して読むことで見つけ、そのあと回帰テストで固定しました。

同じ種類の誤りが、黙って戻ってくることはありません。

言語は丸ごと出荷するか、提供しない

カタログはビルドが通る前に基準言語との対応を検証します。だからある言語が、キーの半分と画面の途中にある英語の一文とともに出荷されることはありません。言語がテキスト以上を必要とする場合 — 右から左のレイアウト、より長い複合語、録音された声 — それも検証します。ファイルの中ではなく、画面の上で。

10 言語でも 16 言語でも 29 言語でも、半分だけ翻訳された画面はどこにもありません。

生成した素材は自分を何がつくったかを知っている

モデルが生成した素材は、モデル名、その正確なリビジョン、ライセンス、そして選び出された候補集合を、ファイルの隣に保存して持ちます。録音した音声は、エンジン、ライセンス、そして自前の QA が評点した指標を持ちます。キャプチャ一式はファイルごとのハッシュを持ちます。

数年後のライセンスの問いが、調査ではなく参照になります。

人の承認はループの中に残る

システムが用意し、パッケージ化し、提案します。承認するのは人です。公開が完全に自律的になることはありません。見落としではなく、設計です。

編集の判断を手放さずに規模を出せます。

自分で確かめてください

このウェブサイトも同じ規律でつくっています

基準を説明する代わりに、いまご覧になっているページで実際に強制されていることを並べます。

  • 01ひとつのブランド定義が、配布するすべてのマーク、アイコン、ファビコン、ソーシャルカードを生成します。手で書き出すものはありません。
  • 02素材パイプラインはキャプションのないスクリーンショットを拒否します。だから代替テキストなしに出荷できる画像はありません。
  • 03プロダクトが持っていないストア掲載を主張した場合、あるいはコンテンツのどこかにダウンロード数、評価、ユーザー数が現れた場合、ビルドが失敗します。
  • 04色のコントラストは、両方のテーマで、その色が塗られるすべての面に対してテスト内で計算します。
  • 05ブラウザのハーネスがすべてのルートを 8 つの幅で読み込み、横方向のはみ出し、崩れたモバイルメニュー、閉じないメニューで失敗します。
  • 06内部リンクは毎回のチェックで巡回します。だから名前の変更が、死んだリンクを黙って残していくことはできません。
  • 07このサイトが自分のカタログについて述べる数字はすべて、ビルド時にカタログから計算します。もし誰かが文中に手で書いたら、テストがビルドを落とします。
  • 08すべてのプロダクトに動くデモがなければならず、それは想定ではなく検証されます。デモのないプロダクトを追加するとビルドが落ちます。
  • 09プロダクトが「公開中」のラベルを出せるのは、ストアの状態が掲載が公開だと示しているときだけで、ダウンロードボタンを生み出せるのは公開された掲載だけです。

引いている線

公開しないこと

このページはシステムが何をするか、何を生み出すかを説明します。どう運用されているかは説明しません。ホスト、エンドポイント、資格情報、マシン名、保存先のパス、セキュリティ構成は非公開のままです。興味を引くからではなく、公開するのが不注意だからです。公開サイトと社内システムは、資格情報も制御経路も共有していません。