Skip to main content


Showing posts from 2009

Video on xProcess

There is a new training video available for xProcess developed by Dr Vic Uzumeri of Interactive Point of View. Click on the link below to try it.
xProcess Tutorial

It may take a minute because of the file size, depending on connection speed. Also as it's embedded in a PDF you need a compatible version of Adobe Acrobat. We may get a more generic and faster playing web-based version later so please let me know if you have any problems with this link.

Training graduates in Software Engineering

When gaps in the Blog occur it's a clue something rather distracting is going on! For me it was a long (10 week) assignment in North Carolina training software graduates in the induction programme of a major financial institution. Both challenging and fun, it was also an opportunity to think about the future of the industry in a challenging business environment. To me it is clear that business models are changing so rapidly - frequently totally overturning only recently established major successes - that new approaches to business and software process will sweep through many traditional firms. We taught both agile and iterative-incremental lifecycles (with more emphasis on the latter). However I expect agile to be the only option on such programmes in years to come.
Although I've had less opportunity to participate in xProcess development, we've seen healthy activity on the project over the summer and new interest from projects. For more details check out the SourceForge si…


It seems that nearly everything that we are formally "taught" turns out to be useless. Yet a few of the so-called "useless" things we do turn out to be invaluable - incredibly useful. And without the "useless" things we do, that do indeed turn out to be useless, we would never have found those incredibly useful ones!

I was struck by Nassim Taleb's story in The Black Swan about the inventor of the laser. Far from having eyesight correction, compact disks, fibre optics, data storage or microsurgery in mind when he invented it, he was just satisfying his desire to split light beams. As Taleb observed "We build toys. Some toys change the world."

The moral of the story to me is simple: learn play! Rather than seeing education as the process of acquiring knowledge, we should see it as the first steps in learning to think. The knowledge we acquired may be dangerous, particularly as it displaces the unacquired knowledge that may turn out to be more us…

What is an "overhead" task?

When starting to use xProcess there are a number of terms that may be unfamiliar. What for example is an "overhead" task?

In general terms an overhead task is one which does not directly result in the modification or qualification of a required project deliverable. Under this definition most management activities, meetings, planning and monitoring are overheads, while specifying, designing, coding, documenting and testing are "payload" activities.

In xProcess there are 2 ways of specifying how a task will be scheduled: date-based or effort based.

Date-based tasks are generally more applicable to overheads. They run from a date to a date (the date may be derived from other dates such as project start and end or target dates) and have a specified time (or percentage of available time) to determine the effort required per day. If there are no resources available to carry out the task the start and end date are not changed - they will just consume less time in the schedul…

Nominate xProcess for the Source Forge Community Choice Awards

Source Forge today opened nominations for its Community Choice Awards. Why not nominate xProcess now in any or all of these categories:
Best New ProjectBest ProjectBest Project for the EnterpriseBest Tool or Utility for DevelopersBest Commercial Open Source ProjectMost Likely to Change the Way You Do EverythingVote now - it only takes a click!

Resourcing your Scrum Project

In a previous article I explained how to set up a Scrum project in xProcess and the steps to go through to set up a Scrum project in xProcess:Import the Scrum process into your data source.Create a project (setting the various parameters in the New Project dialog)Add project resources and give people the appropriate Scrum role (e.g. Product Owner, Scrum Master or Team Member)Create the first SprintCreate backlog itemsCreate a DeliveryEnsure Team Members update their tasks regularly.Here I want to look in a bit more detail at adding project resources.

Clicking the Resources icon on the Project Toolbar (see image above) takes you to the resources tab for the project where you can add people to the project and also change their roles. There are 3 roles defined in the Basic Scrum process: Product Owner, Scrum Master and Team Member. Adding in people with these role types is the next step.

The tasks for Product Owner and Scrum Master are defined under "Administration and overheads"…

Using the Workflow Server

A number of people have enquired about the xProcess Workflow Server recently and whether they can download it from SourceForge and run it. Though you can download and build the source code (see instructions on the Wiki to find out how to do this - and which projects here), we’ve not included the Workflow Server in the pre-built packages for download. Instead we are supplying it as part of a support package for clients in order to ensure that we can put all the components in place for any specific implementation of workflow.

The xProcess Workflow Server runs on Tomcat and is designed to respond to events that occur within the xProcess Data Source (detected by the DataSourceMonitor) or in external systems (detected by custom Monitors). Typical uses for the Workflow Server are
to integrate with other systems, such as bug tracking systems, that are running in your environment to notify users by email of changes to plans or processes to update external systems with changes that have occur…

Open Source Announcement for OpenXprocess

This press release is hot off the press. You read it here first!

Date: 1st May, 2009

Ivis Technologies and xProcess Europe announced today that xProcess will now be available under an open source license, expanding its already substantial user base to a much wider community.

