Web based project management tool

More than ten years I was forced to wait to see a real web based project management tool -by real I mean a decent software product that seems to address the PM needs and it is not a poor desktop application pushed to the web -like Microsoft Problem Server -oops I mean Project Server. Browsing the web I found the PMXPO 2008 and the SIIA CODiE Awards 2008 pages. Looking at the CODiE Awards 2008 finalists’ list I found @task, a company dedicated to deliver real software that uses the web.

I will try to get a demo or at least a try to that software product. As developer I know a lot of things about web development but also as PM I feel frustrated about the poor quality of the products delivered -that is one my personal reasons because I decided to start the SpZ Framework project. However, there are hope on new products that are jumping in and doing a great work.


Open UP project management – the discipline

According to the official OpenUP website the PM for a software development project that follow the OpenUP methodology is supposed to

  1. Encourage stakeholder consensus on prioritizing the sequence of work
  2. Stimulate team collaboration on creating long term and short term plans for the project
  3. Focus the team on continually delivering tested software for stakeholder evaluation
  4. Help create an effective working environment to maximize team productivity
  5. Keep stakeholders and the team informed on project progress
  6. Provide a framework to manage project risk and continually adapt to change

Points 1, 2, 5 are common to all PM in the universe, stakeholder management, expectation management and motivation management are part of the communication ability required as part of the role. However there are some other points that make me feel not so good:

Focus the team on continually delivering tested software for stakeholder evaluation

Stakeholder evaluation expression seems to be wrong. Stakeholder could be anyone with special interest in the project but not necessarily with decision power. Therefore, stakeholder is not the target of the deliverables for testing. More than one time you will be asked for “What if…” items, “Now that we already do this why…” items that everybody hate. Deliver & Deploy should be done only to the focus group -the right persons that will manage the results in an effective manner and following the software specs, probably an offshore QA team, a client QA or internal QA.

Help create an effective working environment to maximize team productivity

The working environment could be a lot of things, but probably means all external factors related for example to company environment, place/location and contractual stuff. However as IT and software developer I recommend to improve also the software environment -i.e. improve the software tools that the team use to do their work. I will recommend free/open source software :-) but obviously is not necessarily the situation for every project. Something that is common in the companies is to have tools but most of the m out of date, not legally acquired -at least in Colombia is a common practice- not working. As PM you should validate the work effort to build the software but also additional effort imposed by the use of the tools -even the time logger tool that I hope you use. If you will ask the team for additional tasks like time logging, change control documentation and other tasks related to software development and project management, be sure that they can do it fast and easy.

Provide a framework to manage project risk and continually adapt to change

A framework is a set of tools, for a person that is handling a project in progress in quite unfair to ask her/him for also the PM framework. In the most of the cases PM should ask the PM Office or the historical records of the company projects to get templates or at least examples. In the case there is no information available you will have to take a look to the templates available in the Internet :-) – I hope I can finish my templates soon so I can post them.

OpenUP site provides a lot of useful information but please validates it before use.


Integrated open source tools

PM should not have to deal with IT project strategy however almost all the time PM are “abandoned” in the middle of nowhere with a simple request: build a software tool that probably the client do not understand at 100% and it for sure is not documented.

The first steps are to (re)build the project scope and have a plan, but in the meanwhile your new team will need to have the tools to start their work. As PM you probably will have your own tools and templates but the team will have an IDE and that’s it. You should not deal with technical issues, but the reality is that as PM team will depend on you to get the right/optimal resources to simplify the developers work.

If you are those lucky guys that receive a software project since the beginning and not sometime after then you will have a better chance to get the right resources. My recommendation: Keep it simple but useful -even notepad is a useful tool if you use it correctly.

