New Post at AITS: There’s More to a System Design Than Requirements

My latest article for AITS was published today: There’s More to a System Design Than Requirements.

Acme Tornado KitIn addition to meeting the current needs of the users, a good design (and a good implementation of a good design) has to be capable of being supportable once it makes the transition to production. We have to be cognizant of both the history of the legacy system we’re replacing and the potential for evolution of user requirements over time. Both technical debt and Lehman’s Law come into play here and good project managers help the designers keep past, current, and future needs in mind.

As always, thanks for taking the time to read my stuff.

New PM Articles for the Week of January 30 – February 5

New project management articles published on the web during the week of January 30 – February 5. And this week’s video: Eduardo Briceño talks about how to most effectively move between the performing zone and the learning zone, using Diogenes and Beyonce as examples. Just 11 minutes, safe for work.

Must read (or hear)!

  • Soma Bhattacharya encapsulates some ideas about neuroplasticity and suggests some brain-boosting activities. Includes a link to an excellent TED talk by Lara Boyd.
  • Cornelius Fichtner interviews Wanda Curlee on how situational awareness and emotional intelligence are intertwined. Just 23 minutes, safe for work.
  • Angelica Larios summarizes research into the dimensions of cultural differences by Robert House into short, clear definitions and a useful table. Even if you’re not managing global teams today, this knowledge is important!

Established Methods

  • Mike Clayton coaches us on ways to engage our project sponsor.
  • John Goodpasture shares his FAQ on systems engineering. Only slightly
  • Leigh Espy tutors us on the scope management plan.
  • Harry Hall uses his new FitBit as a metaphor for project financial management.
  • Bruce Harpham helps us take our questions from good to great.
  • Nick Pisano critiques a list of project management trends for 2017, compiled by Atif Qureshi.

Agile Methods

  • Stefan Wolpers curates his weekly list of Agile content, from team building and the need for dissent to guerilla research and The Bad Product Fallacy.
  • Mike Cohn shares an agenda for the Sprint Review – a ceremony designed for soliciting actionable feedback.
  • Dave Prior interviews Mike Cottmeyer on the State of Agile in 2017 and addresses the question: Is culture really the issue? Just 48 minutes, safe for work.
  • Alison Wood made a new eBook from Knowledge Train available for download: “The Challenges with Agile.” Six Agile practitioners, 12 pages, many excellent insights.
  • Elise Stevens interviews Melanie Franklin on the evolution of the PMO in adopting Agile methods. Just 19 minutes, safe for work.
  • Tom McFarlin addresses the tension between “It’s good enough,” and “It could be better” when deciding to ship your product.

Applied Leadership

  • Andy Kaufman interviews Nick Petrie and Derek Roger, authors of “Work Without Stress,” on… well, stress and pressure. Just 55 minutes, safe for work. Plus a couple of minutes for the clip from “Bridge of Spies” that puts it all into perspective.
  • Beth Spriggs depicts a difficult but necessary conversation with someone who needed to hear some very negative feedback.
  • Rich Maltzman summarizes the sustainability trends driving business in 2017, based on a report by the University of Cambridge Institute for Sustainability Leadership.
  • Seth Godin notes that, just as you don’t heat your office with coal anymore, you will eventually abandon the employee performance review system you’ve used for thirty years.

Technology and Techniques

  • Cade Metz updates us the recent poker tournament where an AI program beat four of the world’s best poker players at no-limit Texas Hold ‘Em.
  • Tom Randall reports on three new lithium-ion battery storage plants in California, any one of which would have been the largest such facility ever built. Focus on the description of the construction project.
  • Nick Bilton reports on the death of Hollywood, as technology reshapes filmmaking the way it has everything else.

Working and the Workplace

  • Lisette Sutherland edits several old interviews to extract four insights in establishing camaraderie in remote teams.
  • Conner Forrest explains how to determine whether President Trump’s suspension of immigration from seven Muslim-majority countries will impact your company.
  • Suzanne Lucas reports on some fascinating research – extensive international travel and exposure to different cultures can desensitize you to what is right and wrong.


Excel Functions You Probably Aren’t Using

