Professional Documents
Culture Documents
Solution to significantly improve developer tools and management insight into development tasks
Nathan W. Lindstrom
Table of Contents
Executive Overview ................................................................................................................................. 3 Current Challenges .................................................................................................................................. 4 Solutions Proposal ................................................................................................................................... 5 Project Timelines and Costs ..................................................................................................................... 6 Projected Cost Savings ............................................................................................................................. 7 Alternatives Examined ............................................................................................................................. 8 Appendix: Glossary of Terms.................................................................................................................... 9
Executive Overview
As a member of the management team, you are no doubt aware of the importance of keeping track of code changes, documentation, and project status. Those three tend to go hand-in-hand, as each influences the other: updates to the source code contribute to the project moving forward; as the project reaches each successive milestone the documentation must be updated. And finally, as the documentation is executed upon, bugs are uncovered which impact both the code and project deadlines. This proposal was written to address the bug tracking, documentation, and code change management needs of our company. With our continued success and growth, we have outgrown our current systems and are in need of a more integrated and scalable solution. Through leveraging the strengths of the solution proposed herein, we will be able to preserve our existing data, quickly bring our users up to speed on the new system, and provide a superior experience to both management and developers. In short, the solution we are proposing will fully address the needs and concerns of individual contributors, managers, and executives while empowering our company to reach its business goals.
Current Challenges
y The source code repository doesn t communicate with bug tracking. When a source code change is committed to the repository, there is no way to know what bug or bugs that particular change relates to unless the developer remembers to list them in the commit comment. What s worse is that when viewing a bug there is no way to see the related code commits. The bug tracking system is an island unto itself. The current bug tracking system, while adequate for the needs of a very small organization, has not been able to grow in response to our present challenges. With greater success comes the need for greater bug organization, and the current system lacks many key abilities, including linking one bug to another, custom dashboards, and integration with a collaborative documentation solution. Critical knowledge is going undocumented. It is vital in a high-performing development organization to capture critical developer knowledge in a community-based environment where that knowledge may be both disseminated to interested parties and added to and updated by fellow experts. The current mechanism for capturing documentation is woefully inadequate for this task, and by failing to be user-friendly, standards-compliant, and by not integrating with the bug tracking system it is a near certainty that important know-how is being lost. Management insight is hampered by the current system. It virtually impossible to extract meaningful metrics and other key performance indicators (KPIs) from the current bug tracking system. Worse yet, thanks to the lack of any dashboard capability in the current system, it is an incredibly manual and time-consuming task to monitor the projects and assignments of each individual contributor.
Solutions Proposal
Through leveraging the unique solutions afforded by the JIRA, Confluence, and FishEye products from Atlassian, we can accomplish the following improvements within a very short period of time: y Fully integrate source code change tracking with bug tracking. FishEye allows an unprecedented level of visibility into the source code repository system, allowing management and developers alike to easily view, track, and report on code changes. Even better, FishEye integrates tracking individual changes into JIRA, allowing each individual bug to provide a comprehensive list of associated code changes. Bug tracking integrates with the documentation system, and vice versa. The JIRA bug tracking system can easily reference documents contained within the Confluence wiki, and pages within the wiki can easily link to JIRA bugs. This permits critical knowledge that is uncovered or created while remediating a bug to be easily and effectively captured for future use within Confluence. And thanks to FishEye source control integration, documentation can reference specific code changes, and vice versa. Industry standard and industry leading wiki documentation. As has been previously stated, it is vital in a high-performing development organization to capture critical developer knowledge in a community-based environment where that knowledge may be both disseminated to interested parties and added to and updated by fellow experts. By leveraging Confluence for this purpose, individual contributors are encouraged to capture their knowledge within a standard framework. Standardized and easily-understood syntax, superior search capabilities, role and access management, and integration with other aspects of the development system all work together to achieve the creation and maintenance of a world-class knowledge repository. This in turn helps to avoid the creation of silos of knowledge among the development team. Metrics and KPIs are at managements fingertips. JIRA provides a powerful range of dashboards and customizable views into the daily happenings of the development team. Both JIRA and Confluence offers change tracking, RSS feeds, and even daily email reports. This grants management the ability to obtain, present, and leverage all the information that is vital for maintaining and understanding performance metrics. Thanks to the superior reporting capabilities inherent in JIRA and Confluence, success can now both be defined and measured.
14 Train users
17 Project complete
Figure 1: Project Gantt chart. Shows the expected order and duration of the project tasks, giving an approximate project timeframe of fourteen days from inception to completion. Note that this excludes any delays arising from the use of vendors and data center remote hands services.
Item Management and labor Equipment purchase* Software license purchase Materials Total costs * CapEx
Figure 2: Project costs spreadsheet. Shows the estimated costs involved in implementing this project. Management and labor costs are approximated at time. The expected equipment depreciation lifetime is three years.
Alternatives Examined
As potential alternatives to JIRA, Confluence, and FishEye, several competing products were examined. Here are the results of those tests, and why at the end JIRA, Confluence, and FishEye remain the best choice: y RT Request Tracker, or RT, is an Open Source bug tracking solution. It lacks even the most basic customization features that we require. It also does not offer any documentation storage or source code repository integration functionality, nor does it natively integrate with any wiki system. Bugzilla Written by developers and for developers, Bugzilla has fallen steadily behind the curve over the years in terms of features and ease-of-use. Training users on the idiosyncrasies of Bugzilla would prove a daunting task, and its complete lack of integration with our existing systems would add dramatically to the perception of Bugzilla being an old and out-of-date product. Trac Unlike many other Open Source bug tracking solutions, Trac actually contains an integrated wiki and is able to partially integrate with an existing source code control system. Unfortunately, the interface is far from polished, and customization is very limited. Search functionality is only partially implemented, and does not work at all where source code is concerned. This, among other things, is a deal breaker for us. Remedy While Remedy from BMC is one of the leading commercial solutions for bug tracking, it costs approximately 800% more than JIRA, Confluence, and FishEye combined. Once BMC s other products for documentation management and source code control are added to it, Remedy reaches a price point that would virtually bankrupt us. And that is before consulting time and user training are priced in. Mantis Perhaps of all the JIRA competitors we reviewed, Mantis proved the most feature-incomplete. Its ability to search for past bugs is so limited as to be worthless, and it lacks even the most basic integration features we came to expect of products in its category. It does not integrate with any of our existing systems, nor does it provide a documentation repository.