
Historically, in software development, one sure way to kill developer enthusiasm and slow productivity is to have the infamous "everybody meeting", daily.
These meetings come in many forms, but let's use the "defect call" call as our example. This is particularly painful when the team is large and spread across multiple physical locations. At any one time a particular defect may involve 5-10% of the people on the call. Rather than the developer, business stakeholder, and QA person discussing the defect together offline, they spend 30 minutes or so reviewing the ticket, re-visiting the actual business requirements, whether it really is a defect, etc.
The other 15-20 people on the line may have no interest -- and they are relatively unproductive while the conversation continues.
Let's assume $50 per hour per person. For 20 people this is $1,000 per hour. If 15 people are not engaged in the defect being discussed then $750 per hour is being wasted, NOT counting the work they could be doing which is going undone. NOT counting the "why did I just waste my time" de-moralization effect.
Managers have a tendency to feel comfortable when everyone is attending the meeting and available for discussion. But caution must be exercised when these meetings involve more than 4 or 5 people. People need to do their "homework" first, and bring suggestions and solutions to the meeting if at all possible, reducing the negative effects (and costs) that a large meeting can cause.
Wednesday, December 9, 2009
The Everybody Meeting
Saturday, May 17, 2008
Finding Lost Family Members
This post is completely off-topic, but is one that hit home personally and I felt deserved mention.
Family members can become displaced from one another through divorces, war, moving, and traumatic events such as Katrina. What is needed is a free, electronic "bulletin board", where people can leave a "post-it" so they can be found, and likewise search for a missing loved one or friend.
I came across such a site at FindMyFamily.LastISawYou.com. After a painless, non-invasive registration, you can leave an electronic "post-it", and also search the database for any family members you may be looking for.
The downside is that the database is based upon participants who leave a message, but if the word gets out for this free service that should not be a problem.
In this day of paid services for employees, classmates, matches, etc., it's nice to find a free site doing such a noble service. I encourage you to spread the word!
Monday, April 28, 2008
Screen scraping from Business Networks
Business networks, such as LinkedIn, ZoomInfo, etc., can be a very helpful way to find professionals that may fit into your software development or management teams. LinkedIn has data that is entered by the individual, whereas ZoomInfo assembles data by scouring the 'net.
However, getting information that exists in these networks into a usable format, even something as simple as an Excel spreadsheet, is not very easy. Some business networks (intentionally?) make the copy/paste process almost unusable.
Fortunately, I found a very effective tool, "Network Grabber", at www.NetworkGrabber.com. This handy tool is actually a browser, and with one click of a button allows one to copy what they have browsed into Tab or CrLf delimited format. What was taking me an hour, now takes less than 5 minutes.
My friends and colleagues can now be put into a file where I don't have to log into the network and search.
If you spend even a moderate amount of time trying to screen scrape your contacts, I suggest you give it a try. A real time saver!
Saturday, January 26, 2008
Seeds of Failure

Managing vendors (and their representatives) can present its own set of challenges.
I was brought in to be Project Manager, support the IT Manager, and help oversee the replacement of their 3rd party loan package. The company in question makes loans and investments to companies that service the low income community -- loans to build housing, child care, etc. They borrow money and loan it out at a higher rate, just like a bank, but have a different business model.
The kicker was that the well known loan package had never been installed at a low income investment fund before, so they were untested in this "space". The IT Manager had never overseen this type of installation before, and the PM for the vendor was long on promises and good will, but short on delivering proof that the software could do the job.
The vendor's saleman was vague on the pricing, and when the vendor's PM came up with a quote for implementation that was near double the salesman's vagaries, there was added drama. Furthermore, the IT Manager thought the quote included the imaging module, and when it didn't they had to cough up additional money for that.
This is where I came in. One of the first things the IT Manager did was to give me the vendor PM's Microsoft Project file, with the instructions to fill it out with "more stuff".
The plan called for ONE data conversion, followed by a number of employees verifying the converted data. Then followed by workflow testing (assuming that the test scenarios could be modeled in the new system -- something that should have been done up front before selected the software package!). Then, there was ONE month of parallel testing and followed by going "live".
What I am saying here is that this project was doomed near it's inception. When I would voice my concerns, the standard answers from the vendor's PM were "I don't see any red flags" or "I think we're good". While I was skeptical and voiced as much to the IT Manager, she discounted my concerns because there was a hard go-live date and my sense of risk went against this.
As it turned out my duties were more along the lines of being an MS Project "updater", and none of my other PM skills were needed or wanted. The IT Manager and I developed a large credibility gap, and I was therefore limited in what I could do to help. There remained no real point in my staying on the project.
As I later found out, there were numerous conversions and also problems with test case scenarios. The hard go-live date was missed and there were a variety of other problems too.
As always, one reaps what they sow, and the seeds of failure were sown early-on for this project. Very unfortunate, since the the company's purpose is a noble one.
Thursday, January 17, 2008
Halt the Train Wreck

At times a project is deemed to be "out of control", "a train wreck", or a "catastrophe". A time-out is required to assess the project, the team, and the management, and to see if the project can be salvaged.
While it may seem reasonable to some that project development could continue in some way while these evaluations are being made, it is best to stop the project.
Evaluation of a project disaster requires the full involvement of the key team members (stakeholders, development staff, key management), and if project development is taking place in parallel you will not get the time and focus from them required to salvage it.
Unraveling the project will require decisions that may not be pleasant. These decisions can affect the team and project significantly. Allowing the project to limp along in catastrophe mode absorbs valuable resources without any real benefit to the project, and will allow important decisions to be put off. Halting the project will hopefully "light a fire" and drive home the point that the sooner decisions are made, the sooner the project can continue.
Halting the project also sends the message that top level management is serious about the disentanglement process.
Sunday, December 30, 2007
Death By Feature
The Cutter Consortium, which has been analyzing data on software projects for many years, has found that an over aggressive feature list is the second most common reason for project overruns (the first is changing requirements). At times, trying to provide too many features actually ends up providing less (or none, in the case of a failed project).
Reducing the feature list is a key step in recovering a software project that is on the road to ruin. Paring this list to an acceptable minimum is no easy task. Reducing the list too much will produce a deliverable that is completely ineffective and serves no business purpose.
In the feature list reduction process, or more simply "goal reduction", is it essential to know who in the company sets the project goals. Any changes to the project's goals will require the approval of those who originally set them.
When reducing the list of goals to those deemed "essential", there are three basic categories to keep in mind:
- Essential: requirements without which the project will have no real value.
- Important: requirements that significantly improve the project.
- Would be nice: requirements that add things such as attractiveness, ease of use, bells and whistles, etc.
Remember: the longer you wait to define realistic goals, the less you can actually deliver.
Monday, December 17, 2007
Is Your Project A Budget Catastrophe?
E.M. Bennatan states that "a project is a budget catastrophe if the remaining projected cost far exceeds what the development organization is willing to pay for it". Or as it often is, what the sponsoring department or customer has allotted for the project.
Project overruns are often the result of schedule overruns, or of attempting to reduce these overruns (e.g., adding staff), so usually a schedule overrun is evaluated first.
A budget alarm is usually triggered if the expected remaining cost far exceeds its break-even value, however, many times this value is not given enough consideration up front.
Should the project be canceled if the remaining projected cost far exceeds what the development organization is willing to pay for it? Not always, since it was the projected cost that set off the alarm. Reducing the project scope may be an alternative, thus reducing the projected cost and allowing the project to continue. This is one of the key objectives in disentangling a software catastrophe.