[Originally published on the TeraThink blog]
I’ve been speaking a lot about content services of late. At TeraThink, we are a big believer that good content services are a solid foundation for excellent user experience. This is why I’ve been focused on dispelling some of the hype around content services. One of the reasons I, and TeraThink, have been trying to push past the hype is because we are actively using content services to deliver solutions at scale.
Along the way, we’ve been trying to share some of our lessons. James Fintel shared what we’ve learned about building content services agilely using Kanban. What I wanted to share was some of our lessons on the delivery of content services to a government agency.
It All Began With Modernization
We delivered our first content services application by accident. We were building a solution to modernize the immigrant visa process at the U.S. Citizenship and Immigration Services (USCIS). As we were acting purely as a back-end for other systems, our services were developed as content services. Once deployed, we learned that it was easy to expand that solution to address other content needs.
We also discovered that the same content was being reference in different contexts over its lifecycle.
This led to our first lesson, You need to think big picture when designing the content model. Information never lives in a vacuum. You have to not only consider its lifecycle as content but its lifecycle in the context of how an organization uses content.
Think about a visa application. All the content is just part of a visa application on day one. Depending on the type of visa, the application will be placed into a new or existing immigrant file, called an Alien File, or “A-File” by USCIS. Every interaction is stored within this A-File. One day, that record could be requested as part of a FOIA, Freedom of Information Act, request or used to make a decision about another application filed by that person or one of their relatives.
The same content, many different contexts. The content model has to store and manage all of those relationships in a way that supports the different applications while also managing them as official records. It isn’t critical to know all the metadata fields on day one, just the entities and their relationships.
The next lesson is, You have to design business-centric APIs that make sense to the people accessing the content. If I am building a records system, the people designing and building the “perfect” user experience do not want to know the ins-and-outs of my information architecture. Sure, they want to search my content repository but they want to search against a person or a case, not a folder or a document. They want all the content related to Daenerys Johnson or case number 201803456.
The application front-end should deliver the ultimate user experience. The application developers should be able to create, read, update, and delete the information needed without knowing anything about how the information is architected. Any change to the information architecture should not force the front-end to change. Additionally, you may be pulling from multiple content repositories, e.g. a current one and several older locations, but the end-user does not need to know.
The business just wants to get the job done. It is our job when delivering content services to make that as easy as possible.
Learn What Matters
There are a lot of requirements out there. It is important to learn how to prioritize. While it is critical to understand future state, you have to pick the features that will be deployed when things go live. When you do go live, the solution must:
- Add value
- Be easy to use
The last one seems obvious but the push to get something delivered breaks that promise. First impressions matter. You may just be delivering a quick little viewer of digitized content in the first release but it has to work. It needs to be responsive and allow people to quickly navigate between documents.
Sure, you’d like to be able to deliver annotations, highlighting, digital signatures, and direct editing. Those features take time and add complexity. In the meantime, let them add an electronic note. It will be quicker, easier, and may actually be all they need. If not, you’ll get a better picture of what they need to properly prioritize the next set of features.
So Much More
To be a leader in the industry, you have to share what you learn so that others can build from there. TeraThink has multiple ongoing content services projects so we are learning more every week. In addition to sharing here, I am taking our lessons on the road. Right now, there are two chances to hear what we’ve learned and ask questions.
The first one is here in the Washington, DC area. On September 20, I’ll be speaking at the local AIIM chapter right above the Metro in Rosslyn, VA. Registration gets you food and drink so please, come by, ask questions, and share with other industry professionals.
The second chance is the following week at the 2018 InfoGovCon in Providence, RI. I will be giving this talk during the main event and speaking at the Leadership Summit. InfoGovcon is a great event and if you can, you should go to Providence and check it out. While there you can pick my brain, throw up some challenges you are facing, and we can both walk away wiser.
If you cannot attend either event, never fear. I am always happy to talk about this topic. I’m usually to be found at the monthly NCC-AIIM chapter meeting.
The most important thing we have learned is this, Content services is a real approach to addressing content and information management needs and it works.