Over the Christmas holidays in Vancouver, I experienced my first small earthquake (a 4.7 magnitude on the Richter scale) and didnt even realize it since I was sleeping. This got me thinking about planning, not only for my familys safety, but in general. As a developer, planning was key to the Agile processes that we followed to ensure that we had a realistic set of features and defects that can be completed in a defined sprint while meeting our overall release goals. After moving to solutions, planning was mostly removed from my role as working with customers is more demand driven, especially when dealing with support requests.
Over the past few months, the solutions department has been iterating on our tried and true process and defining it further to help customers get deployed faster and improve their time to value. To us, a successful deployment is an installation and configuration running against production projects allowing the end users to gain value from integrating their systems. Overall, we want the end users and administrators to be happy and seeing a benefit from the integration. Our (unchanged) process consists of 4 steps: Asses, Design, Validate, Launch.
Following these 4 steps will ensure success and, if followed, can expedite the deployment process. The developer in me always wants to jump to the Design and Launch stages as that is where I can tinker with the software, however, I now realize that I have always followed this process to some degree as entire organizations cannot be interrupted when a change is made to the infrastructure.
In Solutions, I have worked with many customers through deployments and support issues, and I have learned that the most important phase in the deployment process is the Assess phase. This upfront planning and preparation is key to a smooth production launch. When in this phase, the first thing that you should do is get trained! Training is included with most of our deployments and greatly helps the administrators of Tasktop Sync understand the technical details to implement the solution. Additionally, asking the following questions of yourself and stakeholders is key:
- What do you want to achieve? What is the business goal?
- What is the end game for integration? How many projects and types will I need to synchronize?
- What is needed for you to achieve the goals?
- What projects?
- What artifact types?
- Does one artifact need to synchronize to multiple places?
- What is the source of truth?
- Is the synchronization bidirectional?
- What fields are interesting?
- Is additional traceability needed (e.g. links between artifacts)?
- Have any of these items been synchronized in the past (manually or with a different tool)?
- Are all projects being synchronized using the same template in the end systems?
- What needs to be configured to support this?
- How do I move to production? Do I need approval, a change window, etc?
Once these questions have been answered and documented (using some of the templates that we provide), the implementation is generally quick and straightforward as the Tasktop Sync technology makes integration easy. If the assessment is done well, the final stages of deployment will go like this:
- Design take assessment documents and build it.
- Validate Sandbox testing with small group of stakeholders
- Launch push implementation to production!
Interestingly, large corporations are generally easier to integrate with Tasktop Sync due to their defined and slow changing process. Additionally, they are acutely aware of the planning process as this is built into all of their production implementations and changes. This is not to say that small implementations and companies are not easy (as many still are), however, an ever changing process and endpoint tools can be a challenge for Tasktop Sync administrators. With some upfront thought about these changing processes, the integration can be made more resilient to changes in the ALM systems, but an initial understanding of process is needed to guide the deployment the correct direction.
Other than planning, another key to success is starting small, dont boil the ocean. Start with 1 or 2 projects and types and grow your implementation based on demand. This allows Tasktop Sync administrators to gain additional knowledge of the system in their environment and can allow you to ensure the integration created actually meets the business goals. Teams will talk about the benefits of integrating and soon your implementation will grow quickly based on actual user demand. Additionally, the implementation can be Iterative, allow you to gather feedback, improve the integration and grow you Tasktop Sync deployment. Similar to the Scrum process, a short feedback loop with small (but complete) bits functionality will allow you to be more successful and deliver quicker.