All posts by dale

Web-Based Timesheets for Project Management

What is project management? What it isn’t is a carefully crafted Gantt chart made to support a Project Charter and then forgotten about.

A cornerstone of effective project management is to understand how much effort has been expended and what tasks have been accomplished, and then to use that information to guide completion of the project and to publish status reports that can be trusted. Project management is a closed loop, one popular model is the PDCA (Plan Do Check Act) cycle.

Check refers not only to the expected output, but also to the process – whether resources are being consumed as expected, whether risks remain acceptable, if schedule and cost-to-complete forecasts are still reasonable and in budget, etc.

For small enterprises, collecting information on effort typically means timesheets. Project infrastructure can sometimes be leveraged for metrics, such as a software bug tracker or a sprint planning tool, but this generally requires a large number of datapoints before being accurate enough for project management purposes. For SMEs with relatively few team members on a project, the ubiquitous timesheet will be the simplest and least intrusive method of collecting project effort metrics. Since many organizations require timesheets anyway for financial accountability, the additional work to also collect information useful project management need not be significant if done in the right way.

I’m working on a series of blog posts on SME product development project management, and researched the state of open source timesheet applications for use in a strawman based on a Swift Construction Company product development project. You’ll find out later which application I selected, but until then here the potential candidates I found.

]project-open[

]project-open[ is a fully featured portfolio project management suite. However, unfortunately with great power also comes significant complexity and in brief use I was unable to create a simple project and submit a timesheet. Commercial support is available, and the project co-founder walked me through some impressive basic functionality in a personal webinar.

ProjeQtOr

ProjeQtOr is a fully featured project management suite with a twist – with ProjeQtOr you  also get “all the tools that will ease to ensure conformity to any Quality Management System, effortlessly and without any extra too”. This approach has a lot of merit. Issues are issues whether they relate to a product in production or the execution of a project task, and investigating a non-conformance is just as much a project as is development of a new product or upgrading IT infrastructure.

qdPM

I used qdPM for several months to record effort for a personal project. qdPM is a freemium-type product, and the community version is licensed using the Open Source license. It is a professional grade product.

To me, qdPM seemed to suit product support more than project management, and includes top-level menu items for Tickets, Discussions, and Software Versions. Entering time spent on a task is done by creating a comment, and traditional project management such as cost vs time are not readily available.

timeEdition

timeEdition appears best suited for a single individual to track their personal project time, rather than actual project management. Although it appears to be commercial proprietary software from the website, I found a source code on Sourceforge using an open source license (see timeEdition Sourceforge project).

TimeTracker

TimeTracker lives up to its claim of being a simple, easy to use, open source, web-based time tracking application. After experimenting with it for a while, my only complaints are that tasks are not inherently project-specific, which could make task management overwhelming if you have a large number of projects, each with a large number of tasks. However, projects specify which tasks they include, so the task list is still manageable from a user’s perspective. 

TimeTrex

TimeTrex has a flashy website, but at heart is a traditional time-card system for scheduling and tracking task-based employees, not managing projects. You can download TimeTrex Community v9.1.3 from the TimeTrex project on Sourceforge if you don’t want to provide your email address using the TimeTrex website.

Additional Applications

I found another of other applications as well, but for one reason or another I didn’t have the opportunity to investigate further, or on cursory glance they didn’t seem suitable (remember, my original goal was a simple easy to use timesheet, not necessarily project management).

Watch for the start of my posts on project management to learn which application I selected for a Swift Construction Company strawman.

Cheers!

Time, Complexity, and Cost – but where is Risk?

There is a popular saying within the project management community:

Time, Cost, Quality, Pick Two.

It means two factors can be controlled if the third can be left uncontrolled, or in other words, you can’t have it all. Of course, this is a simplistic view of a potentially complex set of activities, but it is pragmatic and generally found to hold true. However, where does Risk enter in the equation?

First, what is risk? As risk in a project increases, so does the likelihood of the following:

  • Expectations will be viewed as optimistic and unrealistic in hindsight.
  • The project will exceed schedule and cost forecasts.
  • Product quality and customer approval will be lower than anticipated.
  • Production costs will be greater than anticipated.

Risk is primarily a function of complexity and time. Make the project more complex without increasing the time available and the risk of failure increases exponentially. Constrain the time available without reducing scope and the risk of failure increases exponentially. Get the idea? It’s really more of a guideline than a rule though.

When time is not the limiting factor, there will be enough time to figure it out, whatever it is. When there isn’t enough time, decisions will understandably be made based on missing and incorrect information (i.e. speculation), which can result in more work later to correct a bad decision. Additional schedule delays and cost overruns increase project stress, which increases risk, and if left uncorrected may result in the project’s collapse.

Developing a new product is an inherently risky activity, although achieving high-risk goals generally brings greater rewards – otherwise there would be no incentive to accept the risk. However, even if risk cannot be avoided it can be mitigated. Don’t accept unreasonable risk in your projects, and consider moving any very-high-risk tasks into a precursor research project to set appropriate expectations. Also ensure significant risks are well understood by project stakeholders. In a well managed and transparent project there can be no blame, and stakeholders share the consequences of the constraints they set and the risks that were accepted.

There is no place for wishful thinking in project management, and always have a Plan B ready at hand should an activity not execute as expected.

Cheers,
Dale

Rotating Apache log files on FreeBSD

I needed to review an Apache httpd server error log file recently and even though the server had been rebooted only a month ago, I had to scroll through 95,000 lines before I got to the interesting part.

To make Apache’s log files more manageable, I configured them to roll every week using the FreeBSD standard newsyslog utility. newsyslog is run from cron, and in the default configuration runs every hour. This limits rolling logfiles to at most once an hour, but this is typically more than adequate for system log files.

I could have hacked newsyslog’s main config file /etc/newsyslog.conf, which would kept all configuration in one place for convenience. However this can lead to trouble when updating the system (because any new version would have to be manually merged with the edited old version), and keeping updating simple is generally a good idea. To deal with this, there are directives in the main config file to read additional optional configuration:

...
<include> /etc/newsyslog.conf.d/*
<include> /usr/local/etc/newsyslog.conf.d/*

Since the Apache server is third-party software, I created /usr/local/etc/newsyslog.conf.d/apache.conf containing the following:

# Apache
/var/log/httpd-access.log www:www 440 9 * $W1D4 J /var/run/httpd.pid 30
/var/log/httpd-error.log www:www 440 9 * $W1D4 J /var/run/httpd.pid 30

To understand what this means, the fields are: [logfile name] [owner-group] [mode] [count] [size] [when] [flags] [path to pid file] [signal]. Apache’s access and error log files will be rolled every Monday at 4am (system time), a total of 9 weekly archives will be kept (providing up to 10 weeks of logs counting the current log), and log file archives will be compressed using bzip2. Some other interesting points are:

  • For security, ownership of archived logs is set to www and the file mode is set to read-only for user and group, with no access by anyone else.
  • A SIGUSR1 signal (30) is sent to Apache to perform a graceful restart after rolling the log file.

For more information, see the System Logging section of the FreeBSD Manual as well as the man pages for newsyslog and newsyslog.conf.

To read a compressed log file, uncompress the file and pipe to less:

% sudo bzcat httpd-error.log.0.bz2 | less

Which is also equivalent to the simpler:

% sudo bzless httpd-error.log.0.bz2

Cheers!

5S Program

The efficiency of a plant or production facility is determined in part by the cleanliness and order of the facility. The 5S program was developed in Japan to educate employees and improve production plant order and cleanliness. The program has also been widely adopted in the west.

The components of the 5S program are:

  • Sort (Seiri)
  • Set In Order (Seiton)
  • Shine (Seiso)
  • Standardize (Seiketsu)
  • Sustain (Shitsuke)

One popular variation of the program uses six components by adding Safety (although In Order could easily be interpreted to include Safety), while another variation only uses four components by combining Set In Order and Shine.

Henry Ford’s CANDO program pre-dates 5S and includes Cleaning Up, Arranging, Neatness, Discipline and Ongoing Improvement, although the two are likely unrelated.

Now you can start your own 5S program!