I experienced my first small earthquake (a 4.7 magnitude on the Richter scale) in Vancouver, over the Christmas holiday. I didnt even realize it was happening, since I was sleeping. This got me thinking about planning, not only for my familys safety, but also 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 could be completed in a defined sprint while meeting our overall release goals. After moving to a solutions role, planning was mostly removed from my regular activities, 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 see a benefit from the integration as quickly as possible.
Our (unchanged) process consists of 4 steps: Assess, Design, Validate, and 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, because I know that it is not practical to interrupt the workflow of organizations with changes to infrastructure.
As part of the Solutions team, I have worked with many customers through deployments and support issues. This experience has taught me that the most important phase in the deployment process is the Assess phase. Upfront planning and preparation is key to a smooth production launch.
When in this phase, the first thing you should do is get trained! Training is included with most of our deployments and it greatly helps your Tasktop Sync administrators understand the technical details that help them implement the solution. We also recommend that you ask yourself, and the other stakeholders involved, the following questions to help ensure a successful process:
- 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 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 we provide), the implementation is generally quick and straightforward–since the Tasktop Sync technology makes integration easy. If the assessment phase is handled 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 typically have an easy time using Tasktop Sync to integrate their various tools, because although they tend to use a wide variety of tools, they have a defined and stable process that is slow to change.
Additionally, large software delivery organizations tend to be acutely aware of the planning process, as it is built into their production implementations and changes. This is not to say that small implementations are not easy (most are), however, ever-changing processes and endpoint tools can create additional challenges for administrators. That said, with upfront thought given to changing processes, the integration can be more resilient to changes in the ALM systems.
Large or small, stable or continually evolving, an initial understanding of your processes and environment will help guide deployment in the correct direction.
In addition to planning, another key to success is starting small. Dont boil the ocean. Start with one or two projects and types and grow your implementation based on demand. This allows your Tasktop Sync administrators to gain additional knowledge of the system in their environment and helps ensure that the integration meets your organizations business goals.
In our experience, teams talk about the benefits of integrating then implementations grow based on actual user demand. The implementation can be iterative, allowing you to gather feedback, improve the integration and grow your Tasktop Sync deployment.
Similar to the Scrum process, a short feedback loop with small (but complete) bits of functionality will allow you to be more successful and deliver value to your organization quickly.