I’ll get this out of the way quickly — there is no such thing as a typical GSA implementation.
With that said, I have been involved in scoping and delivering around 250 GSA implementations, and some averages and trends have emerged. Most projects involve the same five core phases: Design and Requirements, Hardware and Security, Content Acquisition, User Interface, and Testing and Deployment. I will walk through how we estimate the duration of these phases, with the understanding that we always do a thorough scoping workshop with a customer to refine this timeline. Thanks to our large volume of projects, our estimates have gotten very accurate. While certain tasks might not always be completed in the order we predict, the overall effort is usually correct.
Design and Requirements
We typically begin GSA projects with rough requirements from the client, but there is a lot of work required to finalize the approaches for content indexing, security and user interface integration that the client is not usually aware of when they document their initial requirements. Multiple options are possible for each topic, and we conduct workshops with your team to present the options and come to a consensus on the final approach. In parallel, access requests for each content system are made, and the design is documented for your approval and for archival purposes.
This period typically takes 1-4 weeks depending on the complexity of the project. The number of content sources, extensive UI requirements, or integration into legacy or unpredictable environments can increase the duration.
GSA and Security Setup
Once the GSA’s are racked and available, the team will configure mirroring to synchronize the GSA nodes, and they will configure the single sign on mechanisms and other features like Document Previews, Dynamic Navigation, custom synonyms and KeyMatches.
Because of common challenges setting us single sign on, we typically estimate 1-2 weeks to set up the GSA and the security mechanisms. It is not that it takes 2 weeks to physically apply the settings. It takes 2 weeks to coordinate the racking of the GSAs, the installation of the SAML IdP, the application of SSL certificates and DNS server changes, the configuration of user/group lookup services, the migration of synonyms and KeyMatches from legacy search engines, etc.
Content Acquisition
Indexing content management systems and databases is very different from web crawling. It involves the installation of connectors or adapters onto new virtual machines. Metadata mapping and data normalization is done for each content source so that you get consistent search filters and facets. In some cases, custom filters have to be written to clean up or manipulate the metadata from a particular content source.
We typically estimate 1-2 weeks, start to finish, per content source, and we try to overlap and stagger the content sources to make the best use of the team member’s time. For example, while one content source in indexing millions of documents or records, which takes time, they will move on to the next source, while monitoring the progress of the previous source.
User Interface
The GSA search results page is powered by an XSLT template with about 7000 lines of spaghetti code. It produces HTML and JavaScript that the user sees. In order to apply a custom ‘skin’ to the client’s specification we are provided a non-working, HTML mockup. The HTML mockup is then weaved throughout the 7000 lines of XSTL, being careful not to alter or break any of the dynamic functionality.
We have performed this XSLT ‘surgery’ hundreds of times, and it consistently takes about 2-3 weeks for a developer to complete it and debug the output on all supported browsers. It is also difficult to speed up this work by adding additional developers because the code is all in a single, complex file.
Testing and Knowledge Transfer
At this point, the GSA integration is complete and end-to-end testing is conducted. Any issues are triaged and fixed. Performance testing is conducted, and small ranking and tuning adjustments are made. We also discuss maintenance and reporting topics with your team so they can monitor the health of the search implementation.
We discuss the duration of this phase with the client when scoping the SOW so that we allow enough time to complete all client-required testing.