Development management (or more traditionally “project management”) is concerned with identifying, scheduling, and tracking development workload. I’ve started to differentiate development management from project management in line with the trend in many larger organizations who have tackled project portfolio management as a discipline.
Basically, project management focuses on cost, risk, and value to the organization whereas development management focuses on the execution of the delivery team(s). They are inextricably linked but, especially in larger organizations, distinct. If they are distinct in your company, the Project Management Office (PMO) or its kin will probably dictate your project management tool, so I’ll leave that to them.
Development management tools manage and communicate delivery team workload including estimation, work and resource scheduling, and progress in accordance with the development methodology (waterfall, RUP, Agile, Scrum, etc.).
“Manage” as with requirements management refers to the every changing, fluid nature of delivery workload. It includes (at least) work definition, estimation, prioritization, scheduling, and progress reporting. Note that these apply to development teams of all varieties. However, unlike user application development, BI teams are faced with an extended development cycle. Effectively, implementation of a single BI function requires the development of a set of mini-projects chosen from:
- Business Process Definition – defining the process the affects or consumes the BI output.
- Data Architecture – data system design including conceptual, logical, and physical data modeling for DBMS and OLAP repositories.
- Data Integration – ETL, SOA/message based integration, master data management, etc.
- BI Delivery – Reports, dashboards, scorecards, notifications, etc.
A capable development management tool must assist the team in planning and executing in this extended cycle environment. In concert with the requirement management tool/process, the development management tool creates traceability of stakeholder requirements through technical delivery.
Beyond management, communication of delivery performance is an enormously important aspect of this tool class, both to business stakeholders and to the team itself, and is one of the primary benefits to using a dedicated development management tool as opposed to email, spreadsheets, and other office productivity tools.
Automated progress reports, financial reports, issue/risk reports, etc. can all be incorporated into the management culture. Delivery of management reports via a team portal brings visibility to business stakeholders. Information radiators like the one to the right take this concept one step further by placing real-time information in front of the team on a continual basis. These tools raise awareness of expectations, progress, and the development pipeline and can contribute to a team culture and mindset.
Among the other tools in the environment, the development management tool becomes the primary communication tool for development activities including requirements gathering, builds, QA/testing, deployments, and even operations. Again, automation becomes one of the primary benefits of a capable tool and other tools should be configured to report progress, issues, and status via the development management tool.
In the real world, only a handful of tools can deliver all of the above. In the recent past, most development managers have relied on office productivity tools such as Excel or desktop based tools like MS Project. Server capabilities exist for Project but are generally limited to large and/or mature teams where the benefits can be realized. And for those teams, Project Server may be a good fit. MS Team Foundation Server also includes many development management features and may be appropriate.
For smaller or younger teams there are now a handful of exceptionally capable browser based tools for development management that have low barriers to entry. These include Fogcreek’s FogBugz and Atlassian’s JIRA. Both tools include features well suited to both traditional and iterative development. Both are part of a larger suite of functionality and are well integrated within their product suite. Both offer hosted and stand-alone versions.
So, while it may be tempting to run with a desktop based tool or simply whip out Excel, for any size team there may be better options that will give you useful features, improved communication, and an in-tact budget. Take a look, or give us a call and we’ll be happy to help.