Tuesday, August 12, 2008
CIO.com recently did an interview with Linus Torvalds and the rules he lays out for quality code development are very good. It goes well with my theory of each development team needing a Benevolent Dictator role.
Some time ago I was forwarded a great article on Innovation as it relates to Open Source. Several of the key observations were saved for the last page. I thought it would have been good to draw some suggested next steps so I thought I took a crack at it and the items below are the result.
The article by itself has a good deal of value. But for complete understanding you probably need to have the previous context (inferred from the article is probably sufficient for basic understanding) of The Cathedral and the Bazaar. Wikipedia has a good simple summary of the paper. At it's simplest though it is a paper written by Eric Raymond about how "given enough eyeballs, all bugs are shallow." This means that it becomes easier to drill to quality because more people with disparate backgrounds means better test coverage and bug finding. (And a lot more but that's not what this post is about.)
My actual observations from the Strategy and Business article: I have historically referred to the needed role to make any product development work, whether Bazaar or Cathedral, as the Benevolent Dictator role. It is someone with the vision and strength of personality to push or pull those around them into a unified functional reality of a product. Without that role you get a lack of direction and vision and problems ensue. We have seen this need prove out over and over with the hardening work that we have done. Those teams that had a Benevolent Dictator that laid down tenets for development, surrounded themselves with a “Wizard Enclave” of smart folks for enforcement and saw it through generally had much better systems. This showed in test coverage, uptime, ability to adapt and change and many other areas.
I am a big fan of Open Source developed products and have been for some time. It has certainly proven to be the case that those that are successful have this Wizard/Leader/Benevolent Dictator that surrounds themselves with the Wizards that get there via meritocracy. From this “Brain” squad comes unification and initial innovation. Ongoing innovation can be pulled from the Chaos of the Crowd but to become real will need to be driven by the Benevolent Dictator.
When it comes to our own efforts, Internal Open Source and Product Development need to be set up with this type of role and if we can’t identify someone to fill this role then we can’t honestly expect to move that product forward.
Friday, May 30, 2008
I read a post from Harvard Business recently that was so head spinning I have to share. I have subscribed to the HBR Ideacasts (easy to add to your iPod via iTunes) for a while and listen to them on my commute to work. They are both insightful and quick and easy to understand. I have access to their published components through work and the electronic lead ins provide a great way to focus on the stuff that actually matters.
An example of that is a post titled Why Zappos Pays New Employees to Quit - And You Should To. The idea of giving people a $1000 bonus to quit sounds absolutely insane when you first look at the surface of it. Especially when you consider the high cost of talent acquisition, nut then when you think a little deeper it starts to make sense.
The people who would take such a bonus and leave are people who are asking themselves the question of "what have I gotten myself into". They may be thinking, "this is all well and good but is this really for me?" In most situations when you start a new job you are so focused on pleasing everyone you hardly stop to think if the fit you thought was there really is. As an employer you are also focused on trying to make sure someone fits and gets all the opportunity to succeed they may need. The perception of someone leaving is so very negative that no one wants it.
By taking this approach Zappos short circuits all of those negative items. It becomes not just ok, but encouraged to consider your fit. It becomes not anathema but perfectly acceptable to call it quits when there is not a fit.
It may not be something that every company goes out and does right away (or potentially even should ever do) but I certainly applaud the Zappos team for thinking differently and realizing how to get to their real goal of excellent customer service with fanatical employees.
Brilliant.
Friday, May 16, 2008
Data is no longer relational
Ok, so the headline may be a little of an over statement for effect. Perhaps I could have said that data that people are interested in is no longer relational but then it wouldn't have been nearly so pithy.
With much respect to Edgar Codd and his invention of the relational model for database storage I think it is time to move forward. Relational databases are great for things like financial models, personnel data and other Enterprise Systems as well as many other standard, repetitive data. It gave a solid reference point to learn data structures and modeling to several generations of budding Computer Scientists.
When I say it is time to move forward I am not saying we should immediately move all data systems to Object Oriented Databases or otherwise induce data chaos. What I do want to push is the idea of unstructured data. Computers are great with rules, with structure and with fundamentally binary relationships. Algorithms are starting to mature around unstructured data (for an example go search google.) but it is still not widespread or well understood.
New exciting algorithms such as Amazon's Dynamo (Werner Vogels is one of my favorite speakers and bloggers on distributed tech, if you are not familiar with him in this space you should be) database are showing in real world situations that distributed systems and distributed data are a reality.
In a lot of system designs because people are so familiar with relational data structures and systems we find Object Models that look like a relational database design. When asked why it looks like this the answers are fairly consistently things like "this is how the database stores it, for speed we need to do the same" or "it just made sense when we pulled the DBA in to help us with the model."
Objects are not relational! They are objects. Then when you get into full structures of objects or object trees there are relationships but it is not the same as a relational database. Especially as we start to build and mature distributed system algorithms it doesn't make sense to use a centralized data store. If the data can be broken up, distributed and stored with the algorithms that will use it performance will improve.
In fact I would argue that the elusive SLA of a system response can begin to be discussed if we can tie the data to the processing. Granted there are new complexities in this model for synchronization, segmentation and consistency but there are ways to solve them. Similarly consistent access to the same servers is also possible.
What other great examples of distributed computing and distributed data storage have you seen?
Thursday, May 15, 2008
A time management observation
Have you ever noticed how critical decision meetings have a tendency to be scheduled at the end of the day? I have noticed this as a trend recently in several of the streams that I am working on.
My first thought was that this was due to the need to work through the day to get the information together in preparation for that meeting. Anecdotally (meaning stuff I have seen, done or messed up myself but may not be statistically significant to the world at large) this seems to be the case in 20-40% of the high criticality meetings that get scheduled. This leaves a gap of 60-80% that could happen at other times in the day.
At the end of the day you are tired. At least (anecdotally) I am since the day has been spent making decisions, digging into problems and hopefully doing real work. So my next thought was why do we push these important meetings to late in the day if we are actually going to be less well equipped to handle them?
The answer (or at least my version of it) came to me as I thought about the tasks list and task list management that I do. Each day I follow the process below.
- Review a list of tasks. I assign each one an A, B, or C. This roughly amounts to A - MUST DO, B - Good to do, C - No chance I am getting to this, I could schedule it forward now but then that would take time from getting to the A and B stuff.
- Assign a number to each task starting at 1 for each letter category. (Yes, I never even bother with C)
Now when I do this I can say A1 is more important and I should work on it first. Great! Only my human nature kicks in (chances are if you are reading this you have one of those as well. We tend to keep them in closets and they can get dusty but they do peak out at the worst of times) and suddenly I find myself drifting down the list to item A4 or (say it isn't so) a B1... because it's easier. My little human nature side lives for that little endorphin rush of the check mark so... hmmm... off I go.
With meetings I think we do the same thing. We schedule some simple meetings up front. Easy discussions, standing team meetings etc etc. Then we postpone some of those really important, hard meetings and conversations to later in the day.
So I am going to try to move my important meetings earlier. When I find myself setting up one of these meetings I will catch myself and ask the question "would this be better in the AM? Or now?"
Am I nuts? Is this just how business is supposed to work? Have you seen this? In a global economy with companies getting more global in audience as well as employee base these types of behaviors become not only self-pain inflicting but they don't even make sense given global time zones and the fact that the sunlight moves.
Wednesday, February 27, 2008
The creation of something new is not accomplished by the intellect but by the play instinct acting from inner necessity. The creative mind plays with the objects it loves.I ran into this quote today and thought that it was simply excellent. When the "zone" hits and you are creating anything new, be it a program, a system, art, music or a new business model it feels like playing. When you watch someone who is really good at it, they almost seem to be having too much fun... it can't possibly be work that way right? I have always found so much enjoyment in these types of activities myself that to describe it as anything else is pretense. When your brain is in the right state, you are relaxed, the deep parts of your mind, where the real horsepower is, can bubble up thoughts and put things together that your conscious mind simply can't.
- Carl Jung
This phenomena was described to me recently as operating with the power in the frontal cortex (the default conscious section) is roughly equivalent to using the change in your pocket. When you are in "the zone" and your deeper mind is able to work it is more like the national product of the United States of America. That's one heck of a difference.
If you never play with your inner child they atrophy. Or potentially worse, get bored and go off in random directions. Kind of like any muscle in your body when you don't use it your mind gets tired too and you can't be as readily be creative... plus personally I think it just makes you prematurely old. If you ever want a dose of reality on your brain aging check out the Brain Age
The moral of this post... play every day.
Friday, February 22, 2008
There few things in technology that really get me hopping excited any more but every now and then something pops into the tech stream that makes me happy. Today is a happy moment for me.
Input devices and Human Computer Interface design though not something that is part of my core job or direct areas of research has always been one of those items that I have had a lot of interest in. I blame a particularly engaging professor I had in college that did research in this area that helped open my eyes to how silly things are today.
For example, we still use the QWERTY keyboard layout, a model that was built to slow down typing... yes really. On typewriters it was built so that the hammers would hang up less often because commonly used letters were farther apart and people would be slower thus causing less hits. If you are old enough or lucky enough to have had the experience of a typewriter that hung you will understand why this was a good idea at the time. Now critical mass is there and the world is unlikely to change. Just try and tell a Gen-Xer that can type 100+ words per minute on a QWERTY that you are going to change the layout. Of course now Gen-Y is used to a phone and small device without the need for a keyboard at all.
Apple has filed for a patent on a new generation of input device that is focused on touch, write and multi-touch. For more info check out the Apple Insider post for great detail from the patents themselves. One of my favorite features/ideas from the iPhone has always been the multi-touch. In fact part of the reason I expect to be getting an Apple laptop now is that they are adding that ability to those as well.
While we still have not achieved a DNI (Direct Neural Interface) jack yet so all we have to do is think it's only a matter of time. By the way... that really is happening. Controlling your computer with the power of thought is currently focused on assistance for the physically disabled. You don't need to be a dreamer though to realize that the downstream implications are simply fascinating.
Monday, February 04, 2008
It has been in the rumor mill for a while now that Microsoft was seeking to buy Yahoo. When there is sufficient smoke there seems to be fire and now the deal is officially proceeding. There are reasons for it and reasons against it. Apparently Live has not pulled in the traction that Microsoft wants and the desire for ad revenue and internet traffic control as a business model is
Google brings up some interesting points on the combination having more webmail and portal traffic than anyone else and Microsofts track record of following the path of Embrace, Extend, Exterminate when it comes to competition. But that input from a competitor is unlikely to bring about any sort of block of the deal. In fact some reports are even suggesting that the deal could be good for competition.
I am not 100% decided on the deal and it's positive or negative effects. Microsoft has a long record of proven execution and when they really set their eyes on something they can make it happen. There is a wide range of incredibly bright people there that when unified to a cause can deliver. The big change that I see though is in release management. Microsoft has a history of classical software development with releases taking years and subsequent patches taking months. In the internet world, and Google is a great example of this, change is constant, the ability to roll out new versions and try new approaches every week is key to success. This will be a big change from the default Microsoft dev approach. Will this Agile development change cross over into Microsoft's standard products? Another one of those much discussed items, SAAS Software As A Service suddenly becomes a lot more of a potential reality. To me this is the real reason for the desired purchase. Ads and Eyeballs are great to monetize and transform what Microsoft has done for a long time.
No matter what finally happens, this aught to be fun to watch.
Saturday, February 02, 2008
I have long been interested in how the brain works and why we do some of the bizarre things that we do. Add my interest in innovation and viola there is a fun intersection.
Individuals as well as companies have problems spotting, let alone executing innovations. In many cases the innovations seem obvious in retrospect causing people to think "well why didn't ABC co do that? They must be idiots." The truth is that spotting something outside of our current focus is not anything that we are wired to do. In fact we are wired to do the opposite.
For a few cool examples of this check out these YouTube videos. (Normally I would do an embed for your convenience but these are not available for some reason so go check them out.)
- Change Blindness; you cannot be aware of everything
- Mind's Eye; the Brain relies constantly on Visual Memories
The first step is to be aware of what you are focusing on. The next is to allow yourself time to wander, or in many cases allot yourself time to wander. This doesn't mean daydreaming (remember, vision without execution is daydreaming) but it does mean looking at things outside of the immediate and allotting effort and brain cycles to it occasionally. Probably not at the same rate as your real focus but without carving out at least some you quickly find that your immediate focus is all you have time for.
Wednesday, January 30, 2008
Have you ever watched on tv or listened on the radio to one of the spots on Stupid Criminals? The premise is those criminals that get caught because the things they do are just plain dumb. For example, here in Texas a man convicted of robbery worked out a deal to pay $9600 in damages rather than serve a prison sentence. For payment, he provided the court a check... a forged check. He got 10 years. If you have time... do an internet search... and laugh.
A research paper pubished in 1999 is very relevant to this topic and I thought I would share. The postulation of the paper is that in cases where one is ignorant, that same ignorance keeps you from realizing your ignorance. The graphs in the paper are very telling regarding people's regard of their own abilities. Even after tests were administered people still felt they were in the quadrants that they were not.
So... why is this relevant in a technically focused blog? I bring this up because if you consider the rate at which technology moves it requires a near constant diligence and research to stay current. So far Moore's law that processor speeds will double and halve in cost every 24 months has tracked fairly close. Software architectures seem to have an average lifespan of 2-4 years. As processors get quicker more and more levels of abstraction are able to be added and new algorithms are enabled. Bill Gates has often been attributed with saying "640k aught to be enough for anybody"? (He denies having actually said that BTW) Now we have services that handle thousands of transactions per second with message payloads of well over 10x that.
The meaning in all of this is that work in technology needs to be one of constant improvement. Both in ourselves as well as our systems. We need to be constantly learning, innovating and expanding. We can't let ourselves individually or as a company become complacent and be ignorant of the fact that we are ignorant. We need to be blissful because we love what we are doing and are growing as part of something larger than ourselves... not because ignorance is bliss.
Assume that your skills need to be refreshed every two years... and act accordingly.
Saturday, January 12, 2008
Everything keeps getting smaller and smaller. A few years ago people wrote off the "crazy people" who started to say that eventually everything would have an IP Address. Well now it seems like EVERYTHING has an IP and certainly everything hits a network somewhere. The internet may not quite be ubiquitous but things get closer and closer every year.
While a personal network used to be the network that you ran at home. Originally for the geeks among us (yes, I have had a network in my house for YEARS), then wireless (as before, first with manual configurations but now available through every retailer under the sun with easy push button setup). Well now it seems like technologies such as Bluetooth and other personal networking technologies have people running their own networks in human form without even thinking about it.
Bluetooth on phones and laptops has been around now long enough that even my mom (well, ok maybe not my mom as she chooses to believe cell phones are evil and voice mail even worse but most moms) can turn on a bluetooth headset and wirelessly interconnect. As other devices hit the market (Watch Gizmodo for a few weeks and be amazed) these personal networks will get larger and more populated. Especially as Apple gets more and more into the general consumer personal device business (this upcoming week's Macworld will be great to watch for just this reason, last year brought us the iPhone... who knows about this year) these things will get even more ubiquitous.
What a great time to be a techie.
Tuesday, January 08, 2008
Having something of a sick interest in the meaning of words, origin of words and their use had me wondering this morning where the word Egghead came from and what the history of it's use would be.
Turning to the Internet source of all random knowledge: Wikipedia, I asked. Egghead has origins starting in the 1950s and is a slang anti-intellectual epithet directed at people considered to be out of touch with reality due to their own intellectual interests. What fun.
It was even used by Richard Nixon in the 1952 presidential campaign to describe his opponent. So it also has a political connotation to it. No real originating source was quoted. The article also mentions a potential start of the description of an Egg shaped head referring to a Bald head. (something near and dear to my heart) Also no mention of Egghead software who changed to newegg some time ago though apparently now egghead.com goes off to Amazon. Not that this is completely relevant but it's my random chain of thought.
Ain't the Internet cool?
Thursday, January 03, 2008
Do you sleep work?
Have you ever gone to bed wondering how you would solve a difficult problem and dreamt up the answer? Apparently you are not alone. A recent survey found that 51% of those surveyed dreamed about work and nearly 70% of those put those dreams into action.
I have always slept with a notebook and pen on my night stand so that I could write down what I thought up while not sleeping or dreamed about. It is interesting to me how many people apparently do the same.
This is of even more interest when you think about it in terms of the "work 40 hours" credo in Extreme Programming. (Really more of a manage your spikes in hours and avoid death marches but I digress). The core of the reason behind that is if you are well rested and fresh you do your best thinking and are best equipped to handle what gets thrown at you.
So next time you have a tricky problem to work out, think about it before bed, write it down as a checklist to complete (leave it on the paper so you can actually sleep) then dream up an answer. (Remember you are still limited by the fact that you won't sprout wings extra heads or anything along those lines so it is likely best to discard those dreams... in fact probably best not to talk about them either.)
Wednesday, December 12, 2007
Having forgotten my phone today and not having constant access to email made me remember an article I ran into and had to share. Several key things contribute to burn out but one of the major ones of today's business world is email. So here is a fun little exercise.
- Think about the number of emails that you receive in a day...
- Now think about your average response time to those emails...
- Now think about how many of those emails are really critical, high value things that need immediate responses...
Scary isn't it? Recent findings even shown how the level of access provided by things like Blackberry's and other email devices actually make you dumber by as much as 10 IQ points with close to drug addiction levels.
To address this immediate brain drain one of the things suggested is to set aside specific times to answer emails. Don't let your email be a task list. There are emails that are urgent and there are ones that can wait. Prioritize.
Friday, October 12, 2007
Friday Link Day
Oracle offers to buy BEA for $6.66 billion. Outside of the immediate 666 references to evil this does have several interesting implications to the software world. It has been no secret that Oracle has been trying to buy RedHat and JBoss and this puts yet another point of pressure in that series of events and the two worlds of Open Source software versus Corporate Sold software.
Airlines agree on check-in by cell phone. The headline alone on this one caught my attention. There are many implications to this possibility. I have long been jealous of the fact that non-US based cell technology is farther ahead and this is yet another item that will drive the laggard gap.
And last links but not least links, here are a few fun links that were shared with me from my JanaRSS feed. Google Smackdown, a query tool to see which phrase or words appears more across the web. Soople - an easy expert search, with a collection of tools in easy format also built on Google tech.
Yay Friday!
Wednesday, October 03, 2007
You wouldn't move without a destination for your stuff...
Consider this story. You gets a transfer to a new city. It's a great opportunity, great job, benefits and salary. The new company offers you a relocation package where they will help you with housing, selling your current home and everything. It all just falls into place, your home sells in short order and you are ready to go. You pack up all of your belongings to move out to your new city. Couches, Televisions, Cars, Toys etc. Everything is picked up by the movers put into the 18 wheeler with care and zooms off down the road. You get on a plane and head to your new city, ready to get on with your life. You land and are ready to head to your new home and realize you don't have one. You never set anything up. No new home purchased, no apartment, nothing. Oops. Your belongings have no where to go. You call your company and tell them they need to get you a house and... what do you know... they just laugh.
Ok... so this story is a little strange and something you are probably thinking "I wouldn't do that. What kind of idiot would pack everything, be ready to move and not have a destination?" Not many right...
Actually you would be surprised. While not a house and a couch we get requests all the time for a home for an application. An application that has to be delivered in just two weeks! This is when the inside voice starts to emphatically state "Failure to plan on your part does not constitute and emergency on mine." Of course that is the inside voice and not the outside voice.
What can you do about it? If something is being built, know where it is going to go. Don't just assume, know. Know what the requirements are up front, what the application will run in, on and through. It seems obvious that you would want a planned home for a product but when you get busy coding and building those types of things are easy to loose track of or to assume that "someone" is taking care of it.
Tuesday, October 02, 2007
Will there be a claxon when it's time to panic?
When asked what the gist of what we do in Engineering is I generally have to think about it because it differs given different situations. In some cases it's about technology and how it is applied. In some cases it is about ramp up plans and safe rates of growth. In some cases it is about algorithms built for scalability and consistency versus short term function. At the heart of all of these things though is Risk Management.
Risk Management is an art and not a science. If it was easy to tell everything that would go wrong then nothing ever would. So since we don't have perfect information there is a balance that needs to be achieved between safety and progress. We need to look at the risk, its potential cost (PLOP factor) and then weigh all of this with previous experience and make a call to be later judged as a good call or a bad call. Or... if everything does what it is supposed to then it's a decision that just fades into the background.
So when you encounter a risk what do you do with it. It actually boils down into some simple choices. A Cutter article a while ago defined out a basic framework that I wrote on a sticky and refer to now and then as a framework.
- Accept it - It's a risk. It's understood. There is not much you can do about it so move on with life and be prepared if it happens.
- Avoid it - Sometimes a risk when found can simply be avoided. The ones that I think of in this regard are running a volume test in an overlapping time window with a system change.
- Transfer it - This is the get someone else to do it approach. To successfully use this approach the other party needs to be aware that they are getting the risk (no email volleys please). This makes sense when there is someone who is better qualified or has a business to handle the type of thing you are dealing with. It may cost money but mitigates the risk.
- Reduce it - This approach is commonly used when it a risk we have to face and work through, but can't directly transfer it or otherwise avoid it. A good example of this is a ramp up plan that is overly optimistic or doesn't account for transition. We mitigate this risk by reducing it and slowing the ramp down in order to make the problems smaller.
While not my own list I have thought that this provided a nice structured way to think through risks and what you need to do. If nothing else it helps in the acknowledgement that there are risks, even if we do choose to not do anything we need that to be a conscious choice.
Wednesday, August 22, 2007
The PLOP Measurement
For some time I have somewhat tongue in cheek referred to the way that we prioritize work as the PLOP Measurement method. (Patent Pending). In the unending quest to educate and inform here is a quick definition of the PLOP Measurement Method and how you might apply it to your work.

Contrary to what you might initially think PLOP is not just how big of a splash will something make when it falls into the water. PLOP is much deeper than that. PLOP is short for Prioritization by Level Of Pain.
PLOP has gone by many names, methods and approaches for years. Risk Management, Concern Logging, Caveat List and many more have been used. What they all boil down to though is exposing and managing efforts with an acceptable level of risk.
With the PLOP method issues are judged and prioritized by their potential to cause pain. Pain can be felt in any of a number of ways:
- business impact
- cost of outage
- size of effort
- number of systems touched
- likelihood of customer impact
- potential severity level
- inconvenience of time for roll out (tell me you don't look at something that needs to be released in the middle of the night as higher risk than something that can go in during the day)
Some might dismiss this as a subjective measure and make accusations of pessimism and paranoia. While the paranoia point might be correct, I find as a pessimist I am rarely disappointed. It's something that we do whether we acknowledge it or not. It may not be a hard number but that sinking feeling that you get in the pit of your stomach is usually a really good indicator of how bad the PLOP rating should be. The trick is listening to it and taking the right actions rather than slowing everything to a crawl.
Monday, July 30, 2007
Overtime is a productivity killer
This post may not be one of my most popular with PMs around the world but here it is anyway. Overtime, in the long run, does not help a project. When the numbers are run (and boy do productivity numbers get run...) it turns out that work that is done when mapped out with a scatter diagram across many different projects is essentially the same. [See Slack pg 64, it's cheap in paperback and well worth the read] The work that is done is the same per day... not per hour.
Intuitively this may initially seem strange if not outright wrong. How could a team that consistently works 50 or 60 hours a week end up with the same productivity as a team who works 40 hours each week? The answer lies in the long term effects of overtime, not the short term spike in productivity from a controlled burst. Controlled bursts really can be effective, as long as they are just that, controlled bursts.
Overtime itself is not an evil thing. Many are the stories in corporate lore of the team that pulled an all nighter or pushed through that special effort over the course of the last week to deliver everything on time. Good managers, [project managers, people managers, senior individual
contributors] know when to pull the trigger on overtime to push things over the goal line.
The problem comes because this can be addicting. Both to the manager and the individuals. People like being super stars, like the accolades and recognition of being really dedicated. Believing this to be a great success without evidence to the contrary managers become dependent upon the push to get everything done. Rather than pushing back on scope, push on the people. It is an easier road and you don't have to worry about an unhappy customer. At
least not right away...
With pressure comes a bit more focus. That's a good thing right? Sure, when that pressure leads to cutting out unnecessary steps and trimming requirements that are not needed. But when that pressure becomes an unending stress to deliver no matter what, it starts to become noise.
People stay, because they see others staying. People work, because others work. But the real urgency and productivity goes down. Knowing that they will be there working at night, things get put off, people talk in the hallway, time is spent surfing the web, etc. Why not, they will be there later anyway.
There are of course many other costs to too much overtime, but this is just a blog and not a book, so I will give it a rest now that I have you thinking.
Thursday, July 26, 2007
You may be asking if I drank a little too much Green Tea to be comparing Software development to the principles of Tao Teh Ching but please bear with me on this one. Honest, it makes sense. (At least I hope it will after I write it down and it's outside of the world inside my head) First, the basic principles. (there is a lot more in the book as its a compilation of a good deal of Chinese Philosophy)

That which remains, is easy to handle.
That which is not yet developed is easy to manage.
That which is weak is easy to control.
That which is still small is easy to direct.
Deal with little troubles before they become big.
Attend to little problems before they get out of hand.
For the largest tree was once a sprout, the tallest tower started with the first brick, and the longest journey started with the first step.
Just as these wise words say, things are easier to handle early on. Once they get rolling or get bigger though many times there is too much momentum to control it. Just like a small snowball at the top of a mountain can become a massive avalanche so too can a small problem ignored early in development become a costly, potentially project killing problem later in the development cycle.
Releaseing early and often during software development makes sense. By focusing our teams on the first things that really matter we can focus our efforts on the things that make a difference. By focusing on the things that we expect to be hard we can ensure we have enough time to manage the risk associated with them. Identifying things early allows us to adapt our plans and make the best set of decisions.
Wednesday, July 25, 2007
My trip to the post office
I have been asked before where my inspiration for blog posts comes from. Sometimes its from things I read, other times it's from events that I am a part of. As a little window into why I blog what I blog I thought I would share one of my "triggers". A recent trip to the post office caused the trigger for my recent post on Process Engineering. Now... on to my rant.
First, a bit of passport news. The US Government recently decided that no matter where you go you need a passport to travel and come back. Not really that big of a deal other than that it hadn't been a requirement for Mexico or Canada, popular destinations for many people. This (of course to those who actually think) caused a spike in demand for Passports. (I found it hilarious that the website for passports had initially stated that due to unanticipated demand for passports there was a delay in processing. Now corrected to simply state processing times have increased due to high volumes. If you change the law to state everyone needs one... demand will increase. duh.)
I recently went to the post office to get passports for my family and renew mine since it expired this year. For my own there is a nice improved process where you can mail your existing passport, a form and the money required and they will ship it back to you. No lines, no muss, no fuss. (Although the page states you must apply in person or by mail, if you go in they will tell you to mail the form... what a great way to waste an hour in line.) You can also fill out the forms ahead of time to simply hand them in and make it fast.
However... if you do not have a passport here is the current process.
- Go to the post office. There are a limited number of post offices that do this so check first. (This was the least stressful step in the process)
[10 minutes - Post Office is close, easy drive] - Stand in the Passport line. It is important to note that you will need a photo of your head. These can be purchased for cheap at Costco etc or $15 at the post office. (How convenient. Of course photo or not you all stand in the same line.)
[60 minutes - 3 people ahead of my family. 5-7 photos taken, Forms filled out for each person, 1 line, 1 person doing everything] - Talk to the Passport person. One passport handled at a time, stapled Birth Certificate (actual certificate) to form along with check for Passport.
[10 Minutes - 5 minutes per person w/ 2 kids] - Hold up right hand and swear that the form is truthful. (Humans are apparently unable to lie with their right hand up. Practice in the mirror)
[2 Minutes - 1 minute per person w/ 2 kids] - Receive ticket to pay post office for service
[1 minute - Only one ticket for the group, process has been "optimized"] - Stand in Post Office line to pay Passport ticket. This is the same line as people buying stamps, weighing packages and otherwise wishing they were elsewhere. (Most of the articles have long since archived out but if you remember back to early this year some 3700 post offices improved their turn around times on lines by removing the clocks from the walls. Really.)
[2 hours - really it was just 45 minutes but I have a caveat. Based on the rate of line movement for the people who were in the "passport room" ahead of us in the passport line, they waited 2 hours to pay. However, it was nearly closing time and 3 extra people miraculously appeared and chewed through the line so they could go home on time.] - Return proof of payment to the Passport Office. Receipt for payment needed to be shown before the paperwork would be put in the "to be sent" pile. Now, at this point most people are fed up enough that they just walk in the door and show the Passport person the stub and don't wait in the line so I guess you could say this was "efficient".
[5 minutes - Had to wait to get attention for the drop as the Passport person was taking photos]
All totaled this accounts for (10+60+10+2+1+45) 128 minutes of my actual time. Just over 2 hours. Considering that we had everything filled out, ready to hand in and walk away without additional photo time and we had an accellerated exit because the "pay line" wanted to go home this is truly disturbing. The people who were in the Passport office when we got there were there for at least 4 hours. If this was a private entity they would be pushed out of business.
Opportunities for improvement abound.
- Have two lines - One for photos and one for completed forms with pictures. This would have cut out at least 60 minutes.
- Have a machine take the photos with the cost of credit card freeing the person to just deal with forms. If people can't get it right they can do it again.
- Transmit automated digitals taken since the Passport office is printing them anyway just attach that.
- Give People the forms to fill out and they don't get in the line until they are done. This keeps people will filled out forms from waiting for people to remember where their mothers were born.
- Insist on pre-filled forms. They are available on the internet. A terminal could be set up for filling out and printing.
- Pay in one place. Let the Passport office collect all of the fees. This would cut out at least half of the time for most requestors.
If these suggestions were put in place my 2 hour passport ordeal would have been a 5 to 10 minute paperwork drop. I would have nice things to say about the easy nature of the excessive instead of wanting to post about Process Engineering and needs for improvements.
RANT DONE.