Page 2 of 4
XPlanner is an agile project management software tool available under the GNU Lesser General Public License (making it "free, as in beer," in open source lingo). The package deploys as a Web application, which allows your team members and project stakeholders to get on board by using their favorite Web browsers. Once configured, you will be able to plan and track various aspects of your agile project's delivery via a simple Web interface.
Crucially, from the agile perspective, project participants are able to directly collaborate by contributing their information into the common project repository. This collaboration can involve customers describing project requirements in the form of user stories, which developers then use to detail and track the tasks required to make these stories a reality.
In addition to supporting this level of customer collaboration, XPlanner provides other handy features that support the agile approach. These include features such as a simple mechanism for defining project iterations; an intuitive interface for individuals estimating and tracking effort; and charts for publishing team metrics. XPlanner is discussed here as it was deployed to support the delivery of an electronic commerce and workflow system consisting of several stakeholder groups and a team of seven developers.
XPlanner is a pure Java application that may be deployed within any J2SE 1.4 development environment equipped with Apache Ant and a suitable servlet engine. We chose Apache Tomcat as the servlet engine; however, any engine compatible with Servlet 2.3 (or a more recent version) should do. XPlanner ships as a file archive (zip or tar.gz) which you must unpack and build prior to deploying and using the tool.
A mandatory configuration step is involved as you need to set up your favorite database to be used as the repository for project
information. As XPlanner uses the Hibernate object/relational persistence layer for database interaction, you have the option
to use any Hibernate-supported database for your project repository. The bundled option is the lightweight Java database Hypersonic
(now called HSQLDB); however, we used Oracle 9i as our repository database. To configure this database, we had to edit the
file xplanner.properties by uncommenting the already defined Oracle properties. We also needed to modify the build.xml file to incorporate the Oracle thin database driver. Once configured, you may build your XPlanner deployment. This involves
executing Ant to produce a deployable Web archive (WAR) as follows:
ant install.db.schema
ant build.war
Deploy the resulting Web archive file (xplanner.war) to your servlet engine of choice and then browse to URL http://your-server:your-port/xplanner/ (using default user "sysadmin"
and password "admin") to inspect the results!
Most development environments already contain a bug-tracking system, collaboration forums, security systems, standards repositories,
etc. Although useful as a standalone tool, XPlanner's value can be enhanced via its simple and powerful integration features.
XPlanner includes, for example, the ability to support rendering of developer speak in a description field, such as bug:1001 as a link to http://mybugzilla/show_bug.cgi?uid=1001. This can be done by simply adding twiki.scheme.bug=http://mybugzilla/show_bug.cgi?id= to the xplanner.properties file. This same technique can be used for other Web-based tools such as viewcvs (xplanner.properties shows some other examples). XPlanner also features an advanced wiki formatter (not used on our project) that allows automatic
linking to wiki entries. More information on XPlanner extensions can be found in Resources.
In most organizations, invariably, some form of LDAP (lightweight directory access protocol)-compatible directory server provides
a centralized repository of user security accounts. For example, within the organization sponsoring our project, an old-fashioned
but functional LDAP server served this purpose (Microsoft's Active Directory also largely supports the LDAP protocol). It
was refreshing to find XPlanner's simple XPlannerLoginModule easy to integrate with LDAP. This involved updating xplanner.properties as follows:
-> Comment out default security
#xplanner.security.login.module=com.technoetic.xplanner.security.XPlannerLoginModule
-> Uncomment and edit the LDAP entries from...
xplanner.security.login.module=com.technoetic.xplanner.security.jndi.JNDILoginModule
-> ...to:
xplanner.security.login.option.roleSearch=(uniqueMember={0})
-> Add user search entries
xplanner.security.login.option.userBase=ou=people,o=person
-> And blank out values for
xplanner.security.login.option.userPattern=
xplanner.security.login.option.userPassword=
With a quick rebuild and deploy, XPlanner authentication security was fully integrated. The only drawback was that usernames still needed to be explicitly added into XPlanner, but at least password and group membership hassles became the corporate helpdesk's problem.
XPlanner views a project according to iterations, user stories, and tasks. As prescribed by the Agile paradigm, any XPlanner-managed project is planned and tracked according to a successive series of iterations. Each iteration consists of a start date, an end date, and a collection of user stories to be engineered from story to reality within that timeframe.
A user story is the chief conceptual tool used in agile development to communicate customer needs to software developers. Once a user story is assigned to a current iteration (as part of release-planning via XPlanner), the developer seeks further details for each story by collaborating with the user (hopefully face-to-face). This step's outcome is a detailed series of development tasks, each of which the developer registers in XPlanner against the relevant user story.
We chose our e-commerce workflow project to run with monthly iterations, each consisting of around 10 stories, with 10 to 15 tasks assigned to each story.
Each user story for a project iteration should be a short and outcome-focused description of a user experience as told in the first person (e.g., "I then search based on color..."). This experience is penned by a user who is envisioning the ideal future product in action, so you might think of a user story as positive visualization for software! The goal of each visualization is to provide enough information for a software developer to estimate the effort required to make that story a reality.
XPlanner catalogs your project's collection of user stories, while recording a customer, tracker, priority, and effort estimate against each one. The chief difficulty we often find is the harvesting of high-quality user stories from the minds of system users. This was certainly the case for our project, as it was a significant paradigm shift from the rigid section/subsection requirements the users were accustomed to. However, the ability to use XPlanner to manage stories such that they could be easily seen and updated by stakeholders, and to be quickly traded in and out of a given iteration, certainly helped. One nice, if not functional, feature of XPlanner is the authentic feel it gives a user story, displaying each on screen as a look-alike 3-by-5 index card, as shown in Figure 1.
| Subject |
|
|
|
|
|
|
easy to useBy Anonymous on May 27, 2009, 3:10 pmXPlanner is very easy to use, but not so easy to install for non-technical people.
Reply | Read entire comment
better to go hostedBy Anonymous on October 17, 2008, 8:04 pmxplanner was very difficult to use; we used a combination of SaaS like Rallydev and GatherSpace.com.
Reply | Read entire comment
View all comments