Transition Plan Requirements

Project TitleApigee Teams Feature Requirements
Target Release
Epic
Document Status
DRAFT
Document Owner

Document Sign-Off
Subject Matter Expert(s)
Technical Expert(s)

Background & Business Value

In order to use the Teams feature, we need to transfer the existing Functional Accounts into Team accounts. This transition will require coordination with all the development teams that have already created functional accounts. We will also need to development documentation for the switch over, along with redeveloping documentation on how to create and manage accounts.

Goals

  • Plan Transition Process
    • Determine steps and control points
  • Develop Transition Documentation
  • Redevelop New User Documentation

Assumptions

Out of Scope

Requirements

Ticket(s)TitleUser StoryPriorityNotes

Documentation - Create Team AccountAs a Developer Portal User, I would like a How To Create a Team Account.MUST HAVE
  • Add a new documentation page: Documentation > Developer > Creating Your Team
  • Should include info on how to Manage a Team.
  • This should information about why Teams are Great and our Policies around them.
    • Shared Maintenance of Applications
    • Applications belong to groups and not people
    • Application Access Request forms will need to come from Groups/Teams/Departments and not individuals
    • Potential Future Security Policy: We may not grant Prod access to individual / proof-of-concept accounts

Documentation - Create an Application with a TeamAs a Developer Portal User, I would like a How to Create an ApplicationMUST HAVE
  • This might be a part of the above page: Documentation > Developer > Creating Your Team
  • This should have information about how Applications are owned by Teams
  • It should also include information on Data Access Reqeusts (currently, the Box Data Access Request Template).
    • This might be a Documentation > Developer > Creating an Application page which focuses on both creating the application and Data Access Request Process.

Documentation - Update "New User" DocsAs a Developer Portal User, I would like a Quick Start Guide.MUST HAVE
  • We should rework the "Getting Started" pages, especially Creating Your First App to talk briefly about the difference between Proof-of-Concept applications and Team applications. The Quick Start Guide shouldn't ask people to create a Team first; but instead should focus on creating a Proof-of-Concept app. But, the Team stuff should be mentioned.
  • Any place where the Functional Accounts are mentioned should be updated with Team Account information instead.
  • The FAQ page should have a new entry for "What happened to Functional Accounts?"

Documentation - Transition from Functional AccountAs an existing Functional Account User, I would like a page which describes the process I am going to need to take in order to transfer my Functional Account and it's Applications over to a Team.MUST HAVE
  • Add a new documentation page: Documentation > Teams > Transitioning from a Functional Account to a Team.
  • Should be a timeline of
    • When the API Team will contact Functional Account Owners
    • What we will be asking for
      • Team Names
      • Coordinated time we can perform the migration
    • What we expected to get back and in what timeframe
    • What will happen when their Application is migrated to the new Team
      • New API Keys will be generated for the new Application
      • They will need to put the new keys in place within a reasonable time frame so we can close out the old API Keys
  • Be sure to include how this is going to be soo much better than before and you will love it

Create Team AccountsAs a API Team member, I will need the ability to create Team accounts for the Functional Account Users. Since this will be confusing for them, we need to communicate the changeover process to them and be able to handle any stumbling blocks they might have with our own tool set.MUST HAVE
  • Generate list of functional accounts and email group about creating company accounts.
    • We will need to email this group with the same information that will be in Documentation - Transition from Functional Account.
  • Will need to use @apibot commands for creating Teams. (Slack Commands to Manage Teams Requirements)

Move applicationsAs a API Team member, I will need the ability to create Applications associated with Team accounts. Since this will be confusing for them, we need to communicate the changeover process to them and be able to handle any stumbling blocks they might have with our own tool set.MUST HAVE
  • This will most likely create new API Keys, so we will need to create the "duplicated applications" for them and give Functional Account Users enough time to update their application to use the new API Keys.
  • Will need to use @apibot commands for creating Teams. (See Slack Commands to Manage Teams Requirements)

Drop Functional AccountsAS a API Team member, I will need to remove unused Functional Accounts to clean out the system.MUST HAVE
  • More of a reminder checklist item. This should be done as part of the Transition of each Team (see Documentation - Transition from Functional Account)
  • Remove from system once no applications are associated with them





User Interaction, Design & Architecture

Examples and References


Potential Email to Functional Accounts

Hello <functional-email> Team!

We a happy to announce a new Teams feature at https://developer.ucsb.edu. This new feature will replace the need for Functional Accounts (link needed ... after the documentation is updated). Instead your individual email accounts will be able to be associated with Teams. And, your accounts can be a part of multiple teams, if you work with multiple groups on campus.

To make this change possible we would like your help in handling a change over. Below is an outline of how we would like to do this, with pieces we would like you to do in bold.

  • We are sending these emails to all Functional Accounts.
  • For each email sent we would like to get a response back that includes the Team name that you would like to replace the Functional Account with.
    • We would like you to reply to this email with the new Team Name.
  • We would also like to know the list of people that will be on the new Team.
    • The reply should also include the Team members Individual Email Accounts that are setup in https://developer.ucsb.edu.
    • The system requires an individual Team Owner. This is the person that always has the ability to Add/Remove Team members. They can also grant other Team members the ability to Add/Remove Team members.
  • We will use the information provided to create a new Team and add Members to it.
  • We will also Copy (not Move) all Applications associated with a Functional Account over to the new Team.
    • The Copied Applications will have new API Keys
  • Once we have the Applications copied over, we will send a reply email back to you letting you know that the new Team is setup and you are ready to try it out (Yeah!!).
  • At this point, we would like you to try it out by logging into https://developer.ucsb.edu (using your Individual Account) and follow the guidance to find your Team application and it's new API Key. (link needed)
  • We would like for your Team to update your applications to use the new API Keys within about a month of the Copied Applications being created.
  • Once you've verified the new API Keys and updated your Applications to use them, please reply to the most recent email and let us know you are using the new API Keys (and you are no longer using the old API Keys).
  • Once we've received confirmation that the old API Keys are no longer being used, we will remove the old Functional Account.
  • That's It! Everything's transferred over and you can enjoy using Teams to manage your Applications!


Sample Response:

This is Awesome!

Team Name: Chemistry-IT

Members:

NameDeveloper Portal User EmailTeam Owner
Carrie-Ann Blanketcblanket00@ucsb.edux
Ashish Singhashish.singh@chem.sa.ucsb.edu
Steven Magliosteven.maglio@chem.sa.ucsb.edu


Current Email When a User is Added to a Team

Subject: You have been added to a new Company
From: "UCSB API Developer Portal" <noreply@developer.ucsb.edu>


Hello,


You have been added to a new company on https://dev.developer.ucsb.edu/.

To accept the invite to join this company please visit  https://dev.developer.ucsb.edu/api_company/companies/list


You will need to create an account on this site to be able to accept the invitation.


Thanks,

UCSB API Developer Portal


Potential Email When a User is Added to a Team

Subject: UCSB Developer Portal: You have been added to Team <team-name>
From: "UCSB API Developer Portal" <noreply@developer.ucsb.edu>


Hello,

You have been added to a new team on the UCSB Developer Portal.

Team Name:   <team-name>
Owner:            <owner-name> <owner-email>

To accept this invitation please visit here.
(Please be aware, that you will need to create an account for <email-address> if you don't already have one (link needed).)

Joining a team will allow you to manage the applications which that team maintains. Including creating new applications and requesting new API access.


Thanks,

UCSB API Developer Portal


If you have any questions or thoughts please let us know at support@developer.ucsb.edu.


Thank You!

UCSB Campus API Gateway Team
support@developer.ucsb.edu




Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcomeDecision Date