Also announced today was the setting up of a new company, OpenXprocess Ltd, to own, manage and support xProcess and supply training mentoring and maintenance services to users worldwide.

xProcess allows users to define project management processes (for example task patterns, artifacts, gateways and workflows) and then run live projects while monitoring targets, deliveries and process compliance. Agile methods for software development such as Scrum, FDD and variants of Unified Process are particularly well supported by the technology, which provides priority-driven ordering of activities and resource balancing. The free download of the product includes pre-configured processes for Scrum and ot…

Scrum-xProcess: step by step

I always tell people who are starting with xProcess to try the simplest things first, and in particular to try out "Simple Process" before embarking on processes which have more complex features configured, like the Scrum and FDD processes. This is just so you get the idea of what the scheduler does, how to reprioritise tasks and the effects of adding resources, manually assigning tasks, adding constraints (dependencies) and using the gantt and burndown charts. So it's a good idea to read The Simplest Possible Way to Get a Project Plan before reading this article because that takes you very quickly through those first steps.

So I'm assuming you've had a play with those first steps of setting up a project in xProcess and now you're ready to use a more configured process, in fact to use Basic Scrum 3. (Note processes can be easily changed in xProcess so it's very possible further changes have been made to this process by the time you read this article! The p…

Getting started with Scrum-xProcess

There are several useful articles on Scrum-xProcess in the blog and if you're starting using the process it's worth having a browse of these to guide your initial set-up.

Using the pre-defined Scrum process - this is the first of a series of articles on using Scrum-xProcess. You can follow them sequentially from this article.
Don't burn out... Burn Down! - discussion of burndown charts.
Calculating team velocity - discussion of velocity and productivity.
Rescheduling tasks to the date you want - what to do when then auto-scheduler doesn't schedule a task when you want it!

I'm going to start a new article now to take you through step by step of setting up a Scrum process. Here's the link to that one... Scrum-xProcess: step by step.

Opening the source...

The source code of xProcess is finally being released today after several months discussion and negotiation concerning the ownership and licensing terms for the code. We settled on the GNU Affero General Public License and having dotted all the i's and crossed all the t's in the legal documents, it's finally out there. Enjoy!

In search of a definition of uncertainty in three point estimates

I've written elsewhere in this blog about the value and theory of three-point estimating (3PE). See "3PE - why I use three estimates where one might do!". The main practical snag with using 3PE in an agile context is the additional overhead of thinking of 3 numbers every time you want to confirm "effort to complete" - ideally something people can quickly update even on a daily basis.

So I'm working on a mechanism which shows the level of uncertainty in an estimate to complete which takes into account the effort completed to date (T) and the three points of the estimate: best case (b), most likely (m) and worst case (w). If you're interested in the intricacies of such things, please read on!

The composite estimate (E) is the estimate is the derived "median" which is used when one number is required (as for example in the "Total" field in the screenshot above). It is derived from best case (b), most likely (m) and worst case (w) as follo…

Inaugural meeting of the Southern UK Scrum User Group

Several scrum enthusiasts in the South of England have decided that, rather than spending a few hours on the train to get to the London Scrum meeting, it would be a good idea to get together more locally to talk about Scrum. The inaugural meeting was last night at the Inn on the Furlong in Ringwood (easy reach of Southampton, Bournemouth, Winchester, Salisbury and so on). Apart from some excellent discussions about people's experiences with Scrum we were able to savour the very fine selection of real ales from the Ringwood brewery. If you're in the South of England and interested in joining us next time check out the group's forum discussions on LinkedIn here.

How to define a custom report in v3

There are 2 ways to generate a report on a project. One is to right-click on a project and select "Reports", and the other is to select from the File menu: File -> Menu -> Custom Reports and then select the type of report you want and its subject. For example using File->Export we can select a "Work Log" report for a person or a task.

What if the report we want isn't in the list? Can you write your own report template? Yes you can - that's what this article is about.

Let's say I want a report on a task in the project. I need to define an "Action" in the process I'm using, identify that action as an "Export Action" (checkbox in the Action dialog) and define the file extension for the report. Let's say in this case we want an html file. You can see in the screenshot this action being defined. Note that the "Applicable to:" field has been filled in as "Task" and also the "Expression:" field h…

Define the process behind your projects

To get started with xProcess it's sensible to start with a pre-defined process - the Simple Process for example (see "The Simplest Possible Way to Get a Project Plan?").

However defining your own process in xProcess needn't be complicated. First thing is to switch to the Process Engineer perspective via the toolbar across the top of the screen (from the default Project Manager perspective). The explorer view in this perpective shows you the processes that have already been imported into your data source and you can create a new process simply by clicking on the process icon in the task bar on the left hand side.