I started using spreadsheets back in 1985, in the days of Lotus 123. At the time, I was developing reliability prediction models used in design tradeoff decisions for systems being developed for the US Army Corps of Engineers (that little reverse osmosis water purification do-dad under the counter at Starbucks is pretty straightforward technology, but when scaled to produce tens of thousands of gallons per day, using surface water and generator power, things can get complicated). I moved to Excel a few years later when I adopted Windows 3.1 but after more than three decades, I still manage to find new ways to capture and manipulate data. Let me share a few Excel functions that you probably aren’t using.

Calculating the Number of Working Days

It’s easy to calculate the difference in days, weeks, months, or years between two dates, but I often need to calculate working days.

NetWorkDays(Start_Date, End_Date,[Optional_Holidays])

This function calculates the difference between the two dates but ignores Saturdays, Sundays, and whatever holidays you pass it in a list. You can pass this example list either directly as B2:B9 or by defining a name for that range (highlight the range, right click, Define Name) and passing the name. We’ll use this list as an example:



Martin Luther King’s Birthday (US)


President’s Day (US)


Memorial Day (US)


Independence Day (US)


Labor Day (US and Canada)


Thanksgiving Day (US)


Day after Thanksgiving (US)


Christmas Day


Let’s say I want to include the number of working days until some event in a status report. The effective date of the status report is in a named cell (done the same way you named the range of holidays) and so is the event date. Like so:


This will return the integer number of working days, which you can then use directly or in another calculation.  I typically include the holidays for the project in a separate tab. But let’s say you crashed the schedule and decided you needed the team to work a few weekends, especially at go live. So create a list of Working Weekend Days, name the range, and add it to the calculation.

Working Weekend Days


Conversion Sunday


Cutover Saturday


Cutover Sunday


Now we can incorporate those weekend working days into the formula:


In this example, the CountIf function picks up the two days in the list greater than the status date of January 9, which is then added to the 108 days from the NetWorkDays function result:

Status Date


Go Live


Working days to Go Live


The Working days remaining equals the number of weekdays between the two dates, minus the three holidays that fall in the range, plus the two weekend dates greater than the status date. Note that if your weekend days are something other than Saturday and Sunday, the NetWorkDays.Intl function allows you to specify alternatives.

Summarizing Data in a Table

While we’re talking about status reports: it helps to summarize the information in your risk register, even at a high level. Take a look at this sample, which includes the results of a qualitative risk analysis.

Risk ID

Risk description

Last likely date of occuring



Calculated risk


This risk






That risk






The other






One more






And another


Very low



The Calculated risk field is based on a formula:


Note that two lookup tables were defined to associate numeric values with the Probability and Impact scores; the risk is calculated as the square root of the product of the two numeric values. So let’s say you want to tally up the number of risks with High or Medium scores that are still likely to occur. On the status report, it looks like this:

High Risks


Medium Risks


We can use the CountIfs function to tally the risks for each criterion. For High risks, e.g. those with a Calculated risk value of 3.0 or more, and a Last likely date after the status date:

=COUNTIFS(Calculated_risk, ">="&3, Last_Date,">"&Status_Date)

For the Medium count, we’ll use a range of values:

=COUNTIFS(Calculated_risk, ">="&2, Calculated_risk, 
"<"&3, Last_Date,">"&Status_Date)

Getting a Completion Date

Sometimes I need to pencil out a very high-level timeline to determine if a goal is even achievable by some date. So I’ll create a list of tasks, each with a proposed duration, and start date. The assumption is that each task begins the day after the predecessor completes. I can then use the WorkDay function:

WorkDay(Start_Date, Duration,[Optional_Holidays])

This returns the serial number of the date Duration days after Start_Date. I can convert it for display using the Text function, like so:


I can also convert the date to the day of the week, again using the Text function:


This lets me specify a State Date for the first task and durations for each task in the list, with the subsequent start dates and completion date calculated automatically.


Start Date

















Complete on



Of course, the danger in this approach is that by tweaking the start date or individual durations, you can convince yourself that something is achievable simply by giving yourself less time to do it. So, don’t do that.

The ability to create reusable spreadsheets that use Excel functions to provide actionable information from raw data is still one of those skills that will pay big dividends over the course of a career in project management. All you really need is a little imagination and an understanding of what the data actually represents.