3 ms·
1. Build a small, centralized team to assist every department with API design (not implementation). This would help keep things relatively consistent and intero
by aravindet 12y ago
1. Build a small, centralized team to assist every department with API design (not implementation). This would help keep things relatively consistent and interoperable, and may also assist in component reuse.
2. Design in the open — publish proposed APIs early and get public feedback, preferably at a single place (apidocs.gov.in?).
3. Build a centralized authentication/authorization system with libraries for all the popular languages. Mandate that every department with sensitive data use it rather than roll their own.
4. Other than that, give implementation teams freedom to make their own technology and architectural choices. Express a preference for, but do not mandate, open standards. (It goes without saying that HTTP/REST and JSON should be added to the list of preferred open standards!)
5. Mandate that all implementations be open source (provide a standard license) with a public issue tracker and pull request mechanism. Provide a centralized project hosting with these features, but allow project teams to use alternatives if they choose.