Saturday, January 30, 2010

Why Tracking Time is Important for Everyone

Why do people hate to report on the time they spend on various activities at work? There are many reasons knowledge workers revolt over tracking time. Some of the most common that I hear are:

* Tracking time is for people who bill for hourly work. I don't do that, so why does it matter?
* Tracking time is for part-time hourly employees. Don't even compare me to a part-time employee, its an insult. I'm a professional who is above that.
* Tracking time is an invasive and unproductive practice. In fact, if I had to track time on everything I do, I wouldn't get anything done.
* We don't want our culture to become distrustful and Orwellian. Tracking time sends a clear message that you don't trust people to work hard.

OK. Those are some compelling reasons. Not compelling enough to get me to stop writing this article though. I want to show that there is value to the front line in tracking time.

This value is manifest in three important ways: less overtime, fewer missed deadlines, and less organizational leakage - all of which lead to a stronger company which affects everyone employed by that company in a positive way.

Less Overtime & Fewer Missed Deadlines.
People are optimistic. They tend to want to do more in a shorter period of time than they are able to. They tend to underestimate obstacles and overestimate their own abilities. Sales people tend to over-forecast. Managers tend to over promise. Workers tend to underbid on work required. This leads to situations where people are working more hours than they should and are still not delivering everything that's been promised of them.

How do we begin to fix this problem? Just double all of your project estimates? Cut your expectations in half? Nice try. The executives are not going to let you do that. Their job is to push you. You start sandbagging estimates and they'll start doubling expectations. The result will be that you will still be the one stowing a sleeping bag under your desk.

The key to fixing this problem lies in understanding exactly how much effort is typically required for various activities or similar projects within the organization. A comparison of like activities needs to be made over time to validate whether or not estimates are accurate. The following questions need to be considered:

* Do we know how much time is being spent on projects, processes, and initiatives in the organization?
* Are there areas or activities where we consistently under estimate the time required?
* Are there people who regularly do a particular activity slower than others in the organization who do that same thing?
* Can we isolate activities from each other so that we can target problem areas and improve them?


These questions cannot be answered without good time tracking data associated directly with those activities.

You can't solve the problem of over-committing without knowing these answers. Likewise, you can't get these answers without good time tracking data. Therefore, it stands to reason that you cannot figure out how reduce overtime or missed deadlines without you (and everyone else on your team) contributing good time data.

Less Organizational Leakage.
Busy work is that work we do that does not add real value to the organization. It can take the form of ongoing work which could be done more efficiently. It can also take the form of work that ends up being a net drag on the organization.

Work can become a net drag if the cost associated with doing it is greater than the value it brings to the organization. Many organizations have areas of drag.

Why would a worker care about being a net drag on the organization? Wouldn't it be better to just 'be busy'? Ignorance is bliss. The difference is between being busy on a winning team or being busy on a losing team. If people are busy doing work that adds value to the organization, its analogous to putting money in the bank.

There are areas where this is not the case. These areas represent organizational leakage. They are areas where the value created by others evaporates. An organization with no leakage is bound to have significant value and growth. Some questions that could be asked in order to help find leakage are:

* What inefficiencies exist in current repetitive processes?
* What are the fully-loaded costs associated with various value-producing areas in the company?
* Are there areas in the company that have additional capacity?
* Are there areas in the company where we need to apply more resources to get even more positive value?
* Are there areas in the company whose resources would better be used in another activity?

Finding areas of efficiency/inefficiency is much more difficult than finding areas where effort is being applied. What we're searching for is a statement that says, "For every dollar we spend on this kind or work, we create X dollars of value". Hopefully that number is greater than 1. This question requires that we understand the value of work being done (a topic for another day), and the cost associated with that work. One component of the cost is directly related to time tracking data, or the cost of the effort associated with it.

In summary, I'd like to point out that tracking time is often a requisite for organizational improvement. Tracking time should not be seen as a necessary evil in your organization, but should be seen as an important data point to be used by the organization for more accurately estimating commitments and for reducing waste.

Saturday, November 15, 2008

Playing AVCDH content on Blu-ray Players

I spent a little too much time today fiddling around with technology. Ever since I bought a Sony AVCHD camcorder I've been bugged that I haven't been able to just dump the .MTS files it creates straight onto a DVD and throw it in the Blu-ray player. The video quality on the camera is fantastic and it seems a shame to downcovert it and watch it in typical DVD format. Not only that, downconverting that content takes forever.

So... for all of you who don't want to waste an entire spindle of DVDs and a precious afternoon that could have been put to good use like snowboarding, I'm going to attach a little script that will set you up. All you have to do is burn the image file onto a disc when its done running.

