Tuesday, February 27, 2007

Process Visibility

"Succeeding at process optimization requires a user to have unrestricted visibility to all process elements, their relationships and how those have changed over time."

The preceding is a quote from one of Lombardi Software's training manuals, and I think it highlights a key guideline for architecting successful applications in a Service Oriented environment (Obligatory disclaimer: I work for Lombardi, but the opinions and ideas expressed in this blog are my own).

If you can't see it, you can't fix it.

"It" in this case refers to any of the activities or services that must be performed in order to successfully complete a Business Process.

In a SOA environment Services are not generally created for a specific Business Process. Services somewhat mirror their real-world namesakes... Businesses seldom provide a Service that is only of use to a single customer (unless that customer is very, very important).

In a similar vein, Services are seldom unadvertised. Generally speaking, the ROI for developing a Service is closely related to the number of customers who consume the service (which is why advertising is crucial).

I recently worked on a project that required delving into employee details that were spread across LDAP and a relational data base. Much to our chagrin we were far into the project before learning that a WebService provided all the data that we needed in a one-stop shop (so to speak).

If you don't know that it exists, you can't use it.

The bottom line in Business Applications is to get the job done in as reliable and efficient a manner as possible. As experience is gained and external conditions change, the procedure for "getting the job done" may change.

The Holy Grail for Business Programmers is to never be the limiting factor for how quickly the business can adapt... Actually it's beyond that... The ideal Business Programmer should be able to help the Business Analysts know when and how to adapt.

Business Applications do not require fancy and finely tuned User Interfaces... They require effective User Interfaces that can be quickly adapted when the business process needs to change. Sadly, many well-meaning Business Analysts focus more on the aesthetics of the applications that they want rather than on the business tasks that the application supports.

If elements of the UI don't closely map to Process Steps, then it probably won't be easy to change the UI when the process has to be changed.

Back when OO first came into vogue many UI developers made the mistake of tying their UIs too closely to the underlying objects. While this is not always a bad thing, as is evidenced by the popularity of NakedObjects, it often led to quite unnatural interactions between users and applications (unnatural from the human's perspective). We could make a similar mistake by tying a UI to closely to a Process Step... but it's a risk worth taking.

Sunday, February 25, 2007

Arm Chair Explorer



My father was an explorer.

He had a wife and two kids and a day job and little disposable income, but that did not keep him from venturing into the unknown whenever the opportunity presented itself.

Usually the opportunity to explore would present itself while the family was in the car and driving from point A to point B (often on the 300+ mile trips to or from either set of grandparents). Tom (we called our dad by his first name for some forgotten reason) would spot a road sign and declare to the captive audience that this was undoubtedly a short cut to our destination. Despite any protests (and we soon learned not to bother offering any) my father would veer off from the safe-and-narrow and head our car down the pavement towards "the unknown".

We discovered some really great places, and some not so great places, and we discovered that paved roads don't always stay paved for their whole length. Many times we'd end up on dusty dirt roads and seldom if ever would "the short cut" take less time than the beaten path.

Long after my brother and I left home, my dad continued his driving explorations along with my mom. On one infamous journey to find out what was in Pandale Texas the locals told him that his was the first stranger's car to head into town over the dirt road from Ozona in collective memory.

My dad is gone now... but that wanderlust is alive and well in the next generation. I love maps, and I long to drive down every side road with an interesting name.

That's why I love Google Maps and Google Earth. When I pass an interesting road sign, I can keep on going (much to my wife's relief) safe in the knowledge that as soon as I can get to a Browser I can "go back" and find out where that road really went.

My most interesting recent discover has been "Radar Road" out in West Texas to the Southwest of Van Horn. If you look carefully, you will see that Radar Road is one of those anomalous roads that leaves the Interstate as a dirt road, but which miraculously becomes paved many miles further on. Perhaps this is a little known relic of the Cold War, guarding our borders from Soviet sneak attacks via Mexico. I will probably never know the story behind "Radar Road" for sure, but I do love dreaming up my own conjectures.

