Applying agile methodologies to IT projects
June 19, 2007
As you may know, our project Yoxel Systems has been mainly focusing on agile product management solutions for software companies. You can think of our flagship product YOXEL SW as of an open source alternative to commercial tools like RallyDev or VersionOne. It is basically a few well integrated sub-systems that allow smooth and easy transition to agile:
- Full featured request/bug tracker (integrating with Bugzilla/Mantis/GNATS/Jira if required)
- Release/iteration manager (iteration planning and tracking)
- Comprehensive template based reporting system
- Customer support/feedback portal (helpdesk)
- Product/support knowledge management system
Anyway, a while back we decided to clone YOXEL SW and try applying agile methodologies used in software development to IT. Hence the name for our 2nd product YOXEL IT. Here are the similarities we thought of:
- In software you have products and you try to manage their life-cycle. Well, in IT you may have certain IT environments (main/internal, test, experimental, customer1, customer2) that come into existence and live their life too.
- Within each software product we usually define categories or components for which we track changes. The change management is a vital process of any life-cycle management. In IT context within each environment we usually define queues that contain user requests (tickets). Anyone familiar with an IT helpdesk will be familiar with a concept of a ticket, right?
- We all use request/bug trackers to track software product changes. IT uses HelpDesks or ticket trackers. The difference betweek IT ticket and SW request is mainly in the workflow definition.
- Project management? Now, this is where it becomes interesting! The new generation of tools like RallyDev, VersionOne, Xplanner, eScrum … (well Yoxel too) promote and support agile approaches in software project management. Instead of long term projects with elaborate planning, requirements specifications, and resource allocation they allow you to manage short (2weeks-1month) incremental projects (iterations). At the end of each iteration you get a working product which can be demonstrated to your customers and hence you can get immediate feedback and correct your strategy to adapt to the market changes. Can we apply the same methodology for our IT projects?
YOXEL IT currently consists of these integrated systems:
- IT Ticket Tracker (with workflows applicable to IT)
- Agile IT project manager (iteration planning and tracking)
- Knowledge Management System (if required)
YOXEL IT is still, I would say, in PoC stage but even as it is right now it can enable incremental/adaptive approaches when dealing with IT projects. For each IT environment you create incremental projects (iterations) that contain tasks and changes relevant to the environment. Your backlog is your database of tickets and tasks, all categorized by IT environment/queue. At the end of each iteration your IT environment is changed and enhanced, and you can get immediate feedback from your users, which you will use to adjust the plan for the next iteration.
We are experimenting with the concept and with the product and I would be really interested to hear about your experiences, if you have done agile in IT. Feel free to download the open-source version of YOXEL IT and give it a try too.