This is a repost of an article at ittoolbox: http://it.toolbox.com/blogs/portfolio-mgt/the-projects-promontory-point-22050
Note: For the purpose of this post, the term ” Enterprise Application Integration” (EAI) is used to refer to any real time interaction between systems. This usually references one application doing a “Post” or a “Get” to an API, but could also supply chain applications that talk to each other in a proprietary interface, an XML or WSDL implementation, or an SOA portal.
One of the significant milestones in all Enterprise Application Integration Projects is the handoff from system testing to user testing. This is when the individual components are strung together to create an end-to-end environment for User Acceptance / Business Acceptance of the implementation.
I like to refer to this milestone/quality gate in the project as the project’s Promontory Point. The final spike before providing end to end testing capability. Although organizations have been working to agreed to specifications and project plans and most likely have defined all the configuration parameters, anything can happen when you actually make the connectivity live. Due to the criticality of this step and the potential for finger pointing and large loss of cycles, I recommend having a separate task for this event complete with a specific test plan and a scheduled play by play call.
The historical significance of “The Wedding of the Rails” at Promontory Point cannot be understated. For those of you that remember you’re American history, and for those of you who don’t, the event at Promontory Point symbolized the connection of the cross country railroad. Located in northern Utah. Promote is where the Golden Spike was reported to be driven in to complete the project. (More information at: http://www.nps.gov/archive/gosp/home.html ) The Central Pacific Railroad had started building their railroad approximately 690 miles west in Sacramento and the Union Pacific has started approximately 1,089 miles to the east. The event resembles many projects of modern America. First, there were 2 large corporations involved, Second, each side had to conform to various standards (width of track, etc.) 3) there was last minute herclean efforts ( it is reported that on April 28, 1869: The Central Pacific completed 10 miles of track in one day – a record that remains unbroken to this day!). Finally, there was a lot of pressure to meet a date. On May 10, 1869, the railroads met. Then the business of transporting goods and people began and thus the business case was realized. In honor of this event, I consider the connectivity and communication of an EAI to the Promontory Point of the Project.
The plan should include a Golden Test Case. Simply put, a “golden test case” is the initial case from the interfacing organization to ensure connectivity and that the transaction is able to make a round trip from the originating application to the host application and ack back to the originating. The test case will then test the complete lifecycle of the ticket or service request, update, request to close, close.
The test case will be tested during a Play by play call that will be established by the Project Manager. Each trading partner and their associated application will be expected to provide a dedicated resource to the call that has the ability to capture, trace, troubleshoot any issues that arise. This will include networking resources (people who configure proxies and firewalls and assign IP addresses) the gateway applications (the internet entry point that hosts the API, the downstream application(s), and the Global Project Management team. If this also involves some type of ‘zero touch’ transaction to another organization, that organization must also provide the same resources. The term play by play is in direct reference to listening to a baseball game. Each application is identified and told what step to perform and how well it performed and the transaction is broadcast from beginning to end. For example, Company A Application 1 has created a service request, they press the submit key, is it seen by Company A proxy server? It leaves Company A proxy and is received by Company B proxy, etc. With all associated numbers, etc, captured. Actually it is best if all of the transaction can be captured so a ‘valid exchange’ can always be referenced in case an issue arises during testing.
This Promontory Point is a standalone event and represents a handoff from development to User Acceptance test. It should be an exit criteria requirement from one team and an entrance criteria from the other team with electronic sign offs required.
There are some strong ground rules required to execute the Promontory Point Task:
- Meeting announcement sent out a week before the test.
- A baselined test plan that outlines the creation, modification, close out of the transaction.
- A well defined test script based on a requirements use case. This should include a description of each component in the end-to-end transaction, the associated input, processing, and output for each component and a means to validate success.
- A connectivity diagram that outlines all the configuration points and their associated values.
- An identification of all authentications and passwords at each point (digital certificate ids, etc.)
- A dedicated conference bridge for the call, with a web meeting so end user applications can be shared. Recording would be a plus.
- A call leader that will go through the test process step by step.
- A scribe – someone to check off all the steps of the test case.
- A defined means of tracking issues during testing.
- Dedicated resources on the bridge. Many hours can be lost trying to “track down” a person that owns a key component.
- A sign off that the process completed.
- An announcement that the test completed, the results, and the next steps.
Of course this assumes a sunny day successful test. My experience shows that there is a better than 30% chance that the first test will fail. There are often DNS updates that need to propagate to all servers, certificate authentication issues, proxy items, or VPN restrictions that need to be overcome for a successful test. The PM should also make sure meeting minutes are posted that outline the call, identifies actions that needed to be taken in case the initial transaction didn’t work, and also submit lessons learned for future connectivity issues.
In conclusion, an EAI project needs to have a Promontory task to ensure connectivity is in place before end-to-end user testing starts. This lessons the time required to start the testing and reduces opportunities for finger-pointing during testing.