Your team needs:

  1. Deal with versions. Even before start your coding phase you MUST have a concurrent version system. In the market you will find a lot, but probably the common ones -and open source are: CVS and Subversion (a.k.a. SVN). Versions will force the team to work closer and with the same structure. If your IT team do it well, you will appreciate it a lot.
  2. Common IDE. Developers have their own affairs with specific IDEs. But you are the PM, ask your IT lead and force them all to use the same. I don’t like democracy, PM rules! However, as developer, I love Eclipse IDE.
  3. Documentation System. Most of the developers around the world will hate to document their code or applications. At least here in Colombia, when you ask developers to document their code or provide formal documentation they will give you the bad-eye look (in Spanish the malde’ojo) and you will understand that not the greatest documentation will be available at the end of the project. So provide the team with the tools to make this pain softer. I recommend only WYSIWYG tools like a Wiki, Google Docs, or any other fancy tool.
  4. Track their progress/work. Development tracking tools are suspiciously linked to Bug Tracking but it is not necessarily the truth. I’ve been using bug tracking tools like Mantis BT and Jira as Tasks Assignation tools. Keep in mind that a Bug is a request to do (fix) something. So why you cannot split your work packages in work items and assign them to the team -as you do with bugs.
  5. Provide test environments. I have to say this, why non-developer centric companies like Creative Agencies building Web applications do not understand that a Test Environment IS NOT the developer’s computer. What is this all about? What is the mystery? Test environments are needed, mandatory needed. Release building is a complex task that will have a lot of manually interactions -team pushing changes and enhancements- and it is NEEDED to have a place where to put all together and validate it before release it to a client -even to a client test environment. Please do not cut costs here. I will start a facebook group named “Why we do not have a test environment?” -BTW I do not like facebook, I do not even use it.
  6. Put it all together and working. This is the real thing about IT support. Install software is a piece of cake, is not a complex task, put all together and make it work smoothly is the key. So ask you IT team to do it, or do it yourself, like I did for some of my dev projects. There are many ways to integrate everything but I’m giving you some useful links to found the way to do it:

SpZ Team is currently designing an All-in-One integrated solution. For latest updates check the Framework page.


Open UP project management – Set your information system

Project managers who work in software development projects could be those who know about the software development process, probably because they were developers in the past, or those who do not have or do not want to have any technical knowledge and decide to delegate it to a third person -also know as Technical Director, Technical Lead, Team Lead, and other nice names for the man who really manage the software development process.

However this is an article for those who put their hands on projects, probably not coding but are PMs really involved in the software development process. I will explain how to set a project information system based on Open Unified Process and open source software.

The idea is simple, set a information repository accessible by anyone in the project, since the beginning of the development cycle to avoid miscommunication errors. The strategy, use a formal set of templates to document the business needs and the software design and publish them in a project site, but allowing the full access to the development team.

Before begin: you are the PM, if you do not want to go into the details ask IT team to handle the process, it is not so complicated but it takes time. It is not that easy

  • Share the information since the beginning
  • Software projects have this quality, share the information is good, all the information related to the software design and software implementation is good. There is no restriction, developers will understand better their work and BTW you will be reducing drastically the “developer” dependency -does this line sounds familiar to you? “I didn’t do it, I do not understand the code so it will take a time to do/fix/solve it“The easiest way to share documents is to have an open system that allows you to publish information in a public site -public means only to those person you want to have access. There are many ways to do -share a folder through the network :-( , share a folder through versions management system :-| , or to have groupware like Microsoft SharePoint. My case is to publish them since the beginning by setting a Wiki software that will have an ACL, a version management incorporated and all directly online -my team members do not have to install anything else than any web browser.Do not trust the model? Check the proved model by browsing Wikipedia. There is no bigger documentation team in the whole world.

    I will recommend for this experiment DokuWiki. It could be not the best, but is good enough. If you don’t like it there are hundreds so you can pick one. However I will recommend those with WYSIWYG editors to avoid the need of WikiSyntax.

  • Define what to share and how to share
  • At this point you know how to share whatever you will share. But, what is supposed to be shared? Many organizations already have their own set of standard documents, most of them because where certified in something. Like the ISO certifications. So, use them, do not worry, during the project evolution you will see how the documents grow and mature supplying with the appropriated information.Do not have template document? I see, you are on a small company or in a non-small-messy one. Don’t worry there are tons of templates available for free. ReadySET and Method123 will give you a hand but hey, you have to do your homework and build your own ones to fit your process and specific needs.

Know you are ready to start sharing your documentation. Give your team the freedom to work with the documents but track their changes, software design is not a democracy -brainstorming is a democracy where votes do not count. Software design is a Dictatorship where those who has the experience and knowledge will prevail.


Free project management software tools

Let’s start talking software tools. Probably, if you work in a big company or an projectized one you will have an enterprise solution like Microsoft Project, Primavera, or Clarity. However there is a lot of small / medium and even big companies without any software tool.

This is the first of a set of posts when I will present how I start my projects when no software support is available. Of course I suppose you will have little help of the IT department to get at least some free/usable servers for your purposes. This one will present a small but useful list of tools and their licenses.

You will find a lot of tools that could make easier your life, but obviously, the success of any software tool is based on the use we gave it. Below you will find a list of project management software tools that I recommend for small/medium projects, all of them are free or open source projects

I think is good enough for now, I don’t want to make expectations about those projects, all of them have their pros/cons. If you have comments, feel free to submit them. The whole idea is to build a knowledge base for those who are starting to use a software tool or are evaluating its use.