APIコンサルタントのJames Higginbotham氏は最近、「Align-Define-Design-Refine」(ADDR)プロセスを使ってAPI設計ファーストアプローチを採用することのメリットについて書いている。ADDRは、そのようなAPI設計ファースト手法を通じて、採用した人をガイドすることを目的とした反復プロセスだ。開発のアジリティには、すべての利害関係者が積極的に関与することを保証しながら、APIを繰り返し設計することが不可欠である。
著者によると、API設計ファーストプロセスは、製品コードを記述する前に行われる。これは、ビジネス要件を目的の結果を提供するAPI設計に変換することで成るものだ。目標は、将来の重大な変更を防ぐために十分な詳細を事前に取得することである。また、APIクライアントが実装完了を待たずに統合できるようになることである。チームは「迅速に、十分に検討した上で、アジリティを持ってプロセスの早い段階で変更を加える」ことができる。
James氏は、API設計プロセスは「デリバリプロセス全体の効率を高める」と主張している。このような効果がある理由は、主な焦点がAPIコントラクトとユーザと開発者のニーズであるためだ。時間の経過と共に変更される内部実装に対する弾力性は、このAPI設計プロセスのメリットである。
著者のADDRプロセスは、API設計ファーストプロセスを7つのステップで構成されるサイクルに分割される。このステップは4つのフェーズにグループ化される。これらのフェーズとはAlign、Define、Design、Refineの4つだ。
このアイデアは、すべての利害関係者の間で調整を行い、それらの要件をデジタル機能定義にマッピングして、技術的なAPI設計を実現することである。次に、この設計は、フィードバック、文書化、プロトタイピング、テストを通じて洗練される。ADDRは反復プロセスであるため、各反復からの学習は次の反復への入力として使われる。
著者は、APIの設計はソフトウェアデリバリにおける個別の重要なステップであると指摘している。また、同時に、チームが正式な設計プロセスに従わなくてもAPIを正常に設計およびデリバリできることを認識している。
別の著者は、API設計についての自身の見解を述べている。彼らは同じ結論に収束する傾向がある。
カーネギーメロン大学のJoshua Bloch教授は、InfoQでAPI設計に関する記事を書いている。そこで彼は、API設計の多くの原則をリストし、要件の収集がプロセスの最初のステップである必要があることに同意している。次に、これらの要件をユースケースとして構造化し、実装する前に最後にAPIに対してコーディングする必要がある。
Publicis SapientのテクノロジーディレクターのRonnie Mitra氏が、InfoQに関するAPI設計プロセスの記事で最初に示したことは「優れたAPI設計は反復で行われる」ということだ。
James Higginbotham氏は、次の著書「Web API設計の原則:APIとマイクロサービスで価値を提供する」でADDRプロセスについて詳しく説明している。