Hardware:
Sony CX-12 AVCHD camcorder (I think every AVCHD camcorder on the market will work with this approach)
Sony BDP-S550 Blu-ray player (The player needs to read DVDs and DVD DLs if you have 8gb flash cards in your camera)

OS:
Mac OS 10.5. Linux with newfs_udf util should work too.

Note:
I would recommend 4gb cards in the camera. 4gb is a good 30 minutes of video. Nobody wants to watch the entire fourth-grade christmas concert anyway.

When you plug the card in, it will show up as a volume. Usually /Volumes/Untitled. From there, run the script ./MakeBluRay.sh. There are some arguments and I didn't do a ton to make this script robust. It covers the bases.

s=size in MB (Default is 4096)
d=image file directory
n=new volume name (default is AVCHD)
f=image file name (default is tmp)
v=source volume (default is /Volumes/Untitled)
h=help

So ./MakeBluRay.sh -s 100 -d ~/VideoBackUp -f 11-13-08 will create a 100mb file called 11-13-08.img in the ~/VideoBackUp directory.

Here is the script:


#!/bin/sh



#Default volume size in MB
base_size="4096"

#Default image location - the current directory
img_file_dir="."

#Default image file name
img_file_name="tmp"

#Target volume name
new_volume_name="AVCHD"

#Destination volume name
new_volume_location=""

#Source Volume location
source_volume="/Volumes/Untitled"

#parse arguments
while getopts "h:s:d:n:f:v:" optionName; do
case "$optionName" in
h) printHelpAndExit 0;;
s) base_size="$OPTARG";;
d) img_file_dir="$OPTARG";;
n) new_volume_name="$OPTARG";;
f) img_file_name="$OPTARG";;
v) source_volume="$OPTARG";;
\?) echo "Valid options are\ns=size in MB (Default is 4096)\nd=image file directory\nn=new volume name (default is AVCHD)\nf=image file name (default is tmp)\nv=source volume (default is /Volumes/Untitled)\nh=help" >&2
exit 1
;;
:) echo "Option -$OPTARG requires an argument" >&2
exit 1
;;
esac
done


#test validity of source and destinations
echo "Source volume is $source_volume"
if [ ! -d $source_volume ]
then
echo "Source Directory of $source_volume does not exist"
exit 1
fi
if [ ! -d $source_volume/AVCHD/BDMV ]
then
echo "Source Directory of $source_volume does not contain a BDMV source"
exit 1
fi

#Create an image file matching the size of arg z
echo "Disc Image size will be $base_size"
echo "Disc Image location will be $img_file_dir/$img_file_name.img"
echo "Creating new image file. This may take a few minutes..."
dd if=/dev/zero of="$img_file_dir/$img_file_name.img" bs=$((1024 * 1024)) count=$base_size

#Create a UDF FS from the image with the volume name of arg n
echo "Creating a UDF FS on $img_file_dir/$img_file_name.img with volume name of $new_volume_name"
newfs_udf -r 2.5 "$img_file_dir/$img_file_name.img" -v $new_volume_name

#Mount the image file
hdiutil mount -nobrowse "$img_file_dir/$img_file_name.img"

