Rusty Divine

Live, Love, Learn, Teach

Back Home

The Boise trip wrapped up this morning with a final meeting and a mad dash to the airport to make the flight. I am not usually unnerved by flying, but this morning's flight was jinxed and I had a terrible feeling that our plane was destined to crash.
We were running late for the flight, and were debating on getting gas for the rental car or returning it and taking the $5/gallon hit for not filling it up. If we stopped to refill, we might miss our flight. As we passed the final gas station, still debating, our low-fuel indicator light blinked on at the very moment we passed the station. It was like a beacon trying to get us to pull over and get gas so that we'd miss our flight. Like a guardian angel that was a split second too late. (The rental agency charged $80 for the gas!)
We made it to the ticket counter and found out that our flight had been cancelled, but there was a flight leaving immediately that we could jump on. When we got to the gate we learned that there had been some fog in Seattle that had delayed the 6am flight for 5 hours, so those passengers and the passengers on the cancelled flight were all combined into a larger plane (still so small that we had to walk out on the tarmac to board) for the 1130 flight.
After we boarded, the pilot came over the intercom to tell us "the rest of the story." The plane that was supposed to have departed at 6am had just had some mechanical work done to it, but the mechanic forgot to sign off on it. They flew the mechanic from Seattle back to Boise to sign off on the work, but by that time the fog had settled in to Seattle. To complicate matters, the construction crew working on the new Seattle runway sliced a power line that ran the approach lights for the runway. No approach lights and some fog meant no flights coming into Seattle at all for a few hours. With all the back up on the beginning of what is supposed to be the busiest holiday travel weekend on record, there were piles of delays of planes trying to reach Seattle. The pilot then said we were going to take off, but if the weather went sour we were going to go to Yakima instead!
I was fine until we started speeding up down the runway, and then I had one of my psychic moments; I felt like the flight was doomed to crash. A few times in my life I have just known something was going to happen - like if my name is in a hat and someone draws it out, there has been two distinct times that I knew it was going to happen, and one of the times I even told the guy standing next to me so I do have some collaboration. This feeling was sorta like one of those times where I just knew something was going to happen.
We got off to a bumpy ascent as we plowed through the thermals rising off the desert plains. When we were a few minutes off the ground everything evened out, and the pilot reported the weather in Seattle was improving. By the time my Coke had arrived, I had forgotten all about my premonition. That is, until we started our descent.
We descended through a couple layers of clouds that bounced us around. By the time we were a few thousand feet off the ground the wind started whipping us around and the plane tilted back and forth like a see-saw. When we were about 50' off the ground, a gust of wind knocked us sideways and to the left; and I was sure the wing was going to clip, but we made it safely to the ground and the pilot taxied us to the tarmac. At that point, I remembered to say a little thank you prayer as I dried my palms on my dockers.
All I can say is it must take some nerves of steel to fly one of those birds day in and day out.
How was the business trip?? Well, it went smoothly, but it wasn't as interesting as the plane trip home!

Boise; it rhymes with noisy; but it's not cuz it's small

I'm getting shipped off to Boise, ID next week for two to three days. I'll be capturing the business rules - the if this happens, then this has to happen - in a flow charting software app.
There will be a group of clients, me, a business analyst, and a moderator. The three of us will sit in a room with the client, the analyst and moderator will ask questions like, "When Trynt takes the data and puts it in the spreadsheet, what does he do with it next?" And the customer will answer, "At the end of the week, he then prints it out and gives one copy to Peter to file, and faxes a copy to the HQ for filing there." Then I'll draw some little boxes and arrows in the flow charting software to capture that business rule.
When the three of us get back to our office after the trip, I'll tidy up the charts and hand them over to the other team members. They'll take a look at the tangled mess of business rules and then write a recommendation paper on how to automate and streamline the process. It might go something like:

  1. Instead of Trynt entering the data into a spreadsheet, he will log into a web application and enter the data there.
  2. Peter and HQ will be able to get to the most current data anytime they would like by loggin in to the web application and viewing it. They will have read-only access, and will not be able to change any data.
  3. Instead of Trynt distributing the data, Peter and HQ will be able to print out a report that summarizes the data by week.

