February 2012
M T W T F S S
« Aug    
 12345
6789101112
13141516171819
20212223242526
272829  

Extra Chapter – Management Tools (Alpha!)

4.12 Management Tools

What tools to use at different stages of the organization?

What tools should you have to help you manage the organization ? In particular, what might you want to use other than just Microsoft Office?
Note: We decided to have this chapter only on the web, because the content was likely to change too quickly, causing the printed book to become prematurely obsolete.
This chapter is still work in progress. Feel free to post some comments!

Opensource vs Closedsource

As long as you have a programmer around to help support it, various open source applications offer tremendous amounts of functionality for a very low investment. They’re not really free though, in so far as you do need hardware to host them, and they do require a reasonable amount of effort to customize; although you would incur those expenses even with normal closed-source software.

Intranet/Communication

Basic communication tools include email, web, bulletin board, wiki, blog. Almost all of these can be found in good open source implementations.

Wiki

Use a wiki. There’s almost no excuse (I can think of) for an organization to not use a wiki to capture collaborative efforts. There are many wiki packages out there. If you want the full power of the wikipedia, mediawiki (http://www.mediawiki.org) is the bestest with the mostest. Particularly if outfitted with the lucene search engine, and various free extensions, in the same was as the wikipedia, the mediawiki software provides a powerful and general collaboration environment. But be careful, Wiki’s, if not properly selected and administered can become:

  • difficult to edit, depending on whether the Wiki has a WYSIWIG editor.
  • a disorganized mess, making it difficult to find key information quickly, unless the hierarchy is defined and controlled (assigned administrator) up front.
  • a sink of information and fails to properly ‘communicate’ critical information to the right employees at the right time, unless it has an RSS or logging/edit alert capability . This also assumes that everyone is aware of new sources of information to assign with RSS feeds. It is not a substitute for emailing critical information on a timely manner.
  • makes it difficult to establish a common understanding of ‘truth’, i.e. what is the ‘agreed to’ PRD for this release?, unless it has traceable version control system, . Ideally supports a work-flow model for managing approval cycles.

Performance Review

Performance reviews are commonly done with spreadsheets and/or Word documents. This works well enough for small organizations, but can become very time consuming for larger organizations. Employee performance and talent management software can help manage the performance review process, and is useful even for small organizations. In engineering, this software primarily will help you make the review process simple, effective and fast. The workflow is configured by HR so forms are automatically routed as appropriate with the side benefit that review progress can be managed and reported. The software provides tools to help managers write accurate and meaningful reviews with very little effort. Review forms can also be checked for legal compliance in order to minimize legal exposure. You can also use the software to set and track goals for employees or easily set up 360-degree reviews. The market leader in this space is probably SuccessFactors (www.successfactors.com), but other important vendors include Halogen Software (www.halogensoftware.com), Promantek (www.promantek.com), Cornerstone (www.cornerstoneondemand.com), and Workstream (www.workstreaminc.com).

Task / Project/ Requirements management

Traditional Tools

Whiteboards

In a very small, colocated group, whiteboards are hard to beat – their very public and in your face.

Microsoft Excel

A simple spreadsheet is often much easier to use than any of the big tools. Basically, to use project or other tools properly requires a certain level of overhead. If you aren’t ready for full scale project management, and you’ve exceeded the space on your whiteboard, excel is really quite good for many purposes!

Microsoft Project

Like it or not, Microsoft Project is probably the most popular scheduling/tracking tool used to manage software projects. While it can be expensive to implement (unless you have a high-end MSDN license) , it’s generally feature rich ‘enough’ for most small to medium scale projects. Weaknesses I’ve encountered with Project 2003 include;

- challenges in deploying part-time resources

- predictable resource leveling

- managing subproject heirarchies

- formatting of tasks (fonts/bold, etc.)

Some of these issues may be usability related. Unless you have the Server version that permits distributed task calendaring and status inputs, etc., it’s very time consuming to maintain a sizable MS Project plan (on the order of 200 to 300 tasks). For larger projects on the order of 40 – 50 developers, plan on assigning a nearly 100% dedicated Program Manager to gather status, maintain the MS Project file and communicate status to the team.

Agile based project management.

Rallydev

One of the challenges of tracking progress in software projects is gathering the info and compiling it into a format that can produce meaningful results. Most tools are designed in a way where the manager is responsible for all the work. Agile based methodologies require daily updates on the progress of each task. Having an online tool to update progress across the team member enables more participation and a better understanding of where each project stands at any point in time.

One of the key concepts of agile is the idea of a “Planning onion” that represents the several levels of planning: Strategy, Portfolio, Product, Release, Iteration and Daily.

Agile methodologies focus on the last 3 items of this list.

Rallydev.com is an Application Service Provider that helps development teams to use agile methodologies and update the progress during the course of the project.

Agile breaks units of work into 3 levels: Features, Stories, and Tasks. It’s important to note that the same data will produce “views” for Strategic, Tactical and operational planning.

At high level the user can see the list of features on the backlog and the list of features scheduled to the current iteration. At this level the user is managing the roadmap by defining the priority of each feature.

At tactical level the user can see the progress the features for the current iteration. At his level the user is making adjustments to make sure that at the end of the iteration the software project is ready for production. The user can move features/stories back and from the backlog.

At the operational level stories are broken into tasks and each task progress is updated daily. All this information flows to the stories and consequently to the features.

There is an option to generate test cases stubs and integrate with tools like “Fitness”.

VersionOne

VersionOne (http://www.versionone.com/) is a very powerful project management package that supports all flavors of agile development. It makes it easy to schedule iterations, estimate time, measure actual time, compute velocities, group features into related themes. It also scales nicely as your company grows. It handles everything from requirements management through to development.

Product Lifecycle Management Tools

PLM Tools are a broad category of tools used primarily in the manufacturing world for tracking all aspects of the creation, manufacturing and delivery of complex systems. These tools organize everything from requirements to specifications to parts lists to formal document control. Typically these tools are integrated with CAD design tools. The market leader is Dassault systems with their Enovia PLM suite (http://www.ennovia.com) including the CATIA V5 CAD package and the MatrixOne requirements/configuration/document management packages. The Boeing 787 Dreamliner and the Airbus A380 are examples of very complex systems that could not be built without these packages. Ennovia’s main competitor is Agile (www.agile.com) which is owned by oracle, and which is, like most Oracle applications, worse. For electronics companies with interestingly complex documentation, part, and configuration management problems the MatrixOne package is quite useful. Typically if you need to manage hardware drawings and you find yourself juggling 100s or 1000s of SKUs to generate your customer configurations, you need PLM software to keep it straight! (Bear in mind that the airplane examples listed above preside over literally millions of components and specifications).

Other Tools

GanttProject

The most popular Open Source project planning tool (based on Sourceforge ranking and downloads) is GanttProject. Oddly enough GanttProject has 2 key missing features in the latest version 2.0.4. The first is that the ‘minimum’ task size is 1 full day. So tasks cannot start or end on an hourly basis which may be critical for fine grained software project (especially Agile) planning purposes. In addition, the 2.0.4 version does not support a US holiday schedule in it’s default settings. Needless to say, with 1.6 Million downloads to-date, it remains a very popular scheduling tool (flaws or not).

Accept 360

  • (good)

FocalPoint

  • (probably good)

FeaturePlan

Jira

  • (adequate)

Trac

  • (almost adequate)
  • Good for small projects (<10 team members)

FeaturePlan

FeaturePlan (http://www.featureplan.com/) is a nicely customizable tool that focuses on the workflows in product management, helping them organize market research and analysis into executable requirements that can be handed off to development.

Reporting / BI / dashboards

Skills inventory

Ticket Management

For service needs, a straightforward, customizable service desk application like Kayako (http://www.kayako.com/) is very useful.