#copy files from source volume to the newly mounted image file
echo "Copying source materials to new image file. This may take a several minutes..."
cp -R $source_volume/AVCHD/* /Volumes/$new_volume_name/

#Rename source files
echo "Renaming source files"
for f in /Volumes/$new_volume_name/BDMV/STREAM/*MTS
do
nf=`basename $f MTS`m2ts
echo "$f and $nf"
mv $f /Volumes/$new_volume_name/BDMV/STREAM/$nf
done

#INDEX Files
echo "Renaming clip and index files"
mv /Volumes/$new_volume_name/BDMV/INDEX.BDM /Volumes/$new_volume_name/BDMV/index.bdmv
mv /Volumes/$new_volume_name/BDMV/MOVIEOBJ.BDM /Volumes/$new_volume_name/BDMV/MovieObject.bdmv

#Clip Files
echo "Renaming clip files"
for f in /Volumes/$new_volume_name/BDMV/CLIPINF/*CPI
do
nf=`basename $f CPI`clpi
echo "$f and $nf"
mv $f /Volumes/$new_volume_name/BDMV/CLIPINF/$nf
done

#MPL Files
echo "Renaming mpl files"
for f in /Volumes/$new_volume_name/BDMV/PLAYLIST/*MPL
do
nf=`basename $f MPL`mpls
echo "$f and $nf"
mv $f /Volumes/$new_volume_name/BDMV/PLAYLIST/$nf
done

#Blu Ray Compliance
mkdir /Volumes/$new_volume_name/BDMV/BDJO
mkdir /Volumes/$new_volume_name/BDMV/JAR
mkdir /Volumes/$new_volume_name/BDMV/AUXDATA
mkdir /Volumes/$new_volume_name/BDMV/BACKUP
mkdir /Volumes/$new_volume_name/BDMV/BACKUP/BDJO
mkdir /Volumes/$new_volume_name/CERTIFICATE
mkdir /Volumes/$new_volume_name/CERTIFICATE/BACKUP
cp /Volumes/$new_volume_name/BDMV/*.bdmv /Volumes/$new_volume_name/BDMV/BACKUP/
cp -R /Volumes/$new_volume_name/BDMV/PLAYLIST /Volumes/$new_volume_name/BDMV/BACKUP/
cp -R /Volumes/$new_volume_name/BDMV/CLIPINF /Volumes/$new_volume_name/BDMV/BACKUP/

#Unmount the image
hdiutil unmount /Volumes/$new_volume_name

echo "Success... you can now burn this with Disk Utility"

Wednesday, October 29, 2008

What is Kouji Shinko Kijun?

While in Japan recently, I learned a few important Japanese phrases:
Yoroshiku onegaishimasu - Something to the order of I'm your humble servant, please take my business card
Ita daki masu - Saying thanks for anything - especially food
kouji shinko kijun - New accounting rule going live as of April 1, 2009 in Japan. This rule states that SI's in Japan need to recognize project revenue as well as expense ratably during the project.

Much discussion has happened concerning the best way to achieve compliance with kouji shinko kijun. Organizations who used to use Excel to figure out status on project plans now need a more reliable method for recognizing project revenues during the execution of the project. Key components of compliance include Enterprise Project Management, WBS, and EVM.

WBS, or Work Breakdown Structure, is a tree structure which sums a project's components upward. Progress recorded at the lowest levels of a project's WBS is reflected in the overall project data.

EVM, or Earned Value Management, is a way to normalize schedule and cost progress in an objective way (See http://en.wikipedia.org/wiki/Earned_value_management). Earned Value allows an SI to know at any time during an engagement how much work has been completed toward the full contract as a ratio. Using EVM, I can easily compare many different projects of differing scopes across a standard measurement. With EVM, I can depict in a single number the degree of variance at any point in time a project is experiencing in terms of cost and schedule. These numbers play into anticipated revenue from labor on those projects.

Enterprise Project Management gives SI's the ability to look across all projects and pro-rate the expected revenue from those projects according to the EVM data and the WBS projections. Compliance with kouji shinko kijun requires this level of understanding across the organization.

A series of articles on this topic are emerging from thought-leaders in Japan. One of the first of these can be found on page 54 of November issue of Nikkei Systems publication (http://ec.nikkeibp.co.jp/item/backno/OS0187.html). This article covers solutions that address Kouji Shinko Kijun requirements. The article mentions Artemis, HP PPM, Primavera P76 and @task. The article devotes an entire page to @task and conducts a case-study with Toyo Business Engineering, and @task customer.

One of the quotes I liked from the case study was, "All team members now can see the overall schedules of the project in realtime and can see the results of their contributions and this has
been a great motivator” (Miyazaki-san, Division Manager, Toyo Business Engineering).

Monday, October 27, 2008

Project and Portfolio Management (PPM) is an Inferior Good

Market-watching these days has become a macabre pass-time; like, why do you torment yourself by looking? Its like watching a train wreck in slow motion.

We have to know how these changes are going to affect us personally, affect our businesses, and affect our ability to invest; and so we watch anyway.

CIO's, executive teams, and department heads all across the world right now are looking at how they can cut costs and still maintain similar levels of productivity. 'Do more with less' is the new global slogan. The market just got a 30% reduction in value, so did your budget - or at least if you haven't gotten that news yet, trust that somebody is talking about that somewhere in your organization.

For a leader to 'Do more with less', he or she needs to know a few things about their organization. Namely, what everybody is doing and what impact that work has on the organization as a whole. Organizations looking to make cuts or tighten up on growth need to do three things better:
* Obtain true visibility over all initiatives and resources
* Prioritize initiatives according to positive impact on the organization
* Make better use of resources

What I love about this is that these needs are addressed through of the discipline of Project and Portfolio Management (PPM). So, why the comment about PPM being an inferior good?

Drawing from knowledge picked up in my BYU economics classes years ago, an 'Inferior Good' is one that people buy more of when they have less money. Right now, people are scrambling to understand their organizations. Good CIO's will realize that PPM is the key to overall productivity gains. This puts PPM in a growth situation; even when the markets are down. We have been seeing this in trends observed over the last six weeks. We have seem a dramatic uptake in product interest as the economy shows further signs of weakening. Our belief is that PPM remains a strong performer in this time of potential global recession.

A couple weeks ago I was in Japan. While there, I spent some time with Jim Hunter of PM Global. PM Global has some great technology dealing with controls management of which, @task is one integrated component. Jim has been in the Project Management industry for many years and commented that he loves down markets due to the increase in PM attention they create and the consequent increase in business.

Furthermore, in the PPM space, there are heavyweight solutions such as MS Project Server, Computer Associates' Clarity, and Oracle's Primavera. These solutions are heavyweight in both up-front cost and resources required for implementation. These solutions tend to focus on the management layer and are complicated to the point that adoption into additional levels of the organization is limited. This limitation directly affects the solution's ability to provide real-time visibility for executives down into the workforce (e.g. If the workforce isn't in the tool, the tool can't provide good data back up the chain without mid-level after-the-fact redaction). These complicated solutions are actually pushing organizations toward alternatives that are less costly up front, less risky to the organization, and more likely to be utilized by the entire workforce.

@task is the SaaS alternative which has its roots in usability and Web 2.0 technology. There is a practical aspect to the needs organizations have around visibility, prioritization, and productivity. Modern tools like @task address this practical need extremely well in a way that promotes usability - so that the organization truly can do more with less... including less complication in their PPM tools.

The combination of down economy pushing organizations toward PPM. That same pressure is pushing PPM buyers toward SaaS applications. This bodes well for products like @task.

Wednesday, October 22, 2008

On-Demand is not SaaS. The old and new economy shaping software licensing

SaaS and on-demand are not synonymous.

Let me first start by explaining the business model behind SaaS in software development.

Old Economy - In the past, software vendors have typically modeled their business around traditional product development practices. The company sells a license for a specific version of its product and charges maintenance fees for continued support of that version. The support includes technical support as well as bug fixes and patches. In the meantime, the company plans for a version upgrade containing 12 to 18 months of software development effort. That upgrade is sometimes sold at full-price to existing customers and sometimes for a reduced price in the neighborhood of 50-75% of retail.

New Economy - Recently, software vendors have adopted the agile way of thinking about software development. This way of thinking requires that software development become very customer-focused and that innovation is delivered to customers frequently and in smaller pieces. This allows the customer to provide feedback on phased-in functionality and leads development along a path that ultimately delivers more useful software. This process requires that there be no 12 to 18 month release cycle, but rather a monthly or a quarterly release cycle. This process also requires a new business model as the traditional approach to discreet versions becomes obsolete.

SaaS is a natural outlet for the new economy. SaaS, keep in mind, means 'Software as a Service', not 'On-Demand Software' or 'Hosted Software'. The SaaS model merely allows vendors to deliver frequent upgrades to customers and still protect the revenue that would have come from selling discreet upgrades every 12 to 18 months.

The defining characteristics of a SaaS company are:
* Customer-focused software is delivered frequently (e.g. monthly or quarterly)
* An economic model that promotes use of continuously improved software instead of ownership of a discreet version of a software package


Benefits of SaaS on buyers - Buyers should understand why SaaS is a win for them, even though it may feel uncomfortable to be making an annual payment for their mission-critical software. There are several reasons why the SaaS model benefits buyers:
* SaaS is cheaper and less risky. The economic model for a SaaS vendor amortizes the cost of software over a typical packaged software's life expectancy. It is, therefore, less expensive to obtain and the lower up-front costs are less risk to the buyer. A recent study by Goldman Sachs (Investing for the next stage in software-as-a-service, Sept '08) discovered that SaaS vendors' gross margins are 15% lower than their packaged software counterparts.
* SaaS vendors tend to be extremely customer-focused. In the SaaS model, the days of shelfware are absolutely gone. If the buyer does not derive continued value from their software, they will simply not renew.
* SaaS software innovation is delivered monthly or quarterly. This allows the vendor to more quickly respond to market trends and customer needs
* SaaS software is not a capital expense, its a lease.

Why is on-demand not equivalent to SaaS and visa-versa?

Virtually all SaaS companies deliver their software on-demand, or hosted. The on-demand delivery model allows the vendor to control the upgrade process and to keep the application on the latest version. Additionally, SaaS companies have been leaders in the usage of the multi-tenant architecture, scalability techniques, and user-configurable software to dramatically improve economies of scale. Thus, architectural characteristics such as multi-tenancy have been attributed directly to SaaS companies rather than to on-demand software.

Can an on-demand application fail to be SaaS? Yes. Not all on-demand applications will exhibit the attributes of a SaaS offering. Recently, several of our competitors including Computer Associates and Serena have marketed 'SaaS' versions of their products. These products are essentially on-demand incarnations of traditional heavyweight packaged software. While the pricing model may reflect the cost amortization, I would suggest that the 'service' component is missing; namely: focus on customer usability and frequent upgrades.