I enjoy meeting with clients and figuring out business rules, so I'm looking forward to the trip. I have a talent for working well with clients; I'm good enough, I'm smart enough, and gosh-darn'it, client's like me. I think it is because I show them respect, and I try to act as their advocates (that is, I try to align myself with them rather than with my company). A good sense of humor helps, and warmth of personality. And, I am interested in what they have to say, which helps put them at ease and to talk freely; meaning more productivity. Why, one time a lieutenant commander of the USCG remarked to my boss that the 1/2 day meeting he had with me was the most productive meeting he had ever been to! I cherish comments like that.

Custom solution vs shrink wrap

A question was posed at our meet-the-big-shot meeting over lunch yesterday by a fellow co-worker of mine directed to the big-shot. The group of us were enjoying pizza from a local pizzeria while the big-shot explained our group's business plan for the foreseeable future (it was rosey, of course).
In a nutshell, it was asked if any consideration had been given to producing a resalable piece of software - the kind you can stamp on a CD, box up, and sell on Amazon (AKA COTS - Commercial OffThe Shelf, AKA Shrink Wrap) .
The answer began badly; very badly. In the cliche way you might imagine, the big-shot leaned back in his chair as if deep in thought and replied, "That is a very good question." He went on to spout something about how the Group had considered that possibility, and would continue to consider that possibility; as if he took a cue directly from our president. I can't tell you what he said after that because his manager voice lulled me into a state of hypnosis that was only broken when he asked, "Did any of that make sense? Do any of you understand what I am saying?" It was no exaggeration to say you could hear the electricity hum through the light fixtures it got so quiet. I think someone, and it may have even been me, nodded their head and we moved on.
The truth is that we are a consulting company, and not a software company. As a consulting company, we can produce a software solution, but not a software product. Each software solution we provide is going to be custom made for the customer, even if we reuse 90% of existing code from another production effort we will still spend the 10% to customize it. When we finish the solution it will have our customer's logo on it and look to it (branding), not our own. We will have used our customer's money to produce their custom solution. Depending on how the contract is worded, they might even retain the intellectual property rights, meaning that they own the code we wrote and we can't reuse it for anyone else.
Interestingly though, and I asked about this very point at the meeting, the customer can never own our experience for having created the solution; so we could go to another customer and say, "Look, we built this software that monitors how many times employees go to the rest room during the day, we could build a similar solution for you, but we have to start from scratch." And that would be perfectly legal.
Developing a software product, conversely, has a completely different strategy. First, you have to find the cash to build it yourself at your own risk. It has to be built to be flexible, it better be bullet proof, and simple, and useful for a large audience. Then you have to have your company tax and accounting systems set up to handle selling a product, you have to worry about manufacturing, supplies, distribution, and marketing. Not to mention a help desk, and bug fixes, and patch rollouts. At the end of the day, if your product is popular, it will probably be reverse engineered by a competitor anyway! It's very hard to make a big company out of selling software, but if anyone can do it, Joel can.
In consulting when our customer finds a bug in our system the exchange typically goes like this:
Customer: "Excuse me, my good fellow, but while I was waxing my mouse ball, I inadvertently came across this strange message: 'You have violated core security, shut down eminent'. I am sure it is something I have done, and I do apologize."
Consultant: "Oh, nady-dah; I will fix that problem straight away and load the new file to the server. You were ever so kind to bring it to our attention! Have a wonderful day, old chap, and do call again."
In software company when your product has a bug, 500, 000 people it discover it at the same moment, try to call your help desk (which was maybe wisely subbed out to India to save money for patch roll-outs), get frustrated and go to their blog to type stuff like:
Customer: "I H8 MiCrOsOfT! they R Jerx!"
My advice? Stick with consulting, kid.