Over a million developers have joined DZone.

A Pattern Worth Repeating

DZone 's Guide to

A Pattern Worth Repeating

· Agile Zone ·
Free Resource

Someone once told me that if you wish to curse a company then give them your code but not the people who wrote it. I can attest to the truth of this from my time as a CTO. When a disgruntled client sacked their software development company and passed the code on to mine, it truly felt for a long time as if someone had put a hex on us. The reality that I discovered then is that reusable code is only half as useful as reusable knowledge. The Project Management equivalent of receiving the dubious benefit of someone else’s code is to be given someone else’s project plan. A project plan without the insight into what the tasks and activities to be managed constitute in detail is little more than a list of words to be investigated from scratch.

If you were going to share project plans then you would build a project template exchange, which might be a good idea but for the aforementioned problem of working with someone else’s plan. What would be much more useful would be the ability to share someone else’s understanding of the steps and resources that are involved in a particular task. This is the programmer’s equivalent of picking up and reusing snippets of code that have been developed and made available by their peers, something that good programmers do all the time. If you are able to share information at this level then you can of course easily share a single task or an entire plan, which is a collection of tasks, it is now up to you.

Sharing best practice is best practice


Countersoft, who make the Gemini Project Platform, have come up with a way of sharing these tasks at whatever level you desire, for free. A task is called a pattern and a pattern consists of the steps required to complete that task, broken down into a description of each step, the type of resources that the specific step requires and even a component that it can be said to apply to. For example, two project managers might be working on completely different types of project but if both projects require the installation of a SQL Server database, or the selection of a hosting provider, or any other common task, then though the PMs cannot share their project plans, they can (and should) share the patterns for the individual tasks that are common to both projects.

Armed with a pattern for a task, a Project Manager is no longer at the mercy of say a software developer when it comes to determining the timing, complexity or skill required to complete it. For the first time a PM can hold in his or her hand a definition of a task that they are not necessarily expert in, generated by them, secure in the knowledge that they are the standard bearer of best practice. Software developers are notoriously ‘iffy’ when it comes to their areas of expertise and prone to overestimate their powers of delivery. A project manager who cannot break down a technical task beyond a single line on a Gantt chart is pretty exposed, but now this situation need no longer exist.

Of course it is entirely up to Project Managers if they wish to make their lives easier by sharing patterns, receiving feedback and refining them. The Countersoft CEO’s vision is of a day when a PM will go to projectpatterns.org, search for the constituent elements of the project that he or she is about to embark upon, or for a list of tasks (which a pattern can also represent), and start immediately knowing that the plan in hand represents best practice based on experience.

Software developers do this every day and together achieve things that no individual or small group could hope to achieve. Today, Project Managers can do the same.



Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}