Wednesday, December 17, 2008

Voodoo meetings

Technologists are typically far from superstitious, I am near the top of that list. But there is one thing I am superstitious about... systems failing over holidays or long weekend. Nothing like blissfully leaving the office for more than 2 days off and having it interrupted by an outage call.

One technique I use to ward off these holiday/long weekend outages is to hold a "readiness" meet just before the time off. My experience is that doing such a meeting usually meant nothing bad would happen, or at least if it did the team would be prepared for it.

My team recently did a readiness meeting before the US Thanksgiving holidays, and one of my team came to me early the Monday after and exclaimed "that Voodoo meeting worked, no issues/outages". Hence, the name, which has since stuck and people know what it means if they are invited to a Voodoo meeting. .

Seriously, there is nothing better to get ready than assembling your team together and asking them if the are ready. Are we doing any changes that we should review? Are there any projects launching? Who's going to where should something happen? You may find they go to the desks and double-check systems and changes.

And just as important as a readiness meeting is reaching out to the business to tell them you are "ready", and reiterating incident escalation process. Once we discovered a major issue on a Tuesday after a long weekend, and later determined some end-users had suspected something, but didn't want to bother the IT team on the long weekend.

My message back them:- "Please bother us", its our job.

Wednesday, August 20, 2008

Grad school for future CTOs

I have the distinct pleasure of being a mentor in Columbia University's Masters of IT program in continuing education (other posts mentioning Columbia program - http://newyorkcto.blogspot.com/search?q=columbia). My second student just graduated, and I am about to receive my third student in the coming school year. I find it be extremely satisfying to teach a student how to prepare a technology business case, and at the same time find myself reflecting on my own management style, something I am constantly learning and tweaking.

I can't think of a better way for a future CTO or CIO to prepare for the job, and I've given this advice to aspiring CTOs. Check out this recent article on the program: -http://www.informationweek.com/news/management/interviews/showArticle.jh
tml?articleID=210004259

Monday, June 16, 2008

East coast vs. West Coast

There is no getting away from it in the US, there is the East coast and the West coast, and they are quite different when it comes to CTOs (in my opinion). This gross generalization can be easily shot down, but let me move ahead anyway. West coast CTO = super-tech ex-developer. East coast CTO = less tech but very business focused.

Have I offended anyone yet? Not my intention. My point is that we don't see a lot of transporting of CTOs between the coasts. But I love it every time I get to visit and do business in San Francisco/Silicon Valley. I have the same experience each time, technology rocks there. What I find myself doing is figuring out how to take West coast learnings back to the East coast. There's an easiness/flow to technology development on the West coast which is hard to find back east (along with a little more risk-taking).

As an East coast CTO, you should take every chance you can get to visit the West coast. My first-ever US trip (in the 80s) was to Silicon Valley, and that was my main reason for deciding to move to the US. I "missed" my mark and landed in NYC, but no regrets.

And talking about moving coasts, I am extremely happy to announce that New York got one of its finest back recently, Curtis Brown, the new CTO at Kaplan Test Prep & Admissions (my previous job), formerly CTO at McGraw-Hill/CTB in Monterey. Curtis is the quintessential New York CTO who combines tech know-how with business-savvy. Kaplan will excel under Curtis, and we New York CTOs welcome him back to "our" coast.

Wednesday, June 11, 2008

Agile and the social developer

I was talking the other day to a technologist who had made the switch early in his career from software development to infrastructure. I asked him why, his answer:- "I didn't want to spend days not interacting with people".

When I was a software developer, it was a lonesome affair. There was no open source community, just manuals and API docs. I got the occasional check-in from my boss and questions to a sysadmin, but mainly was left alone (and liked it). My response to passers-by as to my well-being was often a grunt, as I maniacally focused on the code on my (green) screen in front of me. But that was in the days before agile development.

Agile development practices require a developer to be social. There's a daily scrum, pair programming, end-users on team, kaizen meetings and the like, all situations which require high social interaction. Even open source development is by its nature social. There's no room for a loner.