My "Google-Based" explorations don't completely satisfy my wanderlust, but they do save a lot of wear and tear on the car and the budget. I'm sure my dad would approve.

Saturday, February 17, 2007

Traveling Guy



I left my house at 6 am on Monday to catch a flight from Austin Bergstrom to Chicago Midway. During my 2 hour layover waiting for a connecting flight to Providence RI, I participated in a conference call with 3 folks in New London CT, one in Groton CT, one in Boston MA and one in Peapack NJ. I arrived in Providence at 3:30 pm, picked up my rental car and drove the 50 miles to New London in record time, landing at my desk away from home by 4:30 pm.

Tuesday was spent catching up with my colleagues. One of them drives in from Boston and the other takes the train up from just south of New York City. During the day I conferred with colleagues in Peapack NJ and back in Austin.

On Wednesday we had a big meeting... a presentation and walk-through for our stakeholders. A winter storm had dumped a bunch of snow and sleet on the area, and since my rental car had no ice scraper I had more than the normal amount of fun getting in to work.

The meeting went of well, but of course most of the participants were elsewhere (having dialed in via WebEx).

Thursday (Today) was very surreal... the roads were icy in the morning, so many of the locals worked from home, leaving only the out-of-towners like me in the office. I left early, expecting a longer commute up to Providence due to the snow, but the roads were fine. As I write this I am on a plane, somewhere between Connecticut and Maryland, and with luck I should walk through my front door by 11 pm.

This has pretty much been my ritual each week since the first week of October last year. I decided to make a huge career shift, and took an 80 per cent travel job as a Professional Services guy for a BPM company.

I love the work, and I am totally jazzed up about the promise of Process Driven Design... But business traveling is not for the faint of heart.

My second week out, a freak snowstorm in Chicago shut down O'Hare just long enough to throw off flight schedules across the Eastern seaboard. My flight was delayed for 4 hours (plus two hours on the tarmac in Providence waiting for Air Force One to get off the runway in Chicago), so I missed my connection. End result? I got to sleep in Concourse B of O'Hare, lost my cellphone, and did not get home until 18 hours later than originally scheduled.

That episode was my worst journey so far... but you just have to get used to it. Delays happen, and you can't do a thing about them except to be prepared and keep smiling.

I replaced my cell phone with a Blackberry, and it has become truly indispensable. With this wonderful little device I can check my email and flight schedules, make and change reservations, etc. and the screen is even bright enough to use as a flashlight in a pinch. I'm using it to write this blog entry.
I never check luggage unless I have to. I never schedule a flight through O'Hare unless I have to.
I am learning the tricks that business travelers use to stay sane.

Back to my most recent trip.... the irony of that journey was that to a large extent I traveled far and wide to participate in virtual meetings. I enjoyed the quality face time with my team mates, but the important issues were resolved remotely. Virtual presence was "good enough" to get the job done... being there "in the flesh" was only to provide an added measure of trust and confidence that there were no misunderstandings.

As virtual meetings get better, as our ability to project our presence remotely improves, will there come a time when "in the flesh" meetings aren't necessary?

Today's technology has already made "being away from home" a lot less of a big deal than it once was. I call, chat, email and share photos with my wife (Teri) constantly. I can pay bills, schedule Dr. appointments, and even watch "local" TV shows wherever I can get a WiFi signal. I am never completely "out of touch" with the home front... and I don't have to spend time catching up when I do get to be at home with my wife.

Can't the same technology keep us from getting "out of touch" with what our client's and colleagues need from us, and what we need from them? To a large extent I think that it can... but not quite yet. Remote meetings just aren't the same... They are fine for keeping things on track, but they don't work well for establishing relationships and kicking off new projects.

So for the present, I'm a business gypsy. If you are in the same boat, I'd love to hear the tips that you have learned to keep yourself sane... Happy Traveling!