Here are some of the other things you can create in a process:
Project pattern(s)Task patternsRole TypesCategory TypesGateway TypesWorkflow PackagesArtifacts and Artifact TypesStart by looking at some of the Task Patterns in pre-defined processes like Basic Scrum and Basic FDD which come included in the download. You can see the structure of the task and project…

Theory of Constraints and Agile Project Management

Recently on the LinkedIn forum PM Toolbox, Arash Sadati asked for comments about tool support for how Goldratt's Theory of Constraints (TOC) or Critical Chain Project Management can be integrated as part of the Agile Project Management. Here are my thoughts on the subject.
One thing all agile projects share is that - because of a conscious removal of dependencies between features wherever possible - they will be resource constrained rather than critical path constrained (a generalisation but broadly valid). Methods like Scrum-XP try to avoid specific role constraints (e.g. we can't make progress because we don't have a BA or a GUI expert or a middleware expert available) by specifying only 3 role types (Product Owner, Scrum Master, Team Member). So the team as a whole must to some extent be generalists (or at least prepared to learn / fill in specific roles) to reduce the risk of role constraints. In any real application of Scrum of course such role constraints may be real …

The Simplest Possible Way to Get a Project Plan?

I want some work done - so make a new project...

Ok. Here are the tasks that need doing (I can enter them as a comma separated list).

My task list forecasts that these tasks are never going to complete. I guess that's because I don't have anyone to work on them. So add myself as a resource to the project.

Good. They're now being scheduled but I don't think the most important things are being done first. I need to prioritise...

That's fine. They're in order and I can create a Timebox to show what will be done in the first two weeks. Let's have a look at the forecast Gantt and Burndown charts...

Seems ok but all the tasks have the default estimate of 2 days. Next job is to estimate those tasks properly. Oh and I also need to add in the other project resources, and when they're going to be available to the project. Once that's done I'll have a plan I can show my manager.

Mmmm... That didn't take too long!

FDD sub-processes in context

Like most agile processes FDD doesn't pretend to cover every aspect of the software development life-cycle. Just the essentials for establishing a common approach. In particular FDD doesn't explicitly state how and when releases of software occur during or following an FDD iteration.

Here's a diagram that attempts to put the releases in context and also shows the distinction between the first 3 sub-processes which define the project (or iteration), and the multiple instances of the 4th and 5th sub-processes which develop the project (iteration). There can be just one release at the end of an FDD iteration or (more normally?) several releases which deploy the developed software.

What's different about Folders?

When you're deciding on the structure of project patterns for a new process, often the first thing to consider is how to represent the different hierarchies of elements that make up projects.

In FDD for example there is the hierarchy of features, normally described as being Features, which are contained in Feature Sets, which are contained in Business Areas or Major Feature Sets. This logical grouping of functionality is independent of priority and time-ordering. It may well correspond to the structure of the user manual for example or the Functional Specification should such a document be required. It doesn't give us any time view. On the other hand the hierarchy from Releases -> containing Timeboxes -> containing Features is a time-based structure. Similarly the hierarchy based on the five subprocesses of FDD also will have a time correspondence: The Definition Stage -> containing FDD#1 Develop Overall Model, FDD#2 Build Feature List, and FDD#3 Plan by Feature; The B…

Description of the xProcess product

xProcess allows projects to define their own processes... and make and monitor plans that conform to those processes.
Projects may start from predefined processes such as those for Scrum, FDD, Iconix, Unified Process or Prince 2, or define their own. Using their process definition, projects can be defined, resources added and tasks defined, estimated and prioritised. xProcess then provides forecasts for the project against which targets can be set.Once a project is started the participants on the project can access the tasks they have been assigned and record hours worked against tasks, adjust estimates of time to complete, add artifacts (such as documents or links to managed files) and close tasks, including (if the process requires it) completing task "gateways" to show compliance with intermediate steps of the task.Thus xProcess supports process definition (including several graphical views of the process patterns), project management (including defining and es…

xProcess project on Source Forge

With various announcements, activities and releases in the pipeline, you may be interested to know that there is now an xProcess projects on SourceForge. The site is and althought as of this moment there are no downloads available there, the forums, announcements, wikis, etc. of the project will all be moving up there soon. Why not post a message there now?!

Calling Software Development Process experts!

Did you know that from January 2009 the xProcess project is going open source?This means that projects worldwide will be able to download and use free process definition and project management software and, if they are so inclined, configure and improve it for their own use. At the same time we are launching a new services company OpenXprocess. This company will incorporate xProcess Europe (and xProcess US), and manage the ongoing enhancement of the product, while offering services to users of xProcess such as: training in Scrum, FDD, Agile, Iconix Process, Unified Process, Prince and other configured processes of xProcess; configuration of the product to companies’ own development processes; and a support package which includes the web server for access to project data from browsers.This is where the software process experts come in. Would you be interested in learning about xProcess and potentially offering services to configure processes or consult with clients using exi…