Crisp Meetings

A good crisp meeting can be better than strolling through leaves on a fall day. By crisp I mean:

  • The meeting has an agenda.
  • The agenda went out far in advance.
  • The leading has a strong owner who facilitates or helps keep the meeting on track.
  • The meeting starts on time.
  • Late people are ignored and have to bring treats to the next meeting or donate some small amount to a charity.
  • Presenters are prepared.
  • When discussions go to long they are put in a parking lot.
  • The meeting ends 5 minutes early so you’re not late to your next meeting.

At a former company a new CIO showed up and started holding a weekly management leadership meeting. The first meeting people strolled in a little late. The CIO spelled out the ground rules. The last person in the room after the start time owed treats to the whole group the next time. I’m not sure how seriously they took it, but the next meeting several managers were late. In fact one manager came in more than 5 minutes late and tried to sit in the back. The CIO pulled out the chair beside him and beckoned the manager to sit beside him the whole meeting. And just in case the manager forgot he reminded him he should bring nice treats for the next meeting.

Unfortunately the company had an entrenched culture of lateness and bad meetings so most meetings someone still showed up late. I really thought having the CIO point out your tardiness was enough of an incentive to be early, but behavior can be hard to change.

If you’ve fallen into the a common poor meeting culture try running a crisp meeting even as an experiment. You’ll be surprised how different it feels to come out of a focused meeting.

Beach Email

Kids putting the final touches on a grand sandcastle while their dad hunches over a blackberry thumbs on the keys.

We take an annual family beach vacation every year. Two years ago my brother in law turned up with a Blackberry and was constantly checking email over the course of the week to the point of distraction. I’d seen a bit of this behavior in the workplace, but it was a bit disturbing to see a full fledged Crackberry addiction on a beach vacation.

The difference this year was my brother in law has actually kept his crackberry usage down a good bit, but I saw multiple people on the beach hunched over there phones pounding away. Their kids were boogey boarding, jumping in the surf, or building sand castles while they stared at a tiny screen. I’d never seen people on the beach pounding away on a Blackberry.

Personally I gave instructions to my tech lead who was covering while I was out to call me if any emergencies came up, but not to bother trying to get me via email because I wouldn’t be checking it. I didn’t get any calls. I follow the same policy when employees are out I’ll only contact for an actual emergency via a phone call.

I hope seeing the Crackberry’s at the beach will be the last time. Studies are starting to recognize the negative impacts on productivity around this kind of interruption driven existence.

TDD in PL/SQL

PL/SQL has unit testing support and tooling, but my sense is that it’s far from the world of Java or Ruby. In most modern OO languages unit testing is just a part of the landscape. TDD is evolving to BDD with tools like RSpec and modern web frameworks come with unit testing support built in from Wicket to Rails.

It’s a little different in the Oracle world. Steve Feuerstein the evangelist for TDD and unit testing in PL/SQL mentions:

utPLSQL is used by many development shops, but not nearly enough to make it a standard in the PL/SQL environment.

The difference is JUnit is a defacto standard in the Java world. Steve developed utPLSQL to allow for automated unit testing in PL/SQL and has been pushing the idea ever since.

utPLSQL is a basic xUnit framework with assertions, setup and teardown. The interface is simple with no red/green bars just a ‘success’ message in ASCII art. There is a GUI front end runner called OUnit, but it hasn’t been updated in quite some time. The current leading edge unit testing tool is a commercial offering from TOAD called Quest Code Tester for Oracle.

Steve Feuerstein is the developer behind the tool. At first glance it looks like a nice option especially since we’re a TOAD shop. I’ll probably delegate it out to one of our developers to really look into it. The questions I still have are:

  • Write a failing test. Write the code to make it pass. Refactor. How painful is manual refactoring in a procedural language?
  • How do you hook up the test runs to a continuous integration server? And are you tied to the TOAD tool?
  • How do you deal with all the actual dependencies on data in tables for tests.
  • How do you avoid slow running tests?

Two Weeks Into New Management Position

Two weeks into the new app dev manager with a new organization. After moving through this transition a few times I can pass on the following advice:

  • Start your one-on-ones or continue the existing ones.
  • Spend a lot of time talking and walking around. Your brand new, and you need to get out and start getting a sense of the people and the organization.
  • Gather your project and application portfolio. At this point the acronyms and lingo are still confusing, but you have to get a sense of where your projects are and whether any of them are struggling.
  • Stay organized. You’re on a nasty learning curve for the first few months and the last thing you want to do is let your email, physical inbox, and voicemail start overflowing. (GTD works for me here.)
  • Enjoy the surprises. Every organization has it’s own way of doing things and at least once a day for the first few weeks you’ll have some underlying assumptions shattered. In an earlier job in my career I remember picking my jaw off the floor about one week in. One of the developers on Project X Phase II explained Project X Phase I had never been deployed to production. Some unrelated projects had been rebranded as Project X Phase I so the team could declare victory on delivering phase I.
  • Don’t make big changes those first few weeks. You don’t have the data yet.