One of the reasons I stopped coding and became a manager is because I enjoy social interaction (I've been accused of being a "social animal" :-). I do get a buzz out of an interactive tech meeting with developers, admins or CTO peers. For me, this begs the a/b question:- (a) Does Agile push developers out of their comfort zone to be more social, OR (b) Did Agile come about because developers want to be more social?

But clearly, an agile developer is a social developer. That's a good thing.

Friday, June 6, 2008

Interim CTO

When a CEO leaves a company, usually the first thing that happens is that the sitting Chairman is appointed as interim CEO. Their job is to steer the company until a full-time CEO is hired.

What do companies do when their CTO leaves? Usually get by without one while they begin the search for a new one. Something that I've experienced recently at both my old and new companies is an Interim (or Transitional) CTO someone to take care of technology until a full-time CTO is found.

An interim CTO doesn't start coding software nor configuring servers. Their job is to provide technology representation for the existing team. Technology teams need an advocate, and can feel completely unrepresented without one. Interim CTOs don't need to come up with a technology strategy, but they do need to mind the store, including shepherding in-play projects, running the budget, and executive communication.

iVillage had an interim CTO when I arrived, and his help has been invaluable to me as I got my head around the extensive technology footprint here. Its made me more effective. I could choose what to focus on first, fully knowing that anything I wasn't focused on was being taken care of by someone else. I recommend a 3 month overlap as ideal.

So, for any company losing their CTO, get an Interim CTO. There are plenty of talented consultants/ex-CTOs out there to help you, use them.

Tuesday, May 6, 2008

Bloggers beware

As we are now all a part of the brave new world of blogging, I am personally discovering some of the unintended outcomes of a CTO blog.

At my previous company, I started blogging well after I became CTO, and some of my team read it out of curiosity. But now at my new company, the new technology team got the chance to read my blog before I arrived, as did other department members. An experience on my first day in the office was someone stopping me in the hallway, and saying "you must be Jon Williams, I read your blog" (hope you liked it was my first thought).

I also discovered that some the tech team learned I was their new CTO via a blog post (not mine), and not from senior management. Not a desirable outcome, yet not something we can control. After we announced my departure at my previous company, and told our contacts of the change, it seemed someone would ending up blogging about it (and did). Clearly the time when companies controlled how information is passed to their employees is changing.

Recently, a fellow CTO at a smaller company was describing how he uses his public blog to influence his internal company agenda. Making his comments public often has a larger impact on his fellow co-workers than a private email. While that is not my intent in this blog, my writings do certainly reflect my views on technology, representing my thoughts and goals.

We should all by now be familiar with the stories of technology leaders who were fired for blogging about their company's technology detailed plans and architecture. This was my main reason for not starting a blog until 2007, quite a few years after those incidents. But in the same way we all figured out the correct "tone" of email, we've hopefully figured out the right tone, content and context for blogging.

And lastly, to the question I posed to another CTO blogger that "our kids will read all our blogs", he replied "...and stop part way through and say 'Dad, your blog is so boring, its all about technology'". Yikes!.

Thursday, April 17, 2008

The Last 21 Days

Many things have a beginning and ending. Projects, computers, vacations, games, school, friends, businesses (sometimes), life, and jobs. Some things have planned endings (vacation, school) and others are random by chance. While there is no shortage of management literature on starting new jobs or the "first 90 days" there seems to be little written about the process of leaving a company, we’ll call this “the last 21 days”.

I am now in the midst of both an ending and a new beginning. After 4 years at Kaplan, I am leaving to join iVillage, a division of NBC Universal. I have had a number of jobs in my career, leaving a company is not new to me, yet significant, none the less.

What are you supposed to do when you end a job? It’s not something we think about when taking a job, and also not something discussed, its mostly taboo. Unless you are a consultant, there is no way to "complete" a job. However, I do believe there are important things you should do, and not do, when leaving. I write this because if you are like me, you will have many conflicting emotions with this period of change, drama and sometimes trauma. Strong loyalties may create feelings of guilt for “abandoning” the company, or feelings of failure to complete a mission may even try to creep into your head. That’s the tricky bit and here are my thoughts:

First, leave a job as smoothly as possible. Someone leaving, especially the CTO, can be unsettling for a technology team, so make it as stable as you can. Write a transition document, think of all the things that may come up in the next 6 months, and pass along as much knowledge as you can to your team.

Second, go out on top. If at all possible, don't leave when things are in bad shape. Make sure you are leaving the team and technology systems in top shape. Think of a movie actor or sports star who stayed in the game just a little too long. How undesirable is that? Much better to leave with a legacy of accomplishments and fond memories. Make a list of accomplishments for yourself, and spend just a little time savouring them and congratulating yourself.

Third, talk about leaving. Don't hang your head in shame. Endings are part of life, and acknowledging them helps us deal with them. Talk about why you are leaving, and talk about conflicts you have about leaving. It’s ok to have regrets of missed future opportunities.

While there is no "completed" status for a job like there is a project, make it is complete as possible. And hopefully this will help you move along to your (my) next endeavor, and will keep your reputation in tact with your former employer. Your reputation should grow stronger with the change as you are the one taking the next big step.

Monday, April 14, 2008

Work and Play?

It used to be that work and play had clear delineations, but not anymore, at least not for me, and I believe not for gen-Yers.

For example, while on a recent Seattle vacation, I (1) had lunch with a couple of CTO buddies (play), (2) visited my company's Seattle location (work) (3) afternoon visit with some in-laws (play). But interestingly the 2 play examples are somewhat work-related as we talked tech (my brother-in-law has a tech startup and I was a beta tester). Add to this the daily stream of emails, of which I responded to the all the simple or time-sensitive ones by days end.

Many companies have policies about what staff can do at work, but do they account for our work & play mix? For instance, wouldn't you rather allow an employee to get some of their personal life done at work (i.e. checking an eBay auction, buying movie tix) and then continue working at their desk rather than them going home? Seems like a no-brainer, yet many company's acceptable use policies say otherwise.

Facebook is a startling example of the mixture of play and work. Most of my facebook friends are business colleagues, we've friended each other to see what its like. But... do my work colleagues really want to know the details of what I did on the weekend? Its right there in my frequent facebook status updates. If I posted that I was sick or frustrated, are they obligated to come find me Monday to see how I am feeling?

This blog is another example. Blogging is not part of my CTO job, yet many of my staff and colleagues read my blog. Is it work or play? It certainly doesn't feel like work, and I do it for enjoyment and self-reflection. But vendors also read my blog to see my views on technology. Which is it?

Workplaces need to start thinking about the intersection of work and play, and how to accommodate employees in this new "always on" world. Google does, and I believe they see huge productivity gains because of it. But there are other simpler ways for companies to support their staff besides chefs and game rooms. First is to acknowledge that the line between work and play is blurry, and then see what happens...

Wednesday, April 2, 2008

Open source is good for IT

I gave a presentation at OSBC (open source business conference) last week. I don't often speak at conferences, but I have been working on an open source strategy for 4 years and believed that presenting that plan might help other CTOs/CIOs in their open source plans. Two bloggers (Matt Asay and Zack Urlocker) reviewed my presentation at http://www.cnet.com/8301-13505_1-9903582-16.html?tag=head and http://weblog.infoworld.com/openresource/archives/2008/03/kaplan_guiding.html?source=rss .

First, Kaplan was not the only company describing their use of open source. Other included CBS interactive, Paypal, Weather Channel interactive, NY times, Electronic Arts, LA times, Christian Science Monitor. In addition, a full 40% of attendees were IT workers, not open source vendors.

In my presentation, I laid out the case for open source, my 3 step plan deploying open source, my experience with vendors and challenges with open source (good summaries on two blogs linked above). I got a myriad of questions from the audience at the end. Our chief architect, Gautam Guliani, was there to answer as well when we were approached privately after general Q&A.

The most difficult question during general Q&A was from Matt Asay, OSBC organizer and also an open source vendor. He asked me the following:- "If an open source platform is stable and my team experienced with it, would I continue to pay annual support fees?". Unfortunately for the vendors, the answer was "no". It truly is a contradiction because if customers don't pay a vendor, they'll go out of business and their products will not be further developed. Frankly, I don't have a better answer. But that said, IMO, open source is a model that is here to stay. Vendors are diving into it and making money, although nowhere near Microsoft's current profit margins.

Open source is good for IT (the customer), period. I believe it is us, IT customers, who are driving open source adoption. In a way, it reminds me of the music industry, and how digital music was driven not by the big music companies, but by consumers.

My question now is:- What are large software companies like Oracle and Microsoft going to do about it?

Friday, March 21, 2008

The wisdom of herds

In evaluating technologies, it can often be a struggle to compare competing products. When done diligently, you will probably use a product comparison matrix with weighted scoring. By the way, allow yourself many weeks to collect and evaluate all of the data. And if other people are involved, then also expect lots of meeting to argue pros and cons. And if you also want to do a test drive, there's more time gone.  And you haven't built a darned thing yet!

There is another way, but unfortunately it is not always available to us. This other way is:- "What do other people choose?". Why spend time evaluating and/or testing a product when others have done it? This was, in fact, a strong arm technique used by IBM sales in the 80s. The argument was "No one ever got fired for choosing IBM". It actually worked, for a while.

Now, I am not suggesting that this is the hard and fast way to pick a technology, what if the technology is too new?. Rather, use the herd test as a primer before you start doing your own analysis. The results will at least tell you something. I recently heard that 99% of non-profit CIOs chose Windows XP over Vista. Now, that tells me a lot!

Finding out what others are doing before you get started on a lengthy evaluation reminds of a technique I learned in Fire fighting school (I am a volunteer fire fighter). When arriving at a fire scene, after getting hoses charged with water and ready, is to gain entry to the premises, often through the front door. We carry heavy tools to do this, usually an axe and a halogan. But before using these powerful tools on the door, try the handle first to see if it opens :-)

