Profitability Analysis (ProAm) Windows Desktop Application
This is a story I love telling about how big corporations can sometimes work.
Background
I was asked to make a desktop application while working as a contractor for a now
defunct public telephone (payphone) company. It was to be called Pro-Am which was
some kind of abbreviation for "Profitability Analysis." I don't remember why there
is an "m" in there instead of an "n", but that what it was called. The idea was to pull in
data from dozens of sources to see if any particular payphone was profitable with
all kinds of sorting and filtering options.
I need to say that this was way back before cell phones displaced payphones. It
was happening but had not completely happened yet. The management thinking before
the cell phone era was that payphones did not have to be profitable per se, because
they were also a way to advertise the parent phone company brand. The idea being
that the advertising value was good enough to justify the pay phone installation
and any money actually brought in by the phone was a bonus. The challenge was
that the parent company had recently spun off the public communications arm of
the company and it now had to fend for itself. Suddenly, for the first time
management was concerned about the actual profitability of each payphone.
To my great surprise, the company had no way of knowing if a phone was profitable.
The main reason being because it was difficult to pull all the information needed
together. It included installation costs, rent, maintenance, taxes, and most of
all usage. This information was stored in a variety of different databases spread
across systems throughout the company.
The Task
My job was to sort all this out and put it in one desktop application that
management could use to quickly and easily lookup exactly how profitable any
group of phones were for some time period. The requirements included a lot of
"lets shoot for the moon" thinking, with regard to the slicing and dicing capabilities
of the application, with the presumption that the actual product would be limited
by what was possible. Since the company had upwards of 200,000 pay phones this was
a reasonable assumption.
My task was to develop the whole thing, soup to nuts, including the interface,
and figuring out how to access and gather all the data. I was in a room with eight
other contractors, but this was in the days when most development shops had a talent
situation where one guy did 80 percent of the work and everyone else stayed out of
their way. In this shop, I was that guy and so my boss gave me the whole job even
though it was a big assignment.
Infinite Scroll
With so many phones and/or phone categories, to report on, the output could be
lots and lots of rows. At that time none of this team's applications had infinite
scroll, so I though this would be a good time to make one. It was as simple as
keeping a cache of 300 or so records in the display, when the user got close
to the bottom, or top, adjusting that cache with additional data fetching and discarding
to keep records coming as the user scrolled. I did this and when I demo-ed it
to my boss it caused a bit of a shit storm. As soon as I showed it to her she
called in a few other team members saying "You told me this couldn't be done!"
If I had known about this claim (it happened before I was hired on) I would
have given them a heads up.
The Deliverable
Looking back the whole process was not that hard and I managed to get the thing
delivered ahead of time, and with every feature they asked for included. There
was a lot of business logic to figure out, as I had to work with stakeholders
to decipher how to apply costs and revenues accurately. The other challenge was
how to present all the different sort and filtering options in an interface
that was intuitive and understandable with no training.
One Big Surprise
One thing I did while testing the deliverable was to run the profitability report
for all phones. The product idea was the reporting would be done by region, salesman,
market segment, etc. and these reports came back in a few seconds. But
doing the report on every phone in the system took a while, about 10 minutes if
I'm remembering correctly. We were using Oracle databases (mostly) and the big
holdup was the calls database which contained every call made or received and
had hundreds of millions of records, which was a lot of data back then.
The results of doing the report on every phone was that only about thirty-plus
percent of the phones were profitable. I though this was a little strange and
talked with my boss about it. We reviewed the logic and the conclusion was that it
was correct.
Well, this was a bombshell. Literally no one in the company had any idea what
percentage of phones were profitable prior to this application. It didn't spell
good things for the company, especially considering how rapidly cell phones were
taking over. The management was used to "big phone company" thinking and now
that they were spun off from the bigger phone company they didn't know how to
process this information, as far as i could tell.
Shelving
So I completed the deliverable. All features were there and seemed to be working
perfectly. I was done.
A couple of weeks later I had not heard one word about Pro-Am. As far as I knew my
boss and her boss where happy with my work on this project. I was busy with other
projects that were the best gigs the team was working on. Out of the blue I asked
my boss how Pro-Am was going? She said something like "I'm so sorry. You did a
good job on that project, and I wish people could have known that." "That was
weird and cryptic" I thought. Well after probing and asking around I found out
the project was canceled because of "technical problems." Technical Problems as
in we couldn't get it to work.
Apparently the knowledge of how un-profitable the company was, was so toxic that
management choose to bury it, by blaming it on indirectly on me. "Crazy" I thought.
On this job I was a working as a contractor. My boss was also a contractor. All my
coworkers were contractors. So I didn't think it was my place to champion exposing
this falsehood. I let it alone and continued to do my work as instructed. I didn't
even mention this to other co-workers.
I did get a darkly funny story to tell out of the deal though, and now that enough time
has passed, and the company is long since defunct, I can finally tell it.