« Microsoft making Office available for free online? | Main | Smart example values in form fields »

The Whitney Complexity Scale

Admit it: one of the least favorite parts of our jobs as developers is coming up with time estimates for our work. Joel Spoelsky describes it this way:

Why won't developers make schedules? Two reasons. One: it's a pain in the butt. Two: nobody believes the schedule is realistic. Why go to all the trouble of working on a schedule if it's not going to be right?

If you're like me, and don't have the data available to do evidence-based scheduling, to produce estimates you basically make a guess based on past experience. And we all know how accurate those guesses are. (Usually, not very accurate at all. I worked with a project manager once who confided to me that all of the PMs at the company would take the developers' estimates and then double them to come up with what they felt was a more realistic schedule.) Sometimes I feel like it's like a serious job endeavour and more like a game of Name That Tune for software ("I can code that feature in... 6 hours, George!").

So around here at Ping Identity, we don't have to rely on time estimates so much. Instead, the engineering team has started using a metric called "Whitneys", measured on what we call the Whitney Complexity Scale. It's named after its creator, technical project director Brian Whitney.

Whitney Complexity Scale

Complexity = f(C#, CF, TE, K, S, U, F)

C# = Components impacted
C = Complexity of feature by self
TE = Test environment and challenge of quality needs
K = Knowledge level or not in dev team
S = Scope/impact to Ping portfolio
U = Consideration of upgrades
F = Consider that it may be only a doc, SQE solution

Now the labels of the actual scale are where it starts to get funny:

Effort/Label Complexity Rating Description
Negative -1 Although we haven't started on it yet, it will be done before you ask for it.
Zero 0 It's already done, you just don't know about it yet.
Minimal 1-2 Bill's cat JJ* could do it and it really wouldn't take him very long
Easy 3-4 This is an extension to an existing feature to implement new use cases or configuration options. We can use existing test environments and add new test cases to accommodate new use cases. Requires some changes to existing sections within existing documents to describe new use cases or configuration options.
Medium 5-6 It may be a complex feature that requires quite a bit of development effort, along with a number of different configuration and deployment options to test. May use existing 3rd party environments as needed. It might be relatively simple to implement, but requires setting up a complex test environment and re-testing across multiple different options in the matrix.
Challenging 7-8 This could be a large new feature with an extensive set of use cases involving a new technology that we don't know much about.
Whoa Nelly 9-10 This is a major effort. It will affect multiple components in multiple products. Extensive new set of use cases. Must be extensively regression tested in multiple environments. Requires testing of many different options. Requires testing across multiple products or across multiple physical instances of a single product. Requires integration with 3rd party environments, including many different configurations of same.
Impossible 11 Requires an act of {the deity of your choice} to implement. It affects all Ping Identity software as well as competitor's software, as well as other 3rd party software. This affects physical properties of materials. This affects physical behavior of the universe.

* Bill refers to Bill Wood, VP of Engineering at Ping Identity

Comments (6)

This is an excellent approach to things. I really like it.

Why the name 'Whitney'?

Rob

@Rob: Sorry, I forgot to mention why it was called the Whitney Scale in the first place. It was named after Brian Whitney, our technical project manager in Engineering who came up with the scale in the first place.

Hello,
Thanks for the nice post , I like it! Keep Posting...

I am continually browsing online for tips that can benefit me.
Thank you!

Mighty Movers Inc Reviews and Moving Ratings

B & B Movers Reviews and Moving Ratings