Wednesday, March 12, 2008

Search as a utility

We were discussing search at a recent NY CTO club meeting, and a thought occurred to me (as it frequently does in these meetings):- Is search a utility? Meaning, is search a plug-in function and not something to be developed by the tech team.

Every system we build has a search function built into it, usually hand-crafted (proprietary). Why? When I programmed years ago, every system had a screen-writer, which updated the characters and pixels on the screen. But no more, this is now a utility provided by the operating system. It would be crazy to do otherwise. I have plenty of other examples (showing my age!).

So, why isn't search just "available", like google desktop? Why aren't searches in different systems more effective? Why doesn't every search return results in "relevance" order? Why don't some systems have a decent search? Why is search completely different in every system (ever tried MS Outlook search)? Why can't searches be combined across systems?

Search on the internet, whether it be google, youtube, facebook, amazon, ebay, or linkedin, is solved for me, I always find what I need. And I believe the same is true for most consumers. But why not in the enterprise? Seems like a solution waiting to happen....

Tuesday, February 26, 2008

Effective post-mortems

One of my tasks as a CTO is running post-mortem meetings after we have an incident or outage. This is an extremely important step toward making progress in system stability and performance. Teams that don't do post-mortems miss the opportunity to get ahead of system issues.

Post-mortem meetings take some finessing, they can easily turn into a blame-game, or he-said she-said. So let me layout how I run post-mortem meetings, and how that makes them most effective.

First, important rules for post-mortems:-
1) Timely to issue (next day is best)
2) All relevant members present (no meeting if someone is missing)
3) Impartial moderator
4) Empty whiteboard to describe incident/issue
5) There is no blame

It is critically important to have "No blame", as you will make no progress otherwise. You need to acknowledge that everyone is working hard, systems can fail and its nobody's fault, and that openly discussing the issues together is the best road to ultimate resolution and system growth.

Now, even if your team knows "no blame", they will probably still be on edge at the start of the meeting. Its natural, failing systems create pressure. The team may also be avoiding dealing with the issue, hoping it will go away, and you may have to bring them back into it. What I find in post-mortems is that teams try too quickly to get to a solution. Don't let them, instead have them focus on a timeline of events.

I've found that starting the meeting with a chronology of events is extremely effective. I ask the team "what happened", and "when", and make them be exact about the when (i.e. 5:14pm), and I transcribe it all to the whiteboard. We include communications and hand-offs in the timeline, and any other information we collected at the time or gleaned later from system logs. Something about the focus on an exact time-line gets everyone to focus as a team. Maybe its because it turns us into detectives examining someone elses problem, not ours (if anyone has a better theory as to why, let me know).

After an hour, we usually have a list of immediate, medium, and long-term actions to take to remedy the issue. From that, the candidate cause/solution usually stands out, and we make sure we have alternate solutions should our candidate be wrong. These are captured on the whiteboard, and we make sure have both mitigations and solutions (making a problem go away is sometimes as good as fixing it).

Friday, February 15, 2008

Email wrong-number

Sometimes technology can have significant and unintended cultural impacts. Email in its infancy was a minefield, in that we never realized it was an inappropriate (and one-sided) tool for expressing emotions. It took us a while, but we finally taught ourselves to reread and pause before hitting the send button. In Japanese, there is a word for "unsay" to take something back, but alas not in English, nor is there a reliable unsend in email.

I've been using a Blackberry for phone and email for a while, and I've noticed an interesting phenomenon. I will call it the "Friendly wrong number". I meant to call Wendy A, but instead called Wendy B, since I dialed from my email address book and they were adjacent. "Hi, Wendy?" "Yes, who's this?" "Its Jon" "Jon? Oh, we haven't spoken for a few years, You still working at...?". Damn, wrong Wendy. But here's the kicker. I know Wendy and can't just say sorry, wrong number. This could get dicey if your boss is "Jamie B", and your best buddy is "Jamie C".

A variation is the call-back from someone you just spoke to, but by mistake. Some new phone feature must be causing that, I am guessing. Another variation is in email, the dreaded auto-fill feature in Outlook.

This makes me wonder what unintended future impacts technology will have. Many of my LinkedIn contacts have photos, and it won't be long before they also show on phone and email messages on my Blackberry. Will the prevalence of GPS maps make us lose our orientation, and we'll need to carry compasses with us where ever we go (Compass, what's a compass?). I guess we'll find out.

Wednesday, February 13, 2008

Worthless processes

When reviewing a write-up or new process/project proposal, a filter that I will apply is "Does this make a difference?".

Let's say one of your team was asked to write up a plan for "managing execution risk", and they wrote a document describing a process for doing this. After you read the document, you decide that while it all makes logical sense, it really will not make a difference. For example, tracking how many lines of code are written each day makes no difference. Who cares? Its business outcomes that matter.

As a CTO, it is your job recognize tasks that don't make a difference, and tell your team that they can stop doing. If something is worthless, say so. Or go one step further, and ask your team to tell you tasks they believe are not useful or optimal. Think of it as spring cleaning. Some tasks are not negiotable and are in fact important for compliance reasons (ie Sarbanes Oxley). But if its internal driven, reexamine it. Our teams are so busy, they'll appreciate the time savings.

So, what processes/tasks are your team doing that you can throw away?

Thursday, January 17, 2008

Birds of a Feather

One of my most rewarding experiences is spending time with other CTOs. Who else knows what its like to do what you do? Nothing like hanging out over chinese food and a few beers with like-minded colleagues that I trust.

Earlier in my career, I felt competitive with my peers, both at work and outside. I felt that it was an "either/or" proposition, either I succeeded/got promoted, or they did. I was comparing myself to them. Eventually I realized that my success (and others) was independent of anyone else. If I was successful, I would be rewarded, regardless of anyone else.

Now I am realizing that younger technology managers I've watched over the years are joining our peer network, and its great to see them advancing as I did. It's such a pleasure to have them as peers, and to see them grow into their leadership roles.

One thing I always experience from peers is "have you thought about...". Its great because (1) I trust and respect their views and, (2) it challenges my thinking on something I hadn't considered. Reminds me of my high school days with a great teacher when I would have a break-through epiphany on a complex concept. There is always something to be learned from your peers.