XPlanner is a project planning and tracking tool for eXtreme Programming (XP) teams. If you are not familiar with XP software development practices, the links page contains pointers to relevant resources. To summarize the XP planning process, the customers pick the features to be added (user stories) to each development iteration (typically, one to three weeks in duration). The developers estimate the effort to complete the stories either at the story level or by decomposing the story into tasks and estimating those. Information about team development velocity from the previous iteration is used to estimate if the team can complete the stories proposed by the customer. If the team appears to be overcommitted, the set of stories are renegotiated with the customer. The XPlanner tool was created to support this process and address issues experienced in a long-term real-life XP project.
Technology and Architecture
XPlanner is built using a layered architecture. At the lowest layer, the persistent data is stored in MySQL and accessed using JDBC. In general the relational data is not accessed directly, but is loaded as Java objects using the Tornado object-relational mapping engine. The "business logic" layer (the actions) manipulate the planning domain objects and provide them to the presentation layer which formats them using JSP (including several custom tags), form handlers, CSS, and HTML. All static text on the pages is stored in a resource bundle to support internationalization.