<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8739423435110580880</id><updated>2011-07-07T21:10:18.395-05:00</updated><category term='printing press'/><category term='software installation'/><category term='case study'/><category term='Nomad'/><category term='market share'/><category term='web-based applications'/><category term='Novell'/><category term='DIY'/><category term='HowTo'/><category term='strategy'/><category term='Cisco'/><category term='pretty'/><category term='methodology'/><category term='average'/><category term='open source'/><category term='Apple'/><category term='glass house'/><category term='time management'/><category term='TIVO'/><category term='war'/><category term='analogy'/><category term='six sigma'/><category term='250 - 500 words'/><category term='disco'/><category term='laundry'/><category term='current events'/><category term='iPod'/><category term='Scott Berkun'/><category term='trevor blackwell'/><category term='dave christiansen'/><category term='performance'/><category term='Apache'/><category term='750 - 1000 words'/><category term='advice'/><category term='HGTV'/><category term='PDF'/><category term='confidence'/><category term='security'/><category term='paintshop'/><category term='GPL'/><category term='WordStar'/><category term='Seth Godin'/><category term='Firefox'/><category term='iPhone'/><category term='estimates'/><category term='joel spolsky'/><category term='interviewing'/><category term='negotiation'/><category term='netscape'/><category term='MPAA'/><category term='marketing'/><category term='1000 or more words'/><category term='design'/><category term='niche'/><category term='testing'/><category term='specifications'/><category term='Ogg Vorbis'/><category term='.NET'/><category term='test approach'/><category term='other authors'/><category term='Microsoft'/><category term='irony'/><category term='Napster'/><category term='trademark'/><category term='piracy'/><category term='advertising'/><category term='OSS'/><category term='Politics'/><category term='Luddite'/><category term='sleep'/><category term='Infoworld'/><category term='archive'/><category term='250 words or less'/><category term='agile'/><category term='user interface'/><category term='internet'/><category term='stylesheets'/><category term='lawsuit'/><category term='learning'/><category term='budget'/><category term='recycling'/><category term='RIAA'/><category term='process'/><category term='photoshop'/><category term='troll'/><category term='programming'/><category term='FSF'/><category term='deployment'/><category term='newspaper'/><category term='Dirac'/><category term='Geek Squad'/><category term='corporate policies'/><category term='principles'/><category term='PowerPoint'/><category term='desktop applications'/><category term='Google'/><category term='500 - 750 words'/><category term='Netcraft'/><category term='PHP'/><category term='corel'/><category term='good questions'/><category term='paul graham'/><category term='copyright'/><category term='criticism'/><category term='Linux'/><category term='obsolescence'/><category term='career'/><category term='project management'/><category term='management'/><category term='MS Word'/><title type='text'>Drew Kime</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-5888763527501657078</id><published>2009-09-08T21:04:00.001-05:00</published><updated>2009-09-08T21:06:27.017-05:00</updated><title type='text'>Teenagers vs. The Internet: Teens Win</title><content type='html'>Today I was talking to a friend who has a teenage daughter. One night a month or so ago, she was babysitting and brought along her new phone. Which mom and dad are paying for. Since IM worked, she assumed it was free. I'm sure you see where this is going.&lt;br /&gt;&lt;br /&gt;A one-day $900+ phone bill later, they had a talk with her about her IM-ing habits. I recalled the discussions I'd seen about a teen racking up 14k messages in a single month, and people claiming to have seen twice that.&lt;br /&gt;&lt;br /&gt;The math is just astounding, until you realize how they're doing it: Every kid has a contact group of all their friends, and every IM goes to all of them. They've built their own follow lists, and are tweeting constantly.&lt;br /&gt;&lt;br /&gt;In other words, teenagers have already routed around Twitter and created a distributed system to solve this use case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-5888763527501657078?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/5888763527501657078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=5888763527501657078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5888763527501657078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5888763527501657078'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2009/09/teenagers-vs-internet-teens-win.html' title='Teenagers vs. The Internet: Teens Win'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-4364586365347536488</id><published>2009-08-18T15:09:00.005-05:00</published><updated>2009-09-08T21:08:19.377-05:00</updated><title type='text'>Do you love your customers?</title><content type='html'>Forget the money for a second. They're all broke, just divorced or downsized, moved back in with Mom and Dad. But you get up each morning looking forward to seeing them, talking to them, spending time with them.&lt;br /&gt;&lt;br /&gt;Oh, and selling them stuff. Stuff that you &lt;em&gt;know&lt;/em&gt; they're going to totally dig, because &lt;em&gt;you&lt;/em&gt; totally dig it. And they love you right back for selling it to them.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Who wants to be &lt;em&gt;that&lt;/em&gt; guy?&lt;/h3&gt;&lt;p&gt;But you're not. "That guy" -- the sleazeball that's always pimping the latest multi-level marketing crap at parties -- doesn't really love his customers. He loves their money.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;You&lt;/em&gt; love them for what they are. You're one of them. Except that you're good at something most of them aren't. Maybe you write music. Or you're a painter. Or you're just really good at finding great new restaurants. So you do it for them.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;"Do what you love ... yadda yadda ... heard it all before."&lt;/h3&gt;&lt;p&gt;Close, but not quite. Maybe you heard it from &lt;a target="_NEW" href="http://www.copyblogger.com/writers-block/"&gt;Seth&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;Do what you love and don’t worry about the consequences.&lt;/blockquote&gt;&lt;p&gt;Or you saw the Venn diagram everyone uses to tell you what to do with your life:&lt;/p&gt;&lt;br /&gt;&lt;a target="_NEW" href="http://whatconsumesme.com/2009/what-im-writing/how-to-be-happy-in-business-venn-diagram/"&gt;&lt;img src="http://farm3.static.flickr.com/2482/3592960452_90656305a7.jpg" width="410"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;But maybe you also heard that you have to always &lt;a target="_NEW" href="http://www.copyblogger.com/blogging-writing-guide/"&gt;put the reader first&lt;/a&gt;. To start from what your customers need and &lt;a target="_NEW" href="http://remarkablogger.com/2008/08/25/how-to-begin-blogging-when-you-dont-know-where-to-start/"&gt;give it to them&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But all of this advice is missing something important.&lt;br /&gt;&lt;br /&gt;Who are your customers?&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Who do you want to spend your day with?&lt;/h3&gt;&lt;p&gt;If you love building and painting choppers, you'll probably spend lots of time with bikers. You like grooming Pomeranians? You'll be with little old ladies and gay men.&lt;br /&gt;&lt;br /&gt;Is that who you want to spend your day with? &lt;em&gt;Every&lt;/em&gt; day?&lt;br /&gt;&lt;br /&gt;Because once you've picked your &lt;a target="_NEW" href="http://remarkablogger.com/2009/04/02/how-to-decide-what-blog-about-many-interests/"&gt;niche&lt;/a&gt;, once you've picked &lt;a target="_NEW" href="http://ittybiz.com/9-steps-to-rockstar-marketing/"&gt;who you're going to follow&lt;/a&gt;, that's who you're going to spend your working life with.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Pick them on purpose&lt;/h3&gt;&lt;p&gt;Contrary to every other piece of advice I've seen on this, I'm telling you to pick your customers first. Don't start from &lt;em&gt;your&lt;/em&gt; interests and look for a market. And definitely don't pick a market &lt;em&gt;just&lt;/em&gt; because it's a market.&lt;br /&gt;&lt;br /&gt;Look for people you like. People you're willing to spend time with. Lots of time. &lt;em&gt;Too much&lt;/em&gt; time.&lt;br /&gt;&lt;br /&gt;If you don't love spending time with these people, it'll show. You may get by for a while, finding the intersection between what they want and what you want to give.&lt;br /&gt;&lt;br /&gt;But if you love them, you'll be willing to follow them where they want to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-4364586365347536488?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/4364586365347536488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=4364586365347536488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4364586365347536488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4364586365347536488'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2009/08/do-you-love-your-customers.html' title='Do you love your customers?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2482/3592960452_90656305a7_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7980690960387843874</id><published>2009-03-03T12:30:00.002-05:00</published><updated>2009-03-03T13:25:17.535-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='750 - 1000 words'/><category scheme='http://www.blogger.com/atom/ns#' term='Napster'/><category scheme='http://www.blogger.com/atom/ns#' term='RIAA'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Is Google the general-purpose Napster?</title><content type='html'>&lt;p&gt;Napster has become an icon in the war between entertainment industry giants on one side; and fans, legal activists and computer programmers on the other. The Recording Industry Association of America (RIAA) technically "won" that battle, but they seem to be losing the ongoing war. And the Motion Picture Association of America (MPAA) is intensely interested in that outcome.&lt;/p&gt;&lt;p&gt;It's hard to discuss the issue though, because there are so many players involved. Because they're actually fighting for or against &lt;em&gt;different things&lt;/em&gt;. And frequently they're using arguments that have more to do with politics than with their actual goals. For instance:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Fans talk about sharing and mix tapes, while admittedly lots of them just like free stuff.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Legal activists talk about first amendment and fourth amendment rights and fair use, but often in the larger context of resisting the corporatization of government.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Computer programmers talk about non-infringing uses of technology and the technical impossibility of implementing certain regulations, while often echoing the legal activist's resistance to corporatization.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The recording industry talks about piracy, theft, and the rights of the artists, while their real concern is control of the marketing and distribution channels.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This last point is the one I want to look at.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;The official position&lt;/h3&gt;&lt;p&gt;The RIAA has long held that any duplication of an audio recording made without the express permission of the copyright holder is, and should be, illegal. This is not technically correct.&lt;/p&gt;&lt;p&gt;There is, at a minimum, the fair use doctrine, which holds that works can be copied and reproduced for the purposes of &lt;a href="http://www.copyright.gov/fls/fl102.html"&gt;comment, news reporting, teaching, scholarship, and research&lt;/a&gt;. So the RIAA is already stretching the truth, although they have been fairly direct in their efforts to limit the scope of fair use and restrict its application, but so far these exemptions exist.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Based on creative accounting&lt;/h3&gt;&lt;p&gt;Have they stretched any other truths? &lt;a target="_NEW" href="http://archive.salon.com/tech/feature/2000/06/14/love/"&gt;Courtney Love&lt;/a&gt; and &lt;a target="_NEW" href="http://www.opendemocracy.net/media-copyrightlaw/article_26.jsp"&gt;Janis Ian&lt;/a&gt; both argue pretty persuasively that protecting the artists is not what this is all about. Even a million-selling album barely makes the artists any money, while various industry segments take all the profit.&lt;/p&gt;&lt;p&gt;But repeated studies, some of which Ian mentioned, have shown that Napster users actually spent &lt;em&gt;more&lt;/em&gt; money on new CDs. So why would the RIAA oppose it? For that you have to look at what music Napster users were buying. It was more likely to be back catalog or from a minor label. And the RIAA is designed to promote blockbuster releases from Top 40 artists.&lt;/p&gt;&lt;p&gt;So killing Napster was really about restricting the number of choices listeners have, and making sure the record labels own all of the remaining choices.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;It's not the music, it's the information&lt;/h3&gt;&lt;p&gt;Seen in this light, it's more clear that the RIAA is not in the music business per se. They are in the marketing and distribution business. And Napster performed both of these functions for free. And did it better than the RIAA could, because it directly reflected the preferences of the users. It's no wonder the RIAA attacked them.&lt;/p&gt;&lt;p&gt;So here is the iconic battle: The status quo industry controls information and access. The upstart provides information from the users, to the users, without industry input. Industry uses legal means to squash the upstart. But the genie is out of the bottle.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Who does information now?&lt;/h3&gt;&lt;p&gt;In the generic terms I just used, you can see echoes of this battle in online search and advertising. Google, through their PageRank algorithm, represents the preferences of their users. Marketers coming from the broadcast model, where money equals attention, claim a lack of "fairness" in the system, saying that the content producers should control how their sites appear in indexes.&lt;/p&gt;&lt;p&gt;The battle is playing out differently this time, for a few key reasons.&lt;/p&gt;&lt;p&gt;First, Google got very big, very fast. By the time traditional marketers realized what was happening Google was already dominant.&lt;/p&gt;&lt;p&gt;Second, traditional marketing was fragmented and highly competitive. They didn't have a single trade group dictating the market the way the RIAA was controlling the bulk of the music industry.&lt;/p&gt;&lt;p&gt;Third, Google had a business model before they came under attack. Which means they had money for legal defense.&lt;/p&gt;&lt;p&gt;Fourth, and possibly most important, Google knew the fight was about information and access. They weren't distracted by arguments about artists and creators.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Which side are you on?&lt;/h3&gt;&lt;p&gt;"You're not promoting the right thing ... Stop listening to what users say they like, I'm the one paying money, &lt;em&gt;I'll&lt;/em&gt; tell you what people should like ... It's not fair, I've spent all this time and money on market research and your system is saying that my product still isn't popular ..."&lt;/p&gt;&lt;p&gt;It sounds like the same arguments the RIAA made. Companies with a vested business interest are unhappy that people don't like their product, and they're trying to shoot the messenger.&lt;/p&gt;&lt;p&gt;Where are you in this fight? Insisting that Google should list you because you paid more? Or analyzing what PageRank says about how people view your content, and giving users what they want?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7980690960387843874?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7980690960387843874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7980690960387843874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7980690960387843874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7980690960387843874'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2009/03/is-google-general-purpose-napster.html' title='Is Google the general-purpose Napster?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7034572980348638190</id><published>2009-01-16T17:38:00.002-05:00</published><updated>2009-01-16T17:42:27.680-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><title type='text'>Have you done all the marketing you can? Are you sure?</title><content type='html'>Has every person in the world who could possibly benefit from your product already bought it? Wait, let's back up to an easier test. Has each one of them even &lt;em&gt;heard&lt;/em&gt; of your product? If not, what have you done &lt;em&gt;today&lt;/em&gt; to make sure that they hear of it?&lt;br /&gt;&lt;br /&gt;Have you identified each potential user of your application? Not just a general description of the type of user, I mean personally identifying information. Do you have their email address? Why not? How do you plan to get it?&lt;br /&gt;&lt;br /&gt;How many people have seen your sales pitch and not bought? What are their email addresses? How many of them would have benefitted from your product? Why didn't they buy it? How do you know?&lt;br /&gt;&lt;br /&gt;What can you change in your sales pitch to convert more of those views into sales? How do you know?&lt;br /&gt;&lt;br /&gt;What can you change in your product to increase the population of people who would benefit? How do you know?&lt;br /&gt;&lt;br /&gt;This isn't black and white, where things either work or they don't. This is the squishy grey area filled with actual people, who may buy (or not buy) for reasons that they don't understand themselves. If you think getting this "right" (think about why I put that in quotes) is faster or easier than building your product, then you don't even know how much you don't know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7034572980348638190?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7034572980348638190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7034572980348638190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7034572980348638190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7034572980348638190'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2009/01/have-you-done-all-marketing-you-can-are.html' title='Have you done all the marketing you can? Are you sure?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2363367356249055430</id><published>2009-01-14T11:56:00.004-05:00</published><updated>2009-01-15T14:16:22.408-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><title type='text'>Naked cynicism</title><content type='html'>Sales is a tricky thing. If you've got a good product that you really believe in, you can make a fortune just by convincing people that you're right.&lt;br /&gt;&lt;br /&gt;But sometimes, it's just a "good" product. Nothing wrong with it, but not so different from lots of others on the market. So why should people by &lt;em&gt;your&lt;/em&gt; product instead of someone else's?&lt;br /&gt;&lt;br /&gt;Good marketing beats good product development every time. Just look at Microsoft. That's what you're competing against. Even with a better product, you have to have better marketing to win. And good marketing is measured by one thing: Is it effective?&lt;br /&gt;&lt;br /&gt;Is there a line between strong advocacy and manipulation? Between creative license and deceit? How long do you have to be in the business before you stop caring, and just go for naked cynicism?&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;That’s why characterizing your prospect as a ruggedly independent thinker — &lt;em&gt;immune to "herd think"&lt;/em&gt; — is a very powerful selling technique indeed.&lt;br /&gt;&lt;br /&gt;If you can position your prospect as a renegade, and your product as a symbol of that individualism, it can form a powerful buying motive.&lt;br /&gt;&lt;br /&gt;Just be sure and let your prospect know there are other people who feel the same way.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/em&gt; Looks like someone agrees. Scion's current ad campaign tagline is "United by Individuality." Okay then.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2363367356249055430?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.makepeacetotalpackage.com/daniel-levis/quirks-of-human-nature.html' title='Naked cynicism'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2363367356249055430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2363367356249055430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2363367356249055430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2363367356249055430'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2009/01/naked-cynicism.html' title='Naked cynicism'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-5246385097329954447</id><published>2009-01-14T09:30:00.004-05:00</published><updated>2009-01-14T12:05:11.649-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='Seth Godin'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='newspaper'/><category scheme='http://www.blogger.com/atom/ns#' term='obsolescence'/><title type='text'>When newspapers are gone, will you miss newsstands?</title><content type='html'>Marketing guru Seth Godin asked the question today, "&lt;a href="http://sethgodin.typepad.com/seths_blog/2009/01/when-newspapers.html"&gt;When newspapers are gone, what will you miss?&lt;/a&gt;" Before getting into the various sections and showing how the web covers each of those areas better, he offers this opinion:&lt;br /&gt;&lt;blockquote&gt;Woodpulp, printing presses, typesetting machines, delivery trucks, those stands on the street and the newsstand... I think we're okay without them.&lt;/blockquote&gt;&lt;p&gt;But are we?&lt;br /&gt;&lt;br /&gt;The presses and trucks -- the machinery of creating and delivering the paper -- are transparent to most people. But the newsstand is a user interface. Any UI designer will tell you that the interface influences the type of interaction you have with the underlying system. What type of interaction do you have with a newsstand?&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Newsstand in web terms&lt;/h3&gt;&lt;p&gt;First, the newsstand serves as a "portal" to divergent news sources. It provides a rough snapshot of what the different publishers think is worth reading about today, all in one place. No matter what your interest, you can go to the newsstand and know that it's represented there.&lt;br /&gt;&lt;br /&gt;Then there are the cases where someone discovers an interest while at the newsstand. The user who knows what she is there for, but sees the same screaming headline in 144 pt type on three different papers and decides she wants to see what's happened in the world. Or the user who wants to read &lt;em&gt;something&lt;/em&gt;, but doesn't know what until he browses. This second type of user is very common in airports.&lt;br /&gt;&lt;br /&gt;The newsstand also serves as a feed reader, always showing the most recent issue of periodicals and dailies, with older issues sometimes available behind the counter. Just as there are people who don't know or care about RSS readers, there are people who have been reading magazines for years who don't track when the new issues will be out. They just check the stand every day or so until they see something new they want to read.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Don't make me think&lt;/h3&gt;&lt;p&gt;Both of these functions, the portal and feed reader analogues, are zero maintenance for the users. At most they might ask the proprietor to start carrying a new title. But the mechanics of delivery, storage, display, are all handled for them. With no subscription, no ongoing cost, and the incremental cost entirely under the user's control.&lt;br /&gt;&lt;br /&gt;So Seth is right, we probably won't miss the news&lt;em&gt;papers&lt;/em&gt;. But will we miss the news&lt;em&gt;stands&lt;/em&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-5246385097329954447?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sethgodin.typepad.com/seths_blog/2009/01/when-newspapers.html' title='When newspapers are gone, will you miss newsstands?'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/5246385097329954447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=5246385097329954447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5246385097329954447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5246385097329954447'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2009/01/when-newspapers-are-gone-will-you-miss.html' title='When newspapers are gone, will you miss newsstands?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-5717976391864362603</id><published>2008-09-15T13:59:00.005-05:00</published><updated>2008-09-15T14:33:32.007-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>Being Useful Is Better Than Being Right</title><content type='html'>Being right isn't nearly as important as most IT people think. Understanding why that's true is one of the fastest ways to build trust and respect with the non-IT management in your company.&lt;br /&gt;&lt;br /&gt;Let's try an example where it's better to be useful than to be right.&lt;br /&gt;&lt;br /&gt;Suppose you find out there is a structural problem with your building. It is severe enough that the building could collapse at any moment.&lt;h3&gt;Being Right&lt;/h3&gt;&lt;p&gt;You look up the emergency notification policy in the employee handbook. There's a number to call. You call it and explain the details of what you've discovered. They start asking questions about evidence, as you get frustrated that they're not responding fast enough to this emergency, and why don't they get it?&lt;/p&gt;&lt;h3&gt;Being Useful&lt;/h3&gt;&lt;p&gt;You pull the fire alarm and everyone leaves the building.&lt;/p&gt;&lt;h3&gt;Business Prefers Useful&lt;/h3&gt;&lt;p&gt;Executives like to get things done. They got where they are by being good at getting what they want. The respect and respond to that trait in others.&lt;br /&gt;&lt;br /&gt;So if you want to be recognized as someone who can get things done, you need to actually &lt;em&gt;get some things done&lt;/em&gt;. If excruciating detail is what it takes to convince someone they should listen to you, then use detail. If a convenient metaphor will make your point more strongly, then use one. Of course it will gloss over important details, that's why we use metaphors. They simplify reality in a (hopefully) useful way.&lt;br /&gt;&lt;br /&gt;Find a good balance betwee rightness and usefulness, and you will take control of your career like you never imagined you could.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-5717976391864362603?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/5717976391864362603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=5717976391864362603' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5717976391864362603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5717976391864362603'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/09/being-useful-is-better-than-being-right.html' title='Being Useful Is Better Than Being Right'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2150124161502278781</id><published>2008-08-27T11:13:00.001-05:00</published><updated>2008-08-27T11:15:57.471-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='printing press'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><title type='text'>You can't unplug a book</title><content type='html'>&lt;p&gt;The first printing presses were used to print bibles. And porn. That's not a value judgement, just an observation.&lt;/p&gt;&lt;p&gt;The internet was first used to distribute scientific and academic papers. And porn. It seems man hasn't changed much in the last few centuries.&lt;/p&gt;&lt;p&gt;The printing press and the internet share some other features. Like the impact they had on society: education, communication, freedom. Plenty of people have written about the similarities. Some have written about the differences. But I haven't seen much conversation about one important difference: Books can't be turned off.&lt;/p&gt;&lt;p&gt;Why this matters is that writing is something that can be entirely learned by each person who uses it. There is no risk of being unable to use the technology.&lt;/p&gt;&lt;p&gt;I’ll grant that large-scale printing presses are far beyond the reach of individuals, and even whole cultures. But the base concept of printing is so simple that it could be easily duplicated, and scaled up by anyone with basic mechanical aptitude.&lt;/p&gt;&lt;p&gt;Computation is a whole different animal. The utility of "pervasive computing" is explicitly the pervasiveness. The smart chip in my credit card is useless without a reader. Or a computerized register to attach the reader to. Or an internet connection between the register and the VISA system. Or … or … or …&lt;/p&gt;&lt;p&gt;Look at any major urban blackout. Commerce comes to a complete standstill within minutes. You can literally turn the technology off, and society grinds to a halt.&lt;/p&gt;&lt;p&gt;If you smash a printing press, everyone who already had a book still has it. If you burn all the books, people still know how to write.&lt;/p&gt;&lt;p&gt;But disable the networks that allow us to engage in commerce, and suddenly the grocery store shelves go empty. And we don’t have local farms any more to fall back on.&lt;/p&gt;&lt;p&gt;I’m not suggesting that we’re &lt;em&gt;likely&lt;/em&gt; to face a protracted breakdown in the current system. But the &lt;em&gt;impact&lt;/em&gt; of such a breakdown is certainly on a new scale.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2150124161502278781?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.kk.org/thetechnium/archives/2008/04/the_machine_tha.php' title='You can&apos;t unplug a book'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2150124161502278781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2150124161502278781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2150124161502278781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2150124161502278781'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/08/you-cant-unplug-book.html' title='You can&apos;t unplug a book'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-175210187628266419</id><published>2008-08-01T08:28:00.004-05:00</published><updated>2008-08-01T09:18:14.801-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='confidence'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='time management'/><title type='text'>Emboldened by Ignorance</title><content type='html'>&lt;p&gt;Fans and followers of &lt;a target="_NEW" href="http://fourhourworkweek"&gt;Tim Ferris&lt;/a&gt; are already familiar with his concept of the &lt;a target="_NEW" href="http://www.fourhourworkweek.com/blog/category/low-information-diet-and-selective-ignorance/"&gt;low information diet and selective ignorance&lt;/a&gt;. The basic idea is that there is so much information in the world, and so much news coverage, that you could spend your life keeping up-to-date and never have time to do anything for yourself. By cutting down on the amount of news you follow, you regain time for yourself.&lt;br /&gt;&lt;br /&gt;But there's another benefit of selective ignorance that might be even more powerful. If you look hard enough, you can find a good (sounding) reason to not try &lt;em&gt;anything&lt;/em&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Don't record a blues album, no one listens to the blues.&lt;/li&gt;&lt;li&gt;Don't travel abroad, terrorists have threatened the airlines again.&lt;/li&gt;&lt;li&gt;Don't self-publish your book, they never sell.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If Brunonia Barry had known what she was doing was impossible, she never would have gotten a seven-figure book deal when she finished. According to &lt;a target="_NEW" href="http://www.npr.org/templates/story/story.php?storyId=92934202"&gt;her husband Gary Ward&lt;/a&gt;, "We were emboldened by our ignorance. We knew just enough to get going, but not enough to stop us."&lt;br /&gt;&lt;br /&gt;He encouraged Brunonia to self-publish her debut novel "Lace Reader". They brought un-bound prints of the book to local book stores and clubs and solicited feedback.&lt;br /&gt;&lt;br /&gt;That just isn't how books are published. Authors submit manuscripts to publishers and wait for an offer. Then the publishers tell the authors when, where and how the book will be marketed. But Ward and Barry didn't know that.&lt;br /&gt;&lt;br /&gt;Had they known how the publishing business works and, more importantly, had they "known" that what they were doing &lt;em&gt;wouldn't&lt;/em&gt; work, there's a good chance no one would have ever heard of "Lace Reader". Instead, reprint rights have been sold in 20 countries and Barry is in discussion for a movie deal.&lt;/p&gt;&lt;h3&gt;Bold doesn't mean stupid&lt;/h3&gt;&lt;p&gt;The danger of ignoring your critics is that sometimes they're right. When Simon Cowell tells someone that &lt;a target="_NEW" href="http://www.youtube.com/watch?v=Y6RZLKN27-g"&gt;they can't sing&lt;/a&gt;, there's a good chance he's right. He's an expert.&lt;br /&gt;&lt;br /&gt;That's not the person you want to ignore. The ones to tune out are the naysayers who tell you, "That can't work. No one does it that way."&lt;br /&gt;&lt;br /&gt;Every great thing was once the new thing that no one did. Until someone ignored the critics and did it anyway.&lt;br /&gt;&lt;br /&gt;So listen to critics. Pay attention when someone has done exactly what you're trying and has valid feedback. But if all they have to say is, "No one does it that way," maybe that means you'll have the field all to yourself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-175210187628266419?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.npr.org/templates/story/story.php?storyId=92934202' title='Emboldened by Ignorance'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/175210187628266419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=175210187628266419' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/175210187628266419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/175210187628266419'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/08/emboldened-by-ignorance.html' title='Emboldened by Ignorance'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3798434361120100626</id><published>2008-06-09T16:11:00.003-05:00</published><updated>2008-10-23T09:37:57.737-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><title type='text'>How To Tell When You're Being Lied To</title><content type='html'>If you've ever watched more than 30 seconds of a late-night infomercial for a real estate selling "system" you've seen some version of the exact same pitch. "Do what I tell you on the tapes and you'll be rich." But the only people making money are the ones selling the tapes. No one ever gets rich actually following the advice on the tapes.&lt;br /&gt;&lt;br /&gt;It doesn't matter what the tapes are about: real estate, home cleaning products, debt consolidation. They're all a scam, because the real money is in &lt;em&gt;selling&lt;/em&gt; the system, not in &lt;em&gt;using&lt;/em&gt; the system.&lt;br /&gt;&lt;br /&gt;The new wrinkle in this is that the scammers have gone "meta". The system they're selling now &lt;em&gt;is&lt;/em&gt; the infomercial. Instead of claiming their system will tell you how to sell real estate, they claim their system will tell you how to make your own infomercial. Which can be about real estate, or it can be about ... well, making more infomercials. And making them on the web. See, it's different!&lt;br /&gt;&lt;br /&gt;You would think that eventually someone has to get something of value out of the whole arrangement. With the real estate scam someone allegedly gets a house out of it. But with the new racket the only thing that ever comes out of it is a "business" of selling more ads.&lt;br /&gt;&lt;br /&gt;If you're too young to know about it, they have a name for this arrangement: Ponzi Scheme. The only people who make money are the people who know that's what they're doing.&lt;br /&gt;&lt;br /&gt;So here's how to tell when you're being lied to. If what you're doing is a Ponzi Scheme, are you the one doing it on purpose? If not, then you're being lied to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3798434361120100626?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3798434361120100626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3798434361120100626' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3798434361120100626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3798434361120100626'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/06/how-to-tell-when-youre-being-lied-to.html' title='How To Tell When You&apos;re Being Lied To'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3290023496449790385</id><published>2008-06-09T13:41:00.005-05:00</published><updated>2008-06-09T14:17:14.179-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><title type='text'>Do You Demand Flowers From Your Staff?</title><content type='html'>What are you supposed to buy for your wife for Valentine's Day? Quick, first thing that pops into your mind ...&lt;br /&gt;&lt;br /&gt;Right: flowers. A dozen long-stemmed red roses. Because decades of consistent marketing has worked its magic on you. You could debate that it should be a box of chocolates, or jewelry, and I'd say that's because those two industries have been advertising just as hard.&lt;br /&gt;&lt;br /&gt;But have you noticed the hidden assumption? That you're "supposed to" buy something at all. No matter how aggressively the flower, candy and jewelry industries market against each other, none of them will ever contradict this fundamental belief: That extravagant purchases are the approved way to demonstrate commitment.&lt;br /&gt;&lt;br /&gt;Most modern American corporations expect you to demonstrate your commitment, too. But instead of flowers the symbol of your commitment is time. Time above and beyond the forty hours you're supposed to work. Time eating at your desk instead of going out to lunch. Time on call via the Blackberry they gave you.&lt;br /&gt;&lt;br /&gt;Doing good, steady work is better for the company. But late-night marathons of work get noticed. If you plan well and execute, you don't &lt;em&gt;need&lt;/em&gt; late nights, but then there's never a clear moment for the boss to look at and say, "&lt;em&gt;That&lt;/em&gt; moment really showed commitment."&lt;br /&gt;&lt;br /&gt;In a perfect world, the boss would take the extra effort to recognize good, steady performance. And that's exactly what it takes: extra effort. Which is why it happens so rarely. Even if you're doing things on time, it seems that sometimes you have to put in the late night to get noticed. Because this &lt;em&gt;isn't&lt;/em&gt; a perfect world.&lt;br /&gt;&lt;br /&gt;But you may be in a position to make the world a little better. If you &lt;em&gt;are&lt;/em&gt; the boss, &lt;em&gt;make the extra effort&lt;/em&gt;. Publicly recognize employees who reach their goals during normal working hours. Make it clear that late nights are a symptom of poor planning. Demand extra work because it needs to be done, not just to show commitment.&lt;br /&gt;&lt;br /&gt;It may be less exciting, and less obvious, but in the long run it's much more productive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3290023496449790385?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3290023496449790385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3290023496449790385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3290023496449790385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3290023496449790385'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/06/do-you-demand-flowers-from-your-staff.html' title='Do You Demand Flowers From Your Staff?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-94835662801973</id><published>2008-06-09T12:50:00.006-05:00</published><updated>2009-06-17T12:03:00.807-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='negotiation'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>How To Stop Turning Down Work</title><content type='html'>It's your sixth birthday and your grandfather has just handed you a ridiculously heavy package the size of a shoebox. You open it up to see that yes, it &lt;em&gt;is&lt;/em&gt; a shoebox. A shoebox full of pennies.&lt;br /&gt;&lt;br /&gt;"I've been dropping all my pennies in there each night since you were born," he says. "I planned to give it to you when it's full, and it's getting close. There's probably more than $200 in there. All you have to do is count them out into stacks of fifty and roll them in those little paper sleeves." This was before the automatic coin counters appeared in grocery stores.&lt;br /&gt;&lt;br /&gt;Your six-year-old mind reels at this windfall. You count and wrap until your hands are cramped. You beg you mother to take you to the bank to turn the pennies into "real money," then straight to the toy store to get Frogger for your Atari. (Any similarities to the author's life are purely coincidental.)&lt;br /&gt;&lt;br /&gt;Flash forward to today. Someone offers you a box of pennies. All you have to do is count them by hand. You might still take it, but it's not going to be such an obvious choice. &lt;em&gt;How long will it take? What could I be doing instead?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Thinking small&lt;/h3&gt;&lt;p&gt;For the mid-career freelancer, this is the calculation that dooms you to punching a clock. You &lt;em&gt;could&lt;/em&gt; build that website for the local restaurant, but they want you to keep it up-to-date with their specials. You're not interested in doing maintenance, and they can't afford to keep paying your development rate. So you don't take the work.&lt;br /&gt;&lt;br /&gt;You just turned down a lucrative contract because you're thinking like an employee. No, you don't have a boss, but you still think that any hour you're not working is an hour you're not getting paid. To break this mindset, you need to start delegating. You need people working for &lt;em&gt;you&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;You're making it as a freelancer because you solve people's problems. When someone wants a site and ongoing support, they have two problems. You can solve the first by building the site, and the second by finding a qualified support person. There are plenty of online resources for finding contract technical workers. Don't make your client go to these sites and try to evaluate people, do it for them.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Thinking big&lt;/h3&gt;&lt;p&gt;Instead of selling a Content Management System that will allow a small business owner to update his own site, offer a one-stop service, where your employees will keep the site updated for a monthly fee. Do this enough times and your "passive income" could exceed your new development work.&lt;br /&gt;&lt;br /&gt;But even if you don't take a cut of the support fees, having the capability means you can bid on a whole new type of contract: the large kind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-94835662801973?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/94835662801973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=94835662801973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/94835662801973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/94835662801973'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/06/how-to-stop-turning-down-work.html' title='How To Stop Turning Down Work'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-6638952121410488792</id><published>2008-06-02T08:34:00.005-05:00</published><updated>2009-06-17T12:04:02.109-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='niche'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><title type='text'>How many Danny DeVitos does the world need?</title><content type='html'>&lt;a target="_NEW" href="http://sethgodin.typepad.com/seths_blog/"&gt;Seth Godin&lt;/a&gt; is absolutely brilliant at questioning the assumptions and "conventional wisdom" that we all rely on when promoting our products or services. He doesn't offer step-by-step recipes "Guaranteed to triple your sales!" In fact he rarely talks about specific numbers at all.&lt;br /&gt;&lt;br /&gt;And if his recent post &lt;a target="_NEW" href="http://sethgodin.typepad.com/seths_blog/2008/05/thinking-about.html"&gt;Thinking about Danny Devito&lt;/a&gt; is representative, then it's a good thing he doesn't. Because he completely missed the point that "a few" is a whole different thing than "one."&lt;br /&gt;&lt;br /&gt;If you haven't read it -- and you really should, it's &lt;a target="_NEW" href="http://sethgodin.typepad.com/seths_blog/2008/05/thinking-about.html"&gt;only 152 words&lt;/a&gt; -- the point is that there are a lot more people competing for the George Clooney-type roles than there are competing for the Danny DeVito-type roles. Seth phrases this pseudo-mathematically:&lt;blockquote&gt;(number of people resembling George Clooney)/(jobs for people resembling George Clooney) is a much bigger number than the ratio available to Danny. For the math challenged: Because everyone in Hollywood is trying to be George, there are a lot more opportunities for the few Dannys willing to show up.&lt;/blockquote&gt;Since his breakout role in Taxi in the early 80s, DeVito has &lt;a target="_NEW" href="http://www.imdb.com/name/nm0000362/"&gt;76 acting credits&lt;/a&gt;. During that time he's also had: 33 producing credits, 13 directing, 6 soundtracks, and 76 appearances as himself. It's fair to say he's prolific. And as long as he's able to maintain his pace, he will remain the first choice for anyone who wants someone resembling Danny DeVito.&lt;br /&gt;&lt;br /&gt;Think about that phrase, "resembling Danny DeVito." Then consider this chestnut about the career of a movie star:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Who's Brad Pitt?&lt;/li&gt;&lt;li&gt;Get me Brad Pitt.&lt;/li&gt;&lt;li&gt;Get me a Brad Pitt type.&lt;/li&gt;&lt;li&gt;Get me a younger Brad Pitt.&lt;/li&gt;&lt;li&gt;Who's Brad Pitt?&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Now try to come up with a list of actors who you would describe as "a Danny DeVito type." Or "a younger Danny DeVito." I'll wait ...&lt;br /&gt;&lt;br /&gt;Yeah, I can't come up with any, either. So it seems that, for now, the important formula is (jobs Danny is able to take)/(jobs for people resembling Danny). And for now that ratio seems to be "one." And "one" is really not at all close to "a few."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-6638952121410488792?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sethgodin.typepad.com/seths_blog/2008/05/thinking-about.html' title='How many Danny DeVitos does the world need?'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/6638952121410488792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=6638952121410488792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6638952121410488792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6638952121410488792'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/06/how-many-danny-devitos-does-world-need.html' title='How many Danny DeVitos does the world need?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3641971178318835212</id><published>2008-04-23T13:31:00.006-05:00</published><updated>2009-06-17T12:04:38.641-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='interviewing'/><category scheme='http://www.blogger.com/atom/ns#' term='confidence'/><category scheme='http://www.blogger.com/atom/ns#' term='negotiation'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>How to negotiate a better contracting rate</title><content type='html'>In any transaction, the person with more information and more experience usually comes out ahead. That's why the typical consumer negotiating with a full-time salesman is at a huge disadvantage. A car dealer, for example, might negotiate several sales every week, while you only do it every two to three years.&lt;br /&gt;&lt;br /&gt;So people making big decisions -- new car, new house, new job -- do as much research as they can, trying to level the playing field just a little bit. And lots of the information they come up with is flat out wrong.&lt;br /&gt;&lt;br /&gt;One of the most damaging pieces of advice to follow when looking for a job is to rely on a headhunter's self-interest to get you the best rate. The idea – which seems quite reasonable on the surface – is that the headhunter's commission is a percentage of your salary. Obviously they want this number to be as high as possible. It's easy to believe that their self-interest lines up with yours.&lt;br /&gt;&lt;br /&gt;The first flaw with this idea is that &lt;em&gt;the headhunter doesn't get &lt;strong&gt;anything&lt;/strong&gt; if someone else gets the job&lt;/em&gt;. If there are multiple qualified applicants, you are on the wrong side of a bidding war. The contractor doesn't want to price you out of the running, so the incentive is to lowball your rate.&lt;br /&gt;&lt;br /&gt;The second flaw is that every day the headhunter spends searching for your perfect job is day they don't spend finding a job for the dozen other people they're working with. &lt;em&gt;They make more money by placing more people&lt;/em&gt; than they do by placing fewer people at higher rates. 30% of $70k x 3 is more than 30% of $80k x 2. Their incentive favors the quick hit, &lt;i&gt;not&lt;/i&gt; protecting your interests.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;So what do you do about it?&lt;/h3&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Stop thinking of the headhunter as your own personal agent.&lt;/strong&gt;&lt;br /&gt;They're doing a job for you, but they are more interested in getting you &lt;i&gt;something&lt;/i&gt; than in getting you the &lt;i&gt;best&lt;/i&gt; thing.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Know what you'll accept before taking the interview.&lt;/strong&gt;&lt;br /&gt;Have a bottom line that you won't go below. Based on what you hear in the interview, you may decide to demand &lt;i&gt;even more&lt;/i&gt; to accept the conditions. But your lower limit should never be negotiable.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Ask what the range is for the position up front.&lt;/strong&gt;&lt;br /&gt;There's no point in wasting time on a position that you'll never take.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Never give up something for nothing.&lt;/strong&gt;&lt;br /&gt;If they want you to travel and you don't want to do it, ask for extra vacation in return. If they want you to be on call, ask for comp time. Never give up one of your demands without getting a concession in return.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Get it in writing.&lt;/strong&gt;&lt;br /&gt;You can't deposit a promise in the bank, or buy groceries with verbal assurances.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;So are all headhunters ready to sell you out at a moment's notice? Of course not, even if it's just to preserve their reputation. But if you want to avoid being disappointed, you should never forget that &lt;em&gt;your&lt;/em&gt; best interest only &lt;em&gt;sometimes&lt;/em&gt; matches up with the headhunter's interests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3641971178318835212?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3641971178318835212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3641971178318835212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3641971178318835212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3641971178318835212'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/04/how-to-negotiate-better-contracting.html' title='How to negotiate a better contracting rate'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1607609387454166849</id><published>2008-04-01T10:58:00.015-05:00</published><updated>2008-11-13T02:45:33.726-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='750 - 1000 words'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='time management'/><title type='text'>How To Triple Your Output By Cutting Your Output In Half</title><content type='html'>&lt;p&gt;The fastest typist I've ever seen was a guy I used to work with. When he started going it sounded like a machine gun. Our standard line when people asked the rest of us about him was, "Yeah, he types over 150 words per minute ... and about 40 of them are spelled right."&lt;br /&gt;&lt;br /&gt;Even after you ran his stuff through a spell checker, you'd have to proof-read very carefully to catch the places where "there" and "their" were mixed up. Where single letters showed up at random because the spell checker skips one-letter "words". Where he left out words or just plain didn't make any sense.&lt;br /&gt;&lt;br /&gt;It usually took longer to fix his stuff that it would have taken to do it yourself from scratch. So why did we put up with it? Well, he was the boss. Keen.&lt;br /&gt;&lt;br /&gt;But like anything else in life, you can at least learn something from the situation. What I learned from him was that it doesn't matter how much you produce if no one wants it. Or put another way: Anything you do for someone else that isn't up to their standards doesn't count.&lt;br /&gt;&lt;br /&gt;For an example of an entire industry that's working as hard as possible to ignore this simple truth, compare television today to what it looked like in the 1950s.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;The golden age&lt;/h3&gt;&lt;p&gt;Back then there were three networks. How many prime-time shows did they collectively produce per week? Counting 8-11 p.m. Monday through Friday, that's three 1-hour slots &lt;i&gt;x&lt;/i&gt; five days &lt;i&gt;x&lt;/i&gt; three networks = 45 hours of programming. Lets say a third of those hours were broken up into half-hour shows, so a total of 60 shows per week.&lt;br /&gt;&lt;br /&gt;Let's assume that to have a consistently great show you needed six extremely talented writers and actors. (Yes, there's a lot more to it. This is just an example.) The fewer good people you have, the less often your show will be good. To fill 60 shows, you might have the following mix:&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Show quality&lt;/th&gt;&lt;th align="middle"&gt;Talented staff&lt;br /&gt;per show&lt;/th&gt;&lt;th align="middle"&gt;# of shows&lt;/th&gt;&lt;th align="middle"&gt;Total&lt;br /&gt;talented staff&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Consistently great&lt;/td&gt;&lt;td align="middle"&gt;6&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Excellent&lt;/td&gt;&lt;td align="middle"&gt;5&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;2&lt;/td&gt;&lt;td align="middle"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Very good&lt;/td&gt;&lt;td align="middle"&gt;4&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;2&lt;/td&gt;&lt;td align="middle"&gt;8&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Good&lt;/td&gt;&lt;td align="middle"&gt;3&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;18&lt;/td&gt;&lt;td align="middle"&gt;54&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sometimes good&lt;/td&gt;&lt;td align="middle"&gt;2&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;35&lt;/td&gt;&lt;td align="middle"&gt;70&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Generally poor&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;2&lt;/td&gt;&lt;td align="middle"&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align="right" colspan="2"&gt;Total&lt;/th&gt;&lt;th align="middle"&gt;60&lt;/th&gt;&lt;th align="middle"&gt;150&lt;/th&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Obviously every network would like their shows to be better. But for whatever reasons there are only 150 people with the level of talent needed to produce a weekly show.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Double the output&lt;/h3&gt;&lt;p&gt;Fast forward a couple of decades. Now there are six networks. The talent requirements to produce a good show are the same, but there aren't suddenly twice as many talented people available to do the work. The chart above might now look a little something like this:&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Show quality&lt;/th&gt;&lt;th align="middle"&gt;Talented staff&lt;br /&gt;per show&lt;/th&gt;&lt;th align="middle"&gt;# of shows&lt;/th&gt;&lt;th align="middle"&gt;Total&lt;br /&gt;talented staff&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Consistently great&lt;/td&gt;&lt;td align="middle"&gt;6&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Excellent&lt;/td&gt;&lt;td align="middle"&gt;5&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Very good&lt;/td&gt;&lt;td align="middle"&gt;4&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;1&lt;/td&gt;&lt;td align="middle"&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Good&lt;/td&gt;&lt;td align="middle"&gt;3&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;6&lt;/td&gt;&lt;td align="middle"&gt;18&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sometimes good&lt;/td&gt;&lt;td align="middle"&gt;2&lt;/td&gt;&lt;/td&gt;&lt;td align="middle"&gt;21&lt;/td&gt;&lt;td align="middle"&gt;42&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ffffcc"&gt;&lt;td&gt;&lt;font color="#000066"&gt;Generally poor&lt;/font&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;font color="#000066"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;/td&gt;&lt;td align="middle" bgcolor="#ffff99"&gt;&lt;font color="#000066"&gt;75&lt;/font&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;font color="#000066"&gt;75&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ffffcc"&gt;&lt;td&gt;&lt;font color="#000066"&gt;Unwatchable - bad&lt;/font&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;font color="#000066"&gt;0&lt;/font&gt;&lt;/td&gt;&lt;/td&gt;&lt;td align="middle" bgcolor="#ffff99"&gt;&lt;font color="#000066"&gt;15&lt;/font&gt;&lt;/td&gt;&lt;td align="middle"&gt;&lt;font color="#000066"&gt;0&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align="right" colspan="2"&gt;Total&lt;/th&gt;&lt;th align="middle"&gt;120&lt;/th&gt;&lt;th align="middle"&gt;150&lt;/th&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Notice how many shows had to drop into the lower categories to make this work. The contrast is really obvious when you look at the two outcomes side-by-side.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_hdEKL5VBc5I/R_JztAgcL2I/AAAAAAAAAE4/OT3N9KdX4Zo/s1600-h/writer-chart.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5184333338124234594" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_hdEKL5VBc5I/R_JztAgcL2I/AAAAAAAAAE4/OT3N9KdX4Zo/s320/writer-chart.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With twice as many total shows, there are fewer shows that are even sometimes good. By doubling the total output, there are fewer than half as many shows that are &lt;em&gt;ever acceptable to the audience&lt;/em&gt; And there are only a third as many shows that are usually good.&lt;br /&gt;&lt;br /&gt;These numbers are obviously a gross oversimplification, but they illustrate a point: By increasing the output &lt;em&gt;without increasing a limited, but required resource&lt;/em&gt; the overall quality declines faster than the total output increases.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;500 channels and nothing's on&lt;/h3&gt;&lt;p&gt;Now fast-forward to today. There are literally &lt;em&gt;hundreds&lt;/em&gt; of networks trying to fill 24 hours every day. Granted, with the amount of money flowing in the industry there may be more people willing to work there. But if my assumption is at all close to reality, then we would expect to see shows that clearly don't have anyone talented working on them. We might even see shows where they simply send a camera crew out to film people without a script. We might call this a "reality" show.&lt;br /&gt;&lt;br /&gt;So you're not in the TV business. How does this apply to you? Everywhere in the example above, replace "talented staff" with "attention". How much undivided attention do you have each day? How many ways are you dividing it? By trying to do more things, are you doing fewer things &lt;em&gt;well&lt;/em&gt;?&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1607609387454166849?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1607609387454166849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1607609387454166849' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1607609387454166849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1607609387454166849'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/04/how-to-triple-your-output-by-cutting.html' title='How To Triple Your Output By Cutting Your Output In Half'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hdEKL5VBc5I/R_JztAgcL2I/AAAAAAAAAE4/OT3N9KdX4Zo/s72-c/writer-chart.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7426491401016505762</id><published>2008-03-13T09:32:00.001-05:00</published><updated>2008-03-13T09:34:42.827-05:00</updated><title type='text'>VB3 is just fine for running your business</title><content type='html'>"... all those cheapskate companies running said VB3 app for 15 years will have nowhere to go, because their shitty app won't run on it and they won't pay to have it redone with modern tools."&lt;br /&gt;&lt;br /&gt;You've got some typos in there. Let me fix those for ya:&lt;br /&gt;&lt;br /&gt;"...all those &lt;em&gt;fiscally responsible&lt;/em&gt; companies running said VB3 app for 15 years will have nowhere to go, because their &lt;em&gt;well-written&lt;/em&gt; app &lt;em&gt;that has performed its intended function without fail&lt;/em&gt; won't run on it and they &lt;em&gt;don't need to&lt;/em&gt; pay to have it redone with modern tools."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Analogy time:&lt;br /&gt;&lt;br /&gt;I've got a 25-year-old fridge in my kitchen. Even if a new one saves me 50% of the electricity used it would take about 13 years to pay back the cost of buying the new one. And don't talk to me about the environmental cost of that wasted power, since the impact of manufacturing the new one dwarfs the power used over its lifetime.&lt;br /&gt;&lt;br /&gt;If you think you're saving money, or helping the environment, by scrapping working appliances in favor of newer, more-efficient ones, you've fallen for someone's marketing plan. Just like all the people who want to re-write functioning apps in the cool new language du jour.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7426491401016505762?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.552365' title='VB3 is just fine for running your business'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7426491401016505762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7426491401016505762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7426491401016505762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7426491401016505762'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/03/vb3-is-just-fine-for-running-your.html' title='VB3 is just fine for running your business'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1295117399272516714</id><published>2008-02-06T16:19:00.000-05:00</published><updated>2008-02-06T16:42:00.398-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><title type='text'>It's time to cheat on your publisher</title><content type='html'>With the current generation of high-speed digital printers, print-on-demand [POD] publishers are making aspiring authors feel wanted like they've never been wanted before.  It seems like everywhere you look there's another slick come-on ... free ISBN numbers, your own storefront, listings on Amazon.com.&lt;br /&gt;&lt;br /&gt;For someone getting propositioned for the first time, it's easy to fall into a deep relationship with whoever offers the nicest package. The smart ones make it really easy to say "yes". It's just so simple and comfortable, let them take care of everything for you.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;I bet you can see this coming&lt;/h3&gt;&lt;p&gt;Then something goes wrong and you realize how dependent you've become. All those links on your blog pointing to the order page. All the people you've told where to find you. The PayPal account you set up to take the payments. &lt;br /&gt;&lt;br /&gt;It sure was easier to get &lt;em&gt;into&lt;/em&gt; this relationship that it seems to be to get out. You tell yourself the problem -- whatever it is -- isn't really &lt;em&gt;that&lt;/em&gt; bad, come to think of it. At least it's not bad enough to be worth the pain of finding someone new.&lt;br /&gt;&lt;br /&gt;You don't think that time is going to come? Well, you may be right. Through some combination of luck, work and compatibility you may have found the perfect partner for the rest of your publishing life. But do you really want to jump into things that deeply without seeing what else the world has to offer you?&lt;/p&gt;&lt;h3&gt;So what's the alternative?&lt;/h3&gt;&lt;p&gt;The great thing about all these options is that you can try lots of them without guilt. You realize, if think about it, that they're hooking up with every other writer on the planet just as fast as they can. You're nothing special to them, so why should they be anything special to you?&lt;br /&gt;&lt;br /&gt;So play the field. Sign up everywhere you can find that doesn't have setup fees. Upload, test, experiment, enjoy the thrill of it all. And see who actually gives you what you really want: sales.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1295117399272516714?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1295117399272516714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1295117399272516714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1295117399272516714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1295117399272516714'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/02/its-time-to-cheat-on-your-publisher.html' title='It&apos;s time to cheat on your publisher'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-5218380073616235468</id><published>2008-02-01T14:45:00.000-05:00</published><updated>2008-02-01T14:55:53.147-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><title type='text'>Are you wasting your time being productive?</title><content type='html'>Most people think that wasting time means you're not doing anything. Maybe they include not doing anything &lt;em&gt;productive&lt;/em&gt;. But can you be doing something productive and still wasting time?&lt;br /&gt;&lt;br /&gt;To answer the question, let's go back several years to a time before optical mice were common. I was working the helpdesk at a law firm. I got a call from an attorney that his cursor was skipping around the screen erratically. It was pretty obvious from his description that there was gunk in his mouse.&lt;br /&gt;&lt;br /&gt;I had just started explaining to him how to remove the mouse ball to clean it out, when my supervisor tapped me on the shoulder and told me to bring him up a new mouse. I said, "But it only takes five minutes to clean it out."&lt;br /&gt;&lt;br /&gt;She replied, "He bills $600 an hour. Bring him a new mouse."&lt;br /&gt;&lt;br /&gt;I didn't know the term at the time, but she had just taught me a lesson in opportunity cost. If whatever you're doing is less valuable than what you could be working on instead, you are wasting time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-5218380073616235468?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/5218380073616235468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=5218380073616235468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5218380073616235468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5218380073616235468'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/02/are-you-wasting-your-time-being.html' title='Are you wasting your time being productive?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-4223832720851170583</id><published>2008-02-01T14:19:00.001-05:00</published><updated>2008-03-13T10:53:33.506-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='corporate policies'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><title type='text'>How corporations spin a risk into a benefit</title><content type='html'>James Maguire, managing editor of Datamation, wrote in &lt;a href="http://itmanagement.earthweb.com/article.php/31771_3653136_2"&gt;Indian IT Firms: Is the Future Theirs?&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;"In the past, companies used to award IT outsourcing contracts that were longer, 7-10 years. They would hire one firm to do it, and that firm would have subcontractors," Ford-Taggart says. Now, big clients split up major projects and request bids on individual components. "Then they'll say, "Look, we can have this portion done in India for 30% less.'"&lt;br /&gt;&lt;br /&gt;This might cause &lt;strong&gt;&lt;em&gt;more managerial headaches&lt;/em&gt;&lt;/strong&gt; for the client company, but in fact &lt;strong&gt;&lt;em&gt;it's less risk&lt;/em&gt;&lt;/strong&gt;: clients have fewer eggs in a basket with any one IT firm, so if a projects goes bad or creates cost overruns, the entire project won't take such a big hit. &lt;/blockquote&gt;Emphasis added.&lt;br /&gt;&lt;br /&gt;I &lt;em&gt;hate&lt;/em&gt; this corporate executive definition of "risk". And before you think I don't get it, I &lt;em&gt;understand&lt;/em&gt; what they mean but I think they're wrong.&lt;br /&gt;&lt;br /&gt;When I talk about reducing risk, I mean that I'm making problems less likely to occur. What the execs mean when they take this position is that they're diversifying the accountability. They want to be able to report that while 20% of the project is at risk, the other 80% is on track.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Well sure, the other 80% can't be used without the 20% that's missing. But the focus here should be that we've got 80% of the project on time and on budget!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;If you admit up front that your process is increasing management headaches, you should realize you're increasing the likelihood of problems. You &lt;em&gt;may&lt;/em&gt; be mitigating the potential impact, but that's not a given.&lt;br /&gt;&lt;br /&gt;Any mitigation strategy that seeks to minimize the impact of a failure, and does so by increasing the liklihood of failure, is probably a bad idea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-4223832720851170583?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://itmanagement.earthweb.com/article.php/31771_3653136_1' title='How corporations spin a risk into a benefit'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/4223832720851170583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=4223832720851170583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4223832720851170583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4223832720851170583'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/02/how-corporations-spin-risk-into-benefit.html' title='How corporations spin a risk into a benefit'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2053345141707717723</id><published>2008-01-31T16:53:00.002-05:00</published><updated>2008-04-24T15:54:54.036-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='advertising'/><title type='text'>How using people in your ads increases sales</title><content type='html'>We've all seen the light beer commercials with young, impossibly attractive people guzzling a product that, by all rights, should be making them fat and unhealthy. The obvious question is, "Do they think we're really that stupid? That we think if we drink their beer we'll become supermodels?"&lt;br /&gt;&lt;br /&gt;Good question. But it gets the real thinking backwards.&lt;br /&gt;&lt;br /&gt;When you show people using the product, you're helping the prospect visualize themselves using it. Make it seem familiar and safe, instead of new and unknown.&lt;br /&gt;&lt;br /&gt;But since you can't put each viewer into their own personalized version of the ad (yet), you have to use a stand-in. If you show someone that the viewer would &lt;em&gt;like&lt;/em&gt; to be, it increases their desire to want to recreate that image.&lt;br /&gt;&lt;br /&gt;So you don't want the prospect thinking, "If I use that product, I will &lt;em&gt;become&lt;/em&gt; like that cool, attractive person in the ad." You want them thinking, "&lt;em&gt;Because&lt;/em&gt; I am cool and attractive, I can see myself using that product."&lt;br /&gt;&lt;br /&gt;It's the same thinking that leads to cliques and fads:&lt;ul&gt;&lt;li&gt;I'm not cool because I wear Air Jordans. I wear Jordans because I'm cool.&lt;/li&gt;&lt;li&gt;I'm not tough because I play rugby. I play rugby because I'm tough.&lt;/li&gt;&lt;li&gt;I'm not a redneck because I drive a truck. I drive a truck because I'm a redneck.&lt;/li&gt;&lt;/ul&gt;You don't want your prospect to think your product will &lt;em&gt;make&lt;/em&gt; them more attractive. You want to help them confirm what they already believe about themselves.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2053345141707717723?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2053345141707717723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2053345141707717723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2053345141707717723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2053345141707717723'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/01/how-using-people-in-your-ads-increases.html' title='How using people in your ads increases sales'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1246464130334373195</id><published>2008-01-31T11:59:00.003-05:00</published><updated>2008-04-01T10:54:30.823-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='750 - 1000 words'/><category scheme='http://www.blogger.com/atom/ns#' term='estimates'/><category scheme='http://www.blogger.com/atom/ns#' term='case study'/><category scheme='http://www.blogger.com/atom/ns#' term='budget'/><title type='text'>Why no one wants software: a case study</title><content type='html'>No one wants software.&lt;br /&gt;&lt;br /&gt;Really, no one.&lt;br /&gt;&lt;br /&gt;What they want is documents ... pictures ... loan applications ... insurance claims ... Software is just another tool they can use to maybe produce more of the things they really want, better or cheaper.&lt;br /&gt;&lt;br /&gt;What this means to legions of unhappy, cynical programmers is that no one cares about the quality of the code. Nope. They don't. And odds are, they shouldn't.&lt;br /&gt;&lt;br /&gt;Here's a little story to illustrate why. (By the way, this is the kind of thing you'll see in an MBA course. If you don't already do this kind of thinking, you should stop telling yourself there's no value in getting an MBA.)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The pitch&lt;/h3&gt;I'm in charge at an insurance company. I have a manual, paper-based process that requires 100 people working full time to process all the claims.&lt;br /&gt;&lt;br /&gt;Someone comes in and offers to build me a system to automate much of the process. He projects the new system could reduce headcount by half. It will take six months for a team of four people to build.&lt;br /&gt;&lt;br /&gt;If you're a programmer, and you think this probably sounds like a winner, try looking at the real numbers.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The direct cost&lt;/h3&gt;100 claims processors working at $8/hour. $1.6M per year in salaries. (Let's leave benefits out of it. The insurance company probably does.)&lt;br /&gt;&lt;br /&gt;Four people on the project:&lt;ul&gt;&lt;li&gt;architect/dev lead, $100/hour&lt;/li&gt;&lt;li&gt;junior dev, $60/hour&lt;/li&gt;&lt;li&gt;DBA, $80/hour&lt;/li&gt;&lt;li&gt;analyst/UI designer, $75/hour&lt;/li&gt;&lt;/ul&gt;Total $325/hour, or about $325k for six months' work.&lt;br /&gt;&lt;br /&gt;Still sounds like a winner, right? $325k for an $800k/year savings!&lt;br /&gt;&lt;br /&gt;Except the savings doesn't start for six months. So my first year savings are at best $400k. Damn, now it's barely breaking even in the first year. That's OK though, it'll start paying off nicely in year two.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The hidden costs&lt;/h3&gt;Oh wait, then I need to include training costs for the new system. Let's figure four weeks of training before processors are back to their current efficiency. Maybe a short-term 20% bump in headcount through a temp agency to maintain current throughput during the conversion and training. Add the agency cut and you're paying $15/hour for the temps. 20 temps x $15/hour x 40 hours x 4 weeks = $48k one-time cost. Now my first-year cost is up to $373k.&lt;br /&gt;&lt;br /&gt;And don't forget to add the cost of hiring a trainer. Say two weeks to create the training materials plus the four weeks of on-site training. Since this is a high-skill, short-term gig (possibly with travel) I'll be paying probably $150/hour or more. $36k for the trainer.&lt;br /&gt;&lt;br /&gt;So if everything goes perfectly, I'll be paying $409k in the first year. And actually, I don't get even the $400k savings. I can't start cutting headcount until efficiency actully doubles. Generously assume that will be three months after the training finishes. Now I've got three months of gradually declining headcount, and only two months of full headcount reduction. Maybe $200k in reduced salary.&lt;br /&gt;&lt;br /&gt;Of course you need to add a percentage for profit for the development company. Let's go with 30%. So ...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The balance sheet&lt;/h3&gt;&lt;table border="1px" cellpadding="3px"&gt;&lt;tr&gt;&lt;th nowrap&gt;Software&lt;/th&gt;&lt;td nowrap&gt;$325k + 30% = $422.5k&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Trainer&lt;/th&gt;&lt;td nowrap&gt;$36k&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th nowrap&gt;Training (temps)&lt;/th&gt;&lt;td&gt;$48k&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th nowrap&gt;Total Y1 cost&lt;/th&gt;&lt;td&gt;&lt;b&gt;$506.5k&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Projected Y1 savings&lt;/th&gt;&lt;td&gt;&lt;b&gt;$200k&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Shortfall&lt;/th&gt;&lt;td&gt;&lt;b&gt;$306.5k&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Y2 savings&lt;/th&gt;&lt;td&gt;&lt;b&gt;$64k/month&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;The project breaks even near the end of the fifth month of year 2. And that's if &lt;strong&gt;&lt;em&gt;NOTHING GOES WRONG!&lt;/em&gt;&lt;/strong&gt; The code works on time, it does exactly what it's supposed to, I don't lose all my senior processors as they see the layoffs starting, etc. etc. etc.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The other pitch&lt;/h3&gt;Then a lone consultant comes in and offers to build me a little Access database app. A simple data-entry form to replace the paper version, a printable claim form, and a couple quick management reports. Two months' work, and I'll see a 10% headcount reduction. The consultant will do the training, which will only take a week because the new app will duplicate their current workflow.&lt;br /&gt;&lt;br /&gt;&lt;table border="1px" cellpadding="3px"&gt;&lt;tr&gt;&lt;th&gt;Software&lt;/th&gt;&lt;td&gt;$200/hour x 8 weeks = $64k&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Training&lt;/th&gt;&lt;td&gt;$200/hour x 1 week = $8k&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th nowrap&gt;Total Y1 cost&lt;/th&gt;&lt;td&gt;$72k&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;td&gt;$12.8k/month (starting in the fourth month)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;The project breaks even six months after the project is done, so early in the ninth month of Y1. Since the scope was much less ambitious, the risk is also lower.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The obvious choice&lt;/h3&gt;Which sales pitch do you think I will go with? Does that mean I don't respect "proper" software development practices? And, the bottom line: &lt;em&gt;should&lt;/em&gt; I spend more money on the "better" solution? And why?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1246464130334373195?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1246464130334373195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1246464130334373195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1246464130334373195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1246464130334373195'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/01/why-no-one-wants-software-case-study.html' title='Why no one wants software: a case study'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2517523472902416947</id><published>2008-01-30T11:01:00.000-05:00</published><updated>2008-01-30T11:28:39.555-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='Scott Berkun'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><title type='text'>The difference between innovation and sloppiness</title><content type='html'>I took a couple of art classes in college. In Life Drawing we were supposed to look at the arrangement or person in front of us and put it on paper. In pencil, then charcoal, then ink … watercolor … oil … etc.&lt;br /&gt;&lt;br /&gt;I was always good at photorealism. I might not have been fast, but I had some pencil drawings that could have passed (at a distance) for black-and-white photos.&lt;br /&gt;&lt;br /&gt;There was another student, an art major who fancied himself an "artiste". His work spanned the range from abstract to &lt;em&gt;really&lt;/em&gt; abstract. He looked down on my mere technical facility.&lt;br /&gt;&lt;br /&gt;But my grades were as good as his, sometimes better. It seems when he talked about his rejection of formal rules, it really meant he wasn't &lt;em&gt;able&lt;/em&gt; to do realism. He didn't have the command of the tools, the mere technical facility. So everything he did owed as much to chance as to intent.&lt;br /&gt;&lt;br /&gt;He may have been right, that I didn't have the creativity to do modern art. I'll admit that I appreciate paintings that simply look good, without high-flying pretension or socio-political overtones. I guess I'll never have a SOHO gallery showing. C'est la vie.&lt;br /&gt;&lt;br /&gt;But with all his fervor, and whatever glorious visions he had in his head, he couldn't reliably get them onto the paper. He couldn't create something specific, on purpose.&lt;br /&gt;&lt;br /&gt;[Cue un-subtle segue ... ]&lt;br /&gt;&lt;br /&gt;But what does this have to do with the business world? &lt;a href="http://www.scottberkun.com"&gt;Scott Berkun&lt;/a&gt; wrote recently about how &lt;a href="http://www.scottberkun.com/blog/2008/do-constraints-help-creative-thinking/"&gt;constraints can help creative thinking&lt;/a&gt;. When a large corporation does "blue sky" thinking, they can wander aimlessly and never produce. Constraints set a direction.&lt;br /&gt;&lt;br /&gt;But I think there's another problem with "blue sky" thinking that goes beyond a lack of direction. It's summed up by &lt;a href="http://www.famous-quotes.net/Quote.aspx?The_perfect_is_the_enemy_of_the_good"&gt;Voltaire's famous maxim&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;The perfect is the enemy of the good.&lt;/blockquote&gt;When a company tries to "blue sky" a problem, they are implicitly seeking perfection: With no limits, what would be possible?&lt;br /&gt;&lt;br /&gt;But there are always limits. They may be self-imposed, inconsequential, misunderstood, overblown, or in any number of other ways not &lt;em&gt;real&lt;/em&gt; limits. And it helps to know the difference.&lt;br /&gt;&lt;br /&gt;When you start out by asking people what they would do if there were no constraints, don't be surprised when they come back with a solution that can't possibly work. And then convince themselves that theirs is the only &lt;em&gt;possible&lt;/em&gt; solution. By then, you've already lost.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2517523472902416947?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.scottberkun.com/blog/2008/do-constraints-help-creative-thinking/' title='The difference between innovation and sloppiness'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2517523472902416947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2517523472902416947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2517523472902416947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2517523472902416947'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/01/difference-between-innovation-and.html' title='The difference between innovation and sloppiness'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1773461158019011628</id><published>2008-01-14T16:26:00.000-05:00</published><updated>2008-01-14T16:36:47.037-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='interviewing'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>Hate the game if you want, don't pretend it isn't being played</title><content type='html'>When I was in college I worked at a bar that had a pool room. I played a lot when it was slow and after hours. I got pretty good on those tables. Only "pretty good" and only on those tables ... I knew where the dead spots were in the rails.&lt;br /&gt;&lt;br /&gt;If I put anything on the game, it was usually who bought the next round. Sometimes we couldn't drink as fast as we played, and we'd go for a dollar a game. We were all friends, and it was just to make the game more interesting.&lt;br /&gt;&lt;br /&gt;But every so often someone would come in who none of us recognized. You could usually tell really fast who was better than just a casual player. Sometimes they'd see if they could get a game for $5. I'd always take them up on it. And I &lt;em&gt;always&lt;/em&gt; won the first game.&lt;br /&gt;&lt;br /&gt;Then they'd ask for a rematch ... let them win their money back. I'd take that game, too. Sometimes I'd win, sometimes not. But I was breaking even so I didn't care. It was usually after the second game that they'd look at their watch and realize they had somewhere they needed to be. But they had time for one more game.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;How about one last round for $50?&lt;br /&gt;&lt;br /&gt;&lt;em&gt;No.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;How about $30?&lt;br /&gt;&lt;br /&gt;&lt;em&gt;No.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Come on, give me a chance to win it back!&lt;br /&gt;&lt;br /&gt;&lt;em&gt;No, you're a better pool player than I am. But you suck at reading people. You thought I didn't know you were throwing the first two games. &lt;/em&gt;&lt;br /&gt;&lt;/blockquote&gt;That's when they'd get pissed. It wasn't fair that I took their money even though they could beat me without trying hard. I was just a punk-ass bitch that couldn't carry their stick.&lt;br /&gt;&lt;br /&gt;Yup. But I had their money, and they were leaving.&lt;br /&gt;&lt;br /&gt;If I wanted to, I could have spent the equivalent of a full-time job &lt;em&gt;becoming&lt;/em&gt; a professional level pool player. I would have run into diminishing returns as I was going up against ever stronger competition. It would have dominated my life, and the only way to make a steady living would be constant travel.&lt;br /&gt;&lt;br /&gt;Plus there'd be no retirement plan. Your earnings stop the moment you stop playing. The skills don't translate to anything else worthwhile.&lt;br /&gt;&lt;br /&gt;So I stayed in school and learned to be a programmer, which doesn't suffer from any of those negatives. &amp;lt;/sarcasm&amp;gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Hmm, that came out a lot longer (and a lot faster) than I expected. It all started from one idea, though: You don't win by &lt;em&gt;being&lt;/em&gt; better, you win by &lt;em&gt;playing&lt;/em&gt; better. And you start by knowing what game you're playing.&lt;br /&gt;&lt;br /&gt;When you're in an interview, you're playing the "get the job" game. Once you have the job you're in the "impress the decision-makers" game. If you go the uISV route you're in the "sell the most product" game.&lt;br /&gt;&lt;br /&gt;Being better at coding is one of the plays in each of those playbooks. But it's not the one they keep score with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1773461158019011628?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1773461158019011628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1773461158019011628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1773461158019011628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1773461158019011628'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/01/hate-game-if-you-want-dont-pretend-it.html' title='Hate the game if you want, don&apos;t pretend it isn&apos;t being played'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2562144462362990476</id><published>2008-01-14T16:20:00.001-05:00</published><updated>2008-01-18T15:31:29.541-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='interviewing'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>Is your resume hot or not?</title><content type='html'>Getting a job is like getting a date. &lt;br /&gt;&lt;ol&gt;&lt;li&gt;There may or may not be rules to it.&lt;/li&gt;&lt;li&gt;It may or may not be fair.&lt;/li&gt;&lt;li&gt;They may be so desperate it doesn't matter what you say. But do you want to hook up with someone who's desperate?&lt;/li&gt;&lt;li&gt;Or maybe it doesn't matter what you say because they've decided the answer is "no" before you opened your mouth.&lt;/li&gt;&lt;li&gt;The more in-demand you are, the more choosy you can afford to be. But if you want to get &lt;em&gt;this&lt;/em&gt; job -- or &lt;em&gt;this&lt;/em&gt; date -- then you're probably going to have to say what they want to hear. Good luck figuring out what &lt;em&gt;that&lt;/em&gt; is.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2562144462362990476?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2562144462362990476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2562144462362990476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2562144462362990476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2562144462362990476'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2008/01/is-your-resume-hot-or-not.html' title='Is your resume hot or not?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-433770620886388786</id><published>2007-12-19T08:44:00.000-05:00</published><updated>2007-12-20T11:56:29.151-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><title type='text'>Please don't believe anything in this post</title><content type='html'>In Yet Another Internet Forum Discussion About Offshoring (I hereby claim authorship of the acronym YAIFDAO) someone wrote:&lt;br /&gt;&lt;blockquote&gt;A lot of decisions should NOT be left to developers to make. imho, the time to think out of the box is gone by the time it is TIME TO CODE. It's not time to think about alternatives to what to do.&lt;/blockquote&gt;That is absolutely right. You &lt;i&gt;never&lt;/i&gt; want developers talking to end users. They might suggest some other plan than what was painstakingly shepherded through four levels of approvals.&lt;br /&gt;&lt;br /&gt;And let's just squash the notion right now that sometimes there are trade offs to consider. Just because the analyst's solution will take three weeks of coding effort and a new application server, while the programmer knows of a reusable component that will take one hour and no increased hardware, is no reason to institute the Change Control Process.&lt;br /&gt;&lt;br /&gt;Alternatives should &lt;i&gt;always&lt;/i&gt; be considered in isolation from the impact they cause. Implementation issues should never be allowed to intrude into the world of business decisions.&lt;br /&gt;&lt;br /&gt;Next thing you know someone's going to suggest that maybe mere programmers could have a meaningful contribution to make to the business process. What rubbish.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-433770620886388786?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.574487' title='Please don&apos;t believe anything in this post'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/433770620886388786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=433770620886388786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/433770620886388786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/433770620886388786'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/12/please-dont-believe-anything-in-this.html' title='Please don&apos;t believe anything in this post'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-238231678251969471</id><published>2007-12-13T10:23:00.000-05:00</published><updated>2007-12-13T11:32:01.002-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><title type='text'>How to Kill a Project by Accident</title><content type='html'>In my &lt;a href="http://drewkime.blogspot.com/2007/12/how-to-fail-by-succeeding.html"&gt;last post&lt;/a&gt; I talked about perverse incentives in project management. Something I mentioned in passing was what happens when you don't have positive incentives: the cases where there is simply no incentive to do the right thing. I realized there's actually another way to get this wrong by trying too hard to get it right.&lt;br /&gt;&lt;br /&gt;Let's say you have just finished a project, gone into production, and it blew up. Data corruption, security problems, too slow, everything that can go wrong with a product. First you do an emergency project to fix it, then you do the after-action review to see what went wrong.&lt;br /&gt;&lt;br /&gt;What you find is that you didn't have good test coverage. There were whole modules that were never reviewed before going into production. It's painfully obvious that there was a complete breakdown in the QA process.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Fixing yesterday's problem&lt;/h3&gt;You're not going to make &lt;em&gt;that&lt;/em&gt; mistake again. You write up policies for demonstrating test coverage. You create reports to track test execution and results. You re-write employee performance expectations to align with the new methodology. (If you've read my stuff before, you should hear the alarm bells start ringing when you see the "m word".)&lt;br /&gt;&lt;br /&gt;Your next project is going exactly according to plan. Test coverage is at 90% overall, with 100% of high priority use cases covered. You're on schedule to execute all test cases before acceptance testing starts. Defects are identified and corrected.&lt;br /&gt;&lt;br /&gt;Then the users get it. They hate it. It doesn't do anything the way they wanted it to. Not only that, it doesn't even do what they &lt;em&gt;asked&lt;/em&gt; for. How could you be so far off?&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;You &lt;em&gt;don't&lt;/em&gt; get what you &lt;em&gt;don't&lt;/em&gt; measure&lt;/h3&gt;Look back at what incentives you created. You reward doing the methodology, following the checklist. Test coverage is great, but it's not the goal of the project. The goal is to provide something of value to the users ... or at least it &lt;em&gt;should&lt;/em&gt; be. Did you include a line in the new process that explicitly says, "Check with the users that it's doing what they need"?&lt;br /&gt;&lt;br /&gt;So how do you create the right incentives? Just flip the emphasis. Instead of saying an employee's performance evaluation is 80% following the methodology and 20% client satisfaction, turn the numbers around. Your users don't care that you followed "best practices." They care that the product does what they need. Where is &lt;em&gt;that&lt;/em&gt; measured in your methodology?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-238231678251969471?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/238231678251969471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=238231678251969471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/238231678251969471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/238231678251969471'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/12/how-to-kill-project-by-accident.html' title='How to Kill a Project by Accident'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-8026038547490938359</id><published>2007-12-06T12:32:00.000-05:00</published><updated>2007-12-13T11:36:11.751-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='corporate policies'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='project management'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='dave christiansen'/><category scheme='http://www.blogger.com/atom/ns#' term='budget'/><title type='text'>How to Fail by Succeeding</title><content type='html'>Dave Christiansen over at Information Technology Dark Side is talking about &lt;a href="http://www.techdarkside.com/?p=190"&gt;perverse incentives in project management&lt;/a&gt;, which he defines as:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Any policy, practice, cultural value, or behavior that creates perceived or real obstacles to acting in the best interest of the organization. &lt;/blockquote&gt;One class of these perverse incentives comes from the methodology police. These departments exist to turn all processes into checklists. If only you would follow the checklist, everything will work. But more importantly, if you follow the checklist you can’t be blamed if you fail.&lt;br /&gt;&lt;br /&gt;How’s that for perverse?&lt;br /&gt;&lt;br /&gt;A great example is that there is rarely any incentive to not spend money. Before you decide I’m out of touch with reality, notice I didn’t say “save money.” I said “not spend money.” Here’s the difference.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;IT by the numbers&lt;/h3&gt;Let’s say you do internal IT for a company that produces widgets. Someone from Operations says that they need a new application to track defects. If you follow the checklist, you:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;engage a business analyst, who &lt;/li&gt;&lt;li&gt;documents the business requirements, including &lt;/li&gt;&lt;li&gt;calculating the Quantifiable Business Objective, then &lt;/li&gt;&lt;li&gt;writes a specification, which is &lt;/li&gt;&lt;li&gt;inspected for completeness and format, then &lt;/li&gt;&lt;li&gt;passed on to an architect, who &lt;/li&gt;&lt;li&gt;determines if there is an off-the-shelf solution, or if it needs custom development.&lt;/li&gt;&lt;/ul&gt;At this point you’re probably several weeks and tens of thousands of dollars into the Analysis Phase of your Software Development Lifecycle. Whose job is it to step in and point out that all Ops needs is a spreadsheet with an input form and some formulas to spit out a weekly report?&lt;br /&gt;&lt;br /&gt;Let’s put some numbers to this thing.&lt;br /&gt;&lt;br /&gt;Assume the new reporting system will identify production problems. With this new information, Operations can save $100,000 per month. A standard ROI calculation says the project should cost no more than $2.4-million, so that it will pay for itself within two years.&lt;br /&gt;&lt;br /&gt;Take 25% of that for hardware costs, and 25% for first-year licensing, you’ve got $1.2-million for labor costs. If people are billed out at $100/hour – and contractors can easily go three to four times that for niche industries – that’s 300 man-weeks of labor. Get ten people on the project – a project manager, two business analysts, four programmers, two testers, one sysadmin – and that’s about seven months.&lt;br /&gt;&lt;br /&gt;If everything goes exactly to plan, seven months after the initial request you’re $2.4-million in the hole and you start saving $100,000 per month in reduced production costs. Everyone gets their bonus.&lt;br /&gt;&lt;br /&gt;And 31 months after the initial request, assuming nothing has changed, you break even on the investment. Assuming the new system had $0 support costs.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;But what if …&lt;/h3&gt;Way back at the first step, you gave a programmer a week to come up with a spreadsheet. Maybe the reports aren’t as good as what the large project would have produced. You only enable $50,000 per month in savings. That week to produce it costs you $4,000 in labor, and $0 in hardware and licensing.&lt;br /&gt;&lt;br /&gt;You are only able to show half the operational savings, so you don’t get a bonus. You don’t get to put “brought multi-million dollar project in on time and on budget” on your resume.&lt;br /&gt;&lt;br /&gt;And 31 months after the initial request, the spreadsheet has enabled over $1.5-million in operational savings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-8026038547490938359?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/8026038547490938359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=8026038547490938359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8026038547490938359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8026038547490938359'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/12/how-to-fail-by-succeeding.html' title='How to Fail by Succeeding'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7466966796172247094</id><published>2007-05-14T12:27:00.000-05:00</published><updated>2007-12-13T11:38:16.973-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='estimates'/><category scheme='http://www.blogger.com/atom/ns#' term='corporate policies'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><title type='text'>How to Finish IT Projects Faster with Less Documentation</title><content type='html'>If you’re responsible for running an IT project you want things to be done on time and within budget. So how do you set your schedule and budget? Hopefully you define what you want to accomplish, and then ask the developers how long it’s going to take. If you’re putting out a request for proposal (RFP) you’ll have several different answers to that question. Typically the highest consideration in the selection is the total proposed cost. But really, the total &lt;em&gt;time&lt;/em&gt; is a better choice.&lt;br /&gt;&lt;br /&gt;Why that's true is based not on ideas about processes, but on ideas about &lt;em&gt;people&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Consultants live and die by billable hours. In the short term, they don't have any incentive to finish their current project any faster. But in the long term, finishing faster should lead to more work as clients come to respect their ability to meet a deadline. &lt;em&gt;If&lt;/em&gt; project managers and clients learn to value that behavior, that is.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How it Could Be&lt;/h3&gt;Let's look at a production support issue for an example. Production support is completely different from most project work in one very important way: the problem is well defined. Something worked on Monday, it doesn't work on Tuesday. Make it work just like Monday again.&lt;br /&gt;&lt;br /&gt;For something with six-figure impact per hour of downtime – and if you think that’s an artificially-high number you've never worked with credit card processing – you don't want a programmer with an impressive resume, dozens of certifications, and decades of experience with your primary programming language. You want Bob, the guy who wrote the system from scratch and demands $1k per hour with a four-hour minimum.&lt;br /&gt;&lt;br /&gt;Once you've got Bob and his hand-picked team of support people, you get out of their way and let them work. Status reports might be no more than, "We've found the problem … We've identified the solution … We’re ready to test the fix … It’s live."&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How it Is&lt;/h3&gt;But when it comes to new development, companies play it "safe" and look for the best qualifications on paper. They hire based on keyword matching and offer rates based on industry standards for a given skill set. They require specific processes and deliverables (pet peeve: when did "deliverable" become a noun?) and status reporting becomes a significant percentage of the total budget.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Why the Difference?&lt;/h3&gt;There are two reasons expert teams get away with less formal process than is typical, but I can only prove one of them. The public answer business sponsors tell themselves to justify the exception to "official methodology" is that the experts have worked the methodology for so long that they can follow the same procedures without exhaustively documenting all the steps. And there is some truth to that.&lt;br /&gt;&lt;br /&gt;But I suspect the larger reason is that experts get the work done so much faster there just isn't enough time for documentation to build up.&lt;br /&gt;&lt;br /&gt;The best athletes make things look easy that most people could not even do. A high jumper might clear six feet without even trying hard. Most people would never come close even with months to try.&lt;br /&gt;&lt;br /&gt;The best IT people do the same thing. They complete projects in weeks that other people &lt;em&gt;could never do&lt;/em&gt;. As "safe" projects drag on specifications are refined, status reports are produced, contracts are negotiated, updates are requested and provided. Meanwhile another project team has just released to production – so it must have been a small project.&lt;br /&gt;&lt;br /&gt;The hard part for the client is to recognize the difference between a project that went smoothly because it was easy, and one that went smoothly because the team made it look easy. But here’s the secret. You don’t really &lt;em&gt;need&lt;/em&gt; to recognize the difference.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How to Do Better&lt;/h3&gt;The reason you hired someone else to do the work is because you couldn't do it yourself. Which means you can’t accurately judge which projects are actually hard, and which ones just look hard. So don’t judge the project, judge the people.&lt;br /&gt;&lt;br /&gt;The people who seem to always be working on small, simple projects – after all, they always go quickly with no major problems – are better at execution. They will be better no matter what the project is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7466966796172247094?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.494620' title='How to Finish IT Projects Faster with Less Documentation'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7466966796172247094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7466966796172247094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7466966796172247094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7466966796172247094'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/05/how-to-finish-it-projects-faster-with.html' title='How to Finish IT Projects Faster with Less Documentation'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2592620484066910177</id><published>2007-03-29T09:06:00.000-05:00</published><updated>2007-03-29T09:13:21.924-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='career'/><title type='text'>A Tale of Two Techies</title><content type='html'>You've just finished learning MS SQL 4.2 and VB 5 in school. You get a job with a company that has just upgraded to those languages. You get to learn the ins and outs of the languages along with the rest of your co-workers.&lt;br /&gt;&lt;br /&gt;Two years later you want to upgrade from your entry-level salary. You know that big raises only come from job hopping, and you see that most of the job ads are for VB6, so you start studying it on your own. You find some cool new things you think would help in your current job and start pushing people to upgrade.&lt;br /&gt;&lt;br /&gt;Your tech lead, Bob -- who has been with the company for seven years -- says the current applications are stable and it's not worth the cost to upgrade. The boss listens to Bob instead of you. You say bad things about Bob on an internet forum.&lt;br /&gt;&lt;br /&gt;You find a new contract gig working with VB6, and making almost as much as Bob does. Boy, Bob sure is dumb. If he had any balls he'd have jumped already. You start racking up frequent-flyer miles chasing the next gig. Bob evaluates and recommends a new third-party tool that uses VB6. He gets a VB6 class for his whole staff included in the project cost.&lt;br /&gt;&lt;br /&gt;Five years later, you're a .NET hired gun and you know which airports have the best frequent-flyer clubs. You've got a fat bank account and all the best buzzwords on your resume.&lt;br /&gt;&lt;br /&gt;Bob is still with the same company, but now he's the IT Director. He's not making as much as you, but he's vested and his 401 is looking pretty good. He hasn't touched any code in a couple of years, but has a few long-term employees working for him whose opinions he trusts. He also hasn't answered an after-hours page for a few years.&lt;br /&gt;&lt;br /&gt;You meet Bob on a street corner one day and talk about old times, catch up on what's been happening. Suddenly a car jumps the curb and puts you both in the hospital. Oops.&lt;br /&gt;&lt;br /&gt;You were smart enough to get good medical insurance, but your income stops since you're not billing hours any more. Bob goes on medical leave. His wife takes his two children out of junior high and comes in to visit. Your pregnant wife comes in to visit. (You spent your twenties traveling, so are just starting your family.)&lt;br /&gt;&lt;br /&gt;Three months later, Bob goes back to work part-time while you sit at home, surfing the net, searching for a gig that will give you the flexibility you need to work around your physical therapy.&lt;br /&gt;&lt;br /&gt;By the end of the year, your savings are gone. Microsoft has released the Next Big Thing after .NET, and you don't have any work experience with it on your resume. You're applying for maintenance gigs on "legacy" apps -- two-year-old .NET apps written by guys straight out of school, who just left for their first not-entry-level jobs. Maybe in another year or two you'll be able to climb back onto the leading edge.&lt;br /&gt;&lt;br /&gt;Bob just accepted an internal transfer to run the division he's been supporting for the last decade. He recommends as his replacement the long-term employee who filled in for him during his absence. The last division head held the job for 15 years until his retirement. Bob could do the same, and retire with a decent pension when he's 60.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2592620484066910177?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2592620484066910177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2592620484066910177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2592620484066910177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2592620484066910177'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/03/tale-of-two-techies.html' title='A Tale of Two Techies'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1285271295179302954</id><published>2007-02-20T13:27:00.000-05:00</published><updated>2007-02-20T13:30:25.496-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='principles'/><title type='text'>Principle: Everyone should hit the ground running</title><content type='html'>Total size of the codebase doesn't matter.  Everything a new programmer touches is either shared by other parts of the system or it's not.  If it's shared, the new guy probably shouldn't be touching it anyway.  If it's not shared, it should be small and self-contained enough to learn it quickly.&lt;br /&gt;&lt;br /&gt;Now if you've got a guy in his first month who wants to re-write your DB access class, then you've got a whole different problem than just getting him up to speed. And if he's right about it needing to be re-written, the problem isn't with the new guy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1285271295179302954?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1285271295179302954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1285271295179302954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1285271295179302954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1285271295179302954'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/principle-everyone-should-hit-ground.html' title='Principle: Everyone should hit the ground running'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3757485411849606997</id><published>2007-02-20T13:18:00.000-05:00</published><updated>2007-12-13T11:43:23.286-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='good questions'/><category scheme='http://www.blogger.com/atom/ns#' term='interviewing'/><category scheme='http://www.blogger.com/atom/ns#' term='1000 or more words'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>How to avoid analysis paralysis in the interview</title><content type='html'>Prepping for a job interview is a little like a politician prepping for a debate. There are certain questions you can count on hearing, and you prepare canned responses to them. In the job interview these would be things like, "Why did you leave your last job?" and "Where do you see yourself in five years?"&lt;br /&gt;&lt;br /&gt;Then there are the technical screening questions. They'll focus on your experience and knowledge. Typically you'll get some basic stuff to begin with, just to see if you really did all those things you put on your resume.&lt;br /&gt;&lt;br /&gt;Then you start getting to the interesting questions. The ones that don't have a clear "right" answer. &lt;em&gt;Or do they? Does the interviewer have something specific in mind? Will I blow it by not coming up with the right answer?&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Take these two technical questions as an example:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1) When or why would you consider using an RDBMS (like MySQL etc) as opposed to a desktop database (sqlite etc)?&lt;br /&gt;&lt;br /&gt;2) When creating a function how many parameters would you allow that function to handle?&lt;/blockquote&gt;Programmers tend to enter the field, and stay in it, because they're good at finding right answers. Computers are (mostly) deterministic. The upside for the programmer is that they know with certainty when they've solved a problem. The downside is that they know with frustrating certainty when they haven't. They can't just dress up "because I said so" in reasonable-sounding logic and turn it in. Their program has to actually &lt;em&gt;work&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;But the questions above don't have right answers. They aren't intended to see if someone knows how to implement a given solution. They're intended to see if someone knows how to ask the right questions to &lt;em&gt;choose&lt;/em&gt; the right solution.&lt;br /&gt;&lt;br /&gt;Anyone can look up a linked list implementation, or a quicksort. Most interviewers are more interested in identifying the guy who can figure out which one to use.&lt;br /&gt;&lt;br /&gt;For the parameters question above, I'd want somebody to state a basic rule of thumb -- probably something from 3-10 "feels" like a reasonable starting point. But they should also explain their reasoning, which might be along the lines that too many parameters is &lt;em&gt;likely&lt;/em&gt; to indicate too much going on in one function. Then possibly present an exceptional case where a high parameter count would be preferred.&lt;br /&gt;&lt;br /&gt;Maybe there would be some discussion around passing an array of name/value pairs instead of multiple individual parameters, or named parameters, default values, etc. Or pro/con on passing all the values for an object in the new() declaration, vs. a basic instantiation and then multiple set() calls.&lt;br /&gt;&lt;br /&gt;These specifics are &lt;em&gt;not&lt;/em&gt; the "one right answer". They're examples of the &lt;em&gt;kind&lt;/em&gt; of answer I'd hope to hear. If I asked you the question and you couldn't either float some ideas or ask some reasonable questions, I'd take it as a sign of lack of experience. Interviews are not a multiple-choice test, they're essay format. If the interviewer &lt;em&gt;or&lt;/em&gt; the candidate acts like it's multiple-choice, they're wrong.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Trying hard to not get it&lt;/h3&gt;If you're interviewing people for entry-level jobs, maybe you &lt;em&gt;do&lt;/em&gt; just need to know that the candidate can implement a particular pattern. Once you get past entry level, you'll want to see that the candidate can identify which pattern they should implement. Best is to find a candidate who knows &lt;em&gt;why&lt;/em&gt; to choose a particular pattern. Which means they know other patterns and why not to choose one of them instead.&lt;br /&gt;&lt;br /&gt;You can make it through a class in school only learning the one technique that you're going to be tested on. That's why entry level people aren't trusted to make choices, just do what they're told.  Once you get out of the classroom, you have the freedom to re-invent everything, making the same mistakes everyone has made before you. The more ways you've seen to solve a given problem, the more choices you have. I'm not interested in finding someone who's always going to choose the same solution as me. I want someone who knows the general principles and how to prioritize competing goals.&lt;br /&gt;&lt;br /&gt;But some programmers will get nervous, and others downright hostile, if you ask a question without a clear right answer. As far as they're concerned, it's a "bad question" that you shouldn't even ask. Apparently any question where the answer starts with "It depends" is a trick question, and even asking it is an insult.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How you &lt;em&gt;should&lt;/em&gt; answer&lt;/h3&gt;Remember those courses you took where the instructor would tell you to show your work? Even if the answer was wrong, you could get partial credit for having the right approach. When interviewing it's &lt;em&gt;all&lt;/em&gt; about showing the work. The "right" answer is almost incidental.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;But sometimes there is a right answer. Doesn't that matter?&lt;/em&gt; Absolutely. And knowing whether you're dealing with one of those questions or not is an important skill.&lt;br /&gt;&lt;br /&gt;If my goal is to evaluate whether someone knows how to clarify an incomplete requirement, I don't start by telling him, "Now I'm going to give you an incomplete requirement to see if you know to clarify it." I ask a question as though there &lt;em&gt;is&lt;/em&gt; a right answer and see what they say.&lt;br /&gt;&lt;br /&gt;So maybe you read all of this and think that now you know what &lt;em&gt;I'm&lt;/em&gt; looking for. That doesn't help you with someone else who may have a different plan. The good news is that it doesn't matter, as long as you answer truthfully.&lt;br /&gt;&lt;br /&gt;If the interviewer is looking for a specific answer and you give multiple alternatives, you may be giving a &lt;em&gt;better&lt;/em&gt; answer than what he expected. Or maybe he'll disagree with your reasoning and decide that you are wrong. Do you want to work for someone who will shoot down your ideas?&lt;br /&gt;&lt;br /&gt;Or the question was supposed to be open-ended but you give a single definitive answer. A good interviewer will prompt you to explain, maybe even asking about specific alternatives. Did you have a good reason to discount those answers? Explain it. Did you not think about that? Admit it. Maybe you're really not a good fit for this position.&lt;br /&gt;&lt;br /&gt;Sure, you need a paycheck. But unless you are desperate you also need a good fit. If you and the person you'll be working for don't see things the same way, you won't get that fit. So instead of trying to overanalyze what the interviewer "really meant", just answer as honestly and completely as you think you can. If you, the interviewer and the position are a match, all that's left is to talk about the money.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3757485411849606997?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3757485411849606997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3757485411849606997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3757485411849606997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3757485411849606997'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/analysis-paralysis-in-interview.html' title='How to avoid analysis paralysis in the interview'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3892548714813258391</id><published>2007-02-19T15:42:00.002-05:00</published><updated>2007-12-13T11:53:18.198-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='trevor blackwell'/><category scheme='http://www.blogger.com/atom/ns#' term='paul graham'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='1000 or more words'/><category scheme='http://www.blogger.com/atom/ns#' term='dave christiansen'/><category scheme='http://www.blogger.com/atom/ns#' term='joel spolsky'/><title type='text'>Get to the point</title><content type='html'>Dave Christiansen over at &lt;a href="http://www.techdarkside.com/?p=80"&gt;Information Technology Dark Side&lt;/a&gt; has a good graphic representing what he calls the FSOP Cycle (Flying by the Seat of Your Pants). The basic idea is that when smart people do good things, someone will try to reproduce their success by doing the same thing that worked the first time.&lt;br /&gt;&lt;br /&gt;The problem with trying to do this is that every time someone tries to document a "successful process", they always leave off the first step: get smart people working on the project.&lt;br /&gt;&lt;br /&gt;Dave outlines several reasons why capital-P Process will never solve some problems. Joel Spolsky described this same issue in his &lt;a href="http://www.joelonsoftware.com/articles/HighNotes.html"&gt;Hitting the High Notes&lt;/a&gt; article when he wrote, "Five Antonio Salieris won't produce Mozart's Requiem. Ever. Not if they work for 100 years."&lt;br /&gt;&lt;br /&gt;So if Process can't solve your problem, what will? According to Dave, it's simple:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Put a smart PERSON in the driver's seat, and let them find the way from where you are to where you want to be. It's the only way to get there, because process will never get you there on its own.&lt;/blockquote&gt;I'll assume that when Dave says "smart" he really means "someone good at solving the current problem". I could have the world's smartest accountant and I wouldn't want him to remove my appendix. Okay, I don't want &lt;em&gt;anyone&lt;/em&gt; to remove my appendix. But if I &lt;em&gt;needed&lt;/em&gt; it done, I'd probably go find a doctor to do it. So what Dave is saying is that you'd rather have someone who's good at solving your current type of problem, than have Joe Random Guy trying to follow some checklist.&lt;br /&gt;&lt;br /&gt;This isn't a complete answer, though. Some songs don't have any high notes.&lt;br /&gt;&lt;br /&gt;In the middle of describing why you should choose the most powerful programming language, &lt;a href="http://www.paulgraham.com/icad.html"&gt;Paul Graham writes&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;But plenty of projects are not demanding at all. Most programming probably consists of writing little glue programs, and for little glue programs you can use any language that you're already familiar with and that has good libraries for whatever you need to do.&lt;/blockquote&gt;&lt;a href="http://www.tlb.org/"&gt;Trevor Blackwell&lt;/a&gt; suggests that &lt;a href="http://www.paulgraham.com/icadmore.html"&gt;while that may be changing&lt;/a&gt;, it was still true at least until recently:&lt;br /&gt;&lt;blockquote&gt;Before the rise of the Web, I think only a very small minority of software contained complex algorithms: sorting is about as complex as it got.&lt;/blockquote&gt;If it's true that most programming doesn't require the most powerful language, it seems fair to say most programming doesn't require the best programmers, either.&lt;br /&gt;&lt;br /&gt;You might notice at this point (as I just did) that Dave wasn't talking about programming, or at least not &lt;em&gt;only&lt;/em&gt; programming. The same principle seems to hold, though: Average people can do the most common things with the most common tools. Exceptional circumstances require exceptional tools and/or exceptional people. If only there were a way to predict when there will be exceptions …&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The other problem&lt;/h3&gt;But let's say we're looking at genuinely exceptional people who have done great work. Should we ask them how they did it? After all, they're the experts.&lt;br /&gt;&lt;br /&gt;Well, not really. They're only experts on what they did, not why it worked. They might have simply guessed right. Even if they didn't &lt;em&gt;think&lt;/em&gt; they were guessing.&lt;br /&gt;&lt;br /&gt;Need another example of &lt;a href="http://www.don-lindsay-archive.org/skeptic/arguments.html#falseauth"&gt;false authority&lt;/a&gt;? Have you ever heard someone describe a car accident, and &lt;a href="http://www.google.com/search?q=%22if%20I%20had%20been%20wearing%20my%20seatbelt%22"&gt;attribute their survival to &lt;em&gt;not&lt;/em&gt; wearing a seatbelt&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;First, they don't know that. They &lt;em&gt;believe&lt;/em&gt; it. They obviously didn't do a controlled experiment where the only difference was the seatbelt. Second, even if they happen to be right in this case, statistics show that it’s much more common for the seatbelt to save you than harm you.&lt;br /&gt;&lt;br /&gt;So if you want to design a repeatable process for creating software, you can't do it by asking people who are good at creating software.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The &lt;em&gt;other &lt;/em&gt;other problem &lt;/h3&gt;One change I'd make in Dave's FSOP diagram is in the circle labeled "Process Becomes Painful". It's not that the Process changes. Really what's happening is that the project runs into some problem that isn't addressed by the current Process.&lt;br /&gt;&lt;br /&gt;Every practice you can name was originally designed to solve a specific problem. On very large projects, there's the potential to encounter lots of problems, so extensive Process can simultaneously prevent many of those problems from appearing.&lt;br /&gt;&lt;br /&gt;But attempting to prevent every conceivable problem actually &lt;em&gt;causes&lt;/em&gt; the problem of too much time spent on the Process instead of the project.&lt;br /&gt;&lt;br /&gt;That's where Agile comes in. It solves the problem of too much process. Do you currently suffer from too much process? Then you could incorporate some ideas from Agile.&lt;br /&gt;&lt;br /&gt;But make a distinction between using ideas to deal with specific problems, and adopting a whole big-M "Methodology". Once you adopt a Methodology designed to solve the problem of too much Process, you face the danger of having too &lt;em&gt;little&lt;/em&gt; Process.&lt;br /&gt;&lt;br /&gt;Your expert programmers may be the best in the world at the problem you hired them for. But now you want them to do something different. And you have no way to recognize that they're not making progress, because you've eliminated all the governance that came with the heavyweight Methodology.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;So what's the point, anyway? &lt;/h3&gt;Process is not something you can measure on a linear scale, having "more process" or "less process". Always adding practices -- even "best" practices -- to your current Process is simply trying to solve all possible problems, whether you're currently having them or not.&lt;br /&gt;&lt;br /&gt;For each practice you have to consider what it was designed to solve, what was the point of it to begin with? Then &lt;em&gt;don't&lt;/em&gt; treat these practices as a checklist that must be completed every time, but follow the principles behind them.&lt;br /&gt;&lt;br /&gt;There's a line in the movie "&lt;a href="http://www.imdb.com/title/tt0120655/quotes"&gt;Dogma&lt;/a&gt;" that I think describes this really well. Just substitute "process" for "idea" and "Methodology" for "belief":&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;You can change an idea. Changing a belief is trickier. Life should be malleable and progressive; working from idea to idea permits that. Beliefs anchor you to certain points and limit growth; new ideas can't generate. Life becomes stagnant.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3892548714813258391?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3892548714813258391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3892548714813258391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3892548714813258391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3892548714813258391'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/get-to-point.html' title='Get to the point'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-892108347316775018</id><published>2007-02-19T11:06:00.000-05:00</published><updated>2007-09-21T13:15:35.182-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='estimates'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='budget'/><title type='text'>What conclusion would you like me to reach?</title><content type='html'>&lt;em&gt;Why is it that the rest of the world has functioned fine on estimating projects of many sizes and scopes, then sticking to them; while IT screams "OH WE can't do that!"?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I'll admit a large reason is because lots of people in IT are really bad at estimating. But part of the reason we've managed to &lt;em&gt;stay&lt;/em&gt; so bad at estimating, and the main reason all estimates seem to be so far off, is that the business side &lt;em&gt;wants&lt;/em&gt; the estimates to be low.&lt;br /&gt;&lt;br /&gt;The common complaint is that IT projects are "always over time and over budget". Since the IT budget (for software) is almost entirely salary, time and budget are synonymous. When you set the budget, you’ve just set the time.&lt;br /&gt;&lt;br /&gt;But most IT projects -- and nearly every one I've worked on -- have a budget set before the detailed design is ever done. Or at least the clients have an idea in mind what they'd &lt;em&gt;like&lt;/em&gt; it to cost. So without realizing they’re doing so, the clients set the time estimate sometimes before they’ve ever talked to the developers.&lt;br /&gt;&lt;br /&gt;I had to help out some less-experienced people who were being asked for estimates. I told them the trick is to figure out a diplomatic way to ask, "What number would you like me to say?"&lt;br /&gt;&lt;br /&gt;The funny thing is that this is not just being cynical, either. There's real value to it. If you're thinking four months and the client says three days, there's a good chance you don't have the same idea in mind for what you plan to do.&lt;br /&gt;&lt;br /&gt;For instance, they ask you to write a search engine "like Google" to put on your intranet. You're thinking a couple of months. They're thinking end of the week.&lt;br /&gt;&lt;br /&gt;It turns out they want you to buy a Google search appliance and integrate it into the intranet. To the client, "write" "create" "implement" "install" and all those other words we use that mean different things ... all mean the same thing: work that the IT guys do.&lt;br /&gt;&lt;br /&gt;So if you want to get the work -- or if you’re an employee and have no choice in the matter -- see what number they have in mind already and tell them what they can have in that length of time. If you don't promise to deliver &lt;em&gt;something&lt;/em&gt; in the given time frame, they'll go find someone who will. Not that they'll &lt;em&gt;deliver&lt;/em&gt; in that time, but they'll &lt;em&gt;promise&lt;/em&gt; to deliver in that time.&lt;br /&gt;&lt;br /&gt;Compare this to construction. The client may get five quotes for pouring concrete. If four of the bids are close to $50k, but one of them is $20k, the client will likely assume the low bid is unrealistic and choose among the remaining contractors.&lt;br /&gt;&lt;br /&gt;But if a programmer or independent software vendor says some work will cost $50k, the client can find someone who will promise to deliver for $20k. The sponsor will either accept the lower bid, or use it to negotiate the first vendor down to $25k. When it ends up costing $50k, that project goes in the books as "over time and over budget".&lt;br /&gt;&lt;br /&gt;What would it look like if construction bids were awarded the same way? If for instance the client were required by law to select the lowest bid? Then contractors would low-ball every bid to get the contract. You’d end up with construction that always ran over time and over budget. You would need an endless supply of money to stay in business. You would need to be … the government.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-892108347316775018?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/892108347316775018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=892108347316775018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/892108347316775018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/892108347316775018'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/what-conclusion-would-you-like-me-to.html' title='What conclusion would you &lt;i&gt;like&lt;/i&gt; me to reach?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1767838563469693569</id><published>2007-02-15T13:57:00.000-05:00</published><updated>2008-01-18T16:01:04.363-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geek Squad'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='corporate policies'/><category scheme='http://www.blogger.com/atom/ns#' term='software installation'/><title type='text'>Installing software is not worth my time</title><content type='html'>My PC is managed according to corporate standards. I can't install anything without an administrator signing on and authorizing it. I asked if I could install the software to link to my cell phone and load my contacts into it. Otherwise I'd be spending a couple of hours over the next week manually entering them all in via the keypad.&lt;br /&gt;&lt;br /&gt;The day after I put the ticket in, someone called up and asked where the software was. I told him I had it on a CD. The local support guy came up the next morning, saw that it was an OEM disk and not some random thing I'd burned, and logged in as administrator so I could install it.&lt;br /&gt;&lt;br /&gt;Sure, it was two days before I got what I needed, but it wasn't a compelling gotta-have-it-today issue.&lt;br /&gt;&lt;br /&gt;Everything else on here is available as a network install, and is set up in my profile. When I get a new PC -- I'm due to be refreshed in the next month or so -- I'll go to a single application, check the boxes for everything I need, and go to lunch. When I come back, everything will be installed.&lt;br /&gt;&lt;br /&gt;Every application that I install myself I'd have to reinstall when I get a new PC. How many hours would that take? Multiply that by the number of users in my office, which just relocated earlier this year. Most of us didn't take the hardware from the old location, we just came to blank systems at our new desks and kicked off the install process.&lt;br /&gt;&lt;br /&gt;If I'm paying for it, it is not worth my time to install software. If my alternatives are to load all my apps on a new PC I've just bought, or to work a billable hour and pay someone else to do the installs, I'll pay the Geek Squad to click OK and reboot 14 times. Why should I expect the company I work for, who owns the PC I'm working on, to make a different decision?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1767838563469693569?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.451613' title='Installing software is not worth my time'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1767838563469693569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1767838563469693569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1767838563469693569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1767838563469693569'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/installing-software-is-not-worth-my.html' title='Installing software is not worth my time'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1987302166025851206</id><published>2007-02-09T13:20:00.000-05:00</published><updated>2007-02-09T13:22:27.263-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The program is not the product</title><content type='html'>Managers want programs to be like the output of a factory. Install the right robots and tooling, start the process, and good software comes out the end.&lt;br /&gt;&lt;br /&gt;WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG WRONG!!!!!! (Can you tell I disagree?)&lt;br /&gt;&lt;br /&gt;Nearly everyone who makes the factory analogy misses a very fundamental point: the program is not the product. For one thing, unless you work for a software company selling shrink-wrapped software products you aren't ever selling the program. Conventional wisdom says most programmers actually work for internal IT, so it's safe to say most programs are never sold.&lt;br /&gt;&lt;br /&gt;Businesses don't want programs, they want credit reports ... and loan contracts ... and title searches ... and purchase orders ... and claim forms ...&lt;br /&gt;&lt;br /&gt;So what &lt;em&gt;is&lt;/em&gt; the right analogy? The program is the assembly line! So measuring bugs in the program is wrong. Even comparing compiling to manufacturing -- which is better than comparing programming to manufacturing -- is wrong. What you &lt;em&gt;should&lt;/em&gt; be looking at is &lt;em&gt;the output produced by the program&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Is your program a website? Measure the number of pages it can produce per unit time, without error. Is it an editor? Measure the number of pages it can spell-check per unit time, and with what accuracy.&lt;br /&gt;&lt;br /&gt;When measuring the output of a manufacturing process, you literally &lt;em&gt;shouldn't care&lt;/em&gt; what the process looks like, nor what tools are used, so long as it consistently produces the same output. This is not to say the process and tools don't matter. A bad process may be prone to unexpected failure. Tools may be harder to maintain or have a shorter service life. You may be locked into a service contract with the manufacturer. And coincidentally [ahem] all these factors apply to software.&lt;br /&gt;&lt;br /&gt;So yes, programming can be compared to manufacturing. As long as you remember that the program is not the product, the program is the assembly line.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1987302166025851206?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.449657' title='The program is not the product'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1987302166025851206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1987302166025851206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1987302166025851206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1987302166025851206'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/program-is-not-product.html' title='The program is not the product'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7501965322896263327</id><published>2007-02-09T11:01:00.000-05:00</published><updated>2007-02-09T11:22:58.240-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Novell'/><category scheme='http://www.blogger.com/atom/ns#' term='FSF'/><category scheme='http://www.blogger.com/atom/ns#' term='GPL'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Can the FSF "Ban" Novell from selling Linux?</title><content type='html'>&lt;a href="http://www.informationweek.com/showArticle.jhtml?articleID=197003063" rel="nofollow"&gt;Novell Could Be Banned From Selling Linux: Group Claims&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;BOSTON - The Free Software Foundation is reviewing Novell Inc.'s right to sell new versions of Linux operating system software after the open-source community criticized Novell for teaming up with Microsoft Corp. &lt;/blockquote&gt;&lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.447941"&gt;The problem is that the FSF wants all code to be free. Period.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That's their preference, yes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.447941"&gt;They want to make the GPL so darned viral that no one can include any copyrighted or patented components Period. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No, they want all the components &lt;em&gt;on which they hold the copyrights&lt;/em&gt; to be &lt;em&gt;protected&lt;/em&gt; by those copyrights. And they want those components to be freely available to anyone who agrees to make their modifications available under the same terms.&lt;br /&gt;&lt;br /&gt;You can't modify and distribute Microsoft's code without permission. You can't modify and distribute GPL code without permission.&lt;br /&gt;&lt;br /&gt;The way you get permission to distribute Microsoft's code is to pay them a lot of money, or cross-license your own code. They way you get permission to distribute GPL code is to release your modifications under the GPL.&lt;br /&gt;&lt;br /&gt;Microsoft can destroy your business model by bundling a version of what you make. GPL-using authors can destroy your business model by releasing a free version of what you make.&lt;br /&gt;&lt;br /&gt;If you don't want to be bound by Microsoft's terms, write your own code. If you don't want to be bound by the GPL, write your own code.&lt;br /&gt;&lt;br /&gt;How is GPL viral while Microsoft is business?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.447941"&gt;How can the FSF "ban" Novel from selling "Linux" when Linux itself is not wholely licensed under the GPL and not wholely owned by FSF? Sure, there are many GPL components within the typical Linux distro, but not all of them have to be.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://www.answers.com/topic/linux"&gt;Answers.com&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;More Than a Gigabuck: Estimating GNU/Linux's Size&lt;/i&gt;, a 2001 study of &lt;a href="http://www.answers.com/topic/red-hat-linux"&gt;Red Hat Linux&lt;/a&gt; 7.1, found that this distribution contained 30 million &lt;a href="http://www.answers.com/topic/line-of-code"&gt;source lines of code&lt;/a&gt;. ... Slightly over half of all lines of code were licensed under the GPL. The Linux&lt;br /&gt;kernel was 2.4 million lines of code, or 8% of the total. &lt;/blockquote&gt;So the first point is that no, the FSF can not ban Novell from selling a GNU/Linux-based distribution, as long as all the current license terms are followed.&lt;br /&gt;&lt;br /&gt;However, the holder of the Linux trademark, Linux Torvalds, &lt;em&gt;could&lt;/em&gt; choose to prohibit them from using that mark to describe what they're selling. (See Micosoft / Sun / Java™) Though I haven't seen anything suggesting he plans to do so.&lt;br /&gt;&lt;br /&gt;Next, the Linux kernel &lt;em&gt;is&lt;/em&gt; covered under the GPL, so even if the the FSF doesn't hold the copyright it's entirely possible the kernel authors could ask the FSF to pursue any violations on their behalf. And I suspect Stallman and Moglen would be more than happy to do so.&lt;br /&gt;&lt;br /&gt;The bottom line, I think, is that business people who don't understand the technicalities will either see a deal with Microsoft as a reason to choose Novell for any Linux plans, or they will see the controversy as a reason to avoid Linux plans altogether. Either conclusion benefits Microsoft.&lt;br /&gt;&lt;br /&gt;People who &lt;em&gt;do&lt;/em&gt; understand the details will see that Novell offers them a conditional, time-limited right to use a specific version of Linux, which may or may not interoperate better with Windows systems, which can be effectively "end-of-lifed" at any time by Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7501965322896263327?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.447941' title='Can the FSF &quot;Ban&quot; Novell from selling Linux?'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7501965322896263327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7501965322896263327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7501965322896263327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7501965322896263327'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/can-fsf-ban-novell-from-selling-linux.html' title='Can the FSF &quot;Ban&quot; Novell from selling Linux?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-8944438842220891044</id><published>2007-02-02T21:34:00.000-05:00</published><updated>2007-02-02T22:04:17.050-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='troll'/><category scheme='http://www.blogger.com/atom/ns#' term='Infoworld'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>And this is bad why?</title><content type='html'>If you try hard enough, I suppose it's possible to spin anything into an attack on your pet target.  But the consistency with which Neil McAllister sounds the call of doom and gloom for all things open source is really quite astonishing.  Especially when you consider he writes the &lt;a href="http://www.infoworld.com/columnists/neil_mcallister.html"&gt;Open Enterprise column for Infoworld&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Take his &lt;a href="http://www.infoworld.com/article/07/01/29/05OPopenent_1.html"&gt;January 29th column&lt;/a&gt; about the formation of the &lt;a href="http://www.linux-foundation.org/"&gt;Linux Foundation&lt;/a&gt; for example:&lt;br /&gt;&lt;p class="ArticleBody" page="1"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="ArticleBody" page="1"&gt;On the surface, the union of Open Source Development Labs (OSDL) and the Free Standards Group (FSG) seems like a natural fit.                      Open standards and open source software are two great ideas that go great together.                   &lt;/p&gt;                   &lt;p class="ArticleBody" page="1"&gt;But wouldn't it make more sense to call the merged organization the Open Source and Standards Lab, or the Free Software and                      Standards Group? Why did they have to go and call it the &lt;a href="http://www.linux-foundation.org/" class="regularArticleU"&gt;Linux Foundation?&lt;/a&gt;&lt;/p&gt;                   &lt;p class="ArticleBody" page="1"&gt;On the one hand, it seems a shame that the group should narrow the scope of its activities to focus on a single project. Linux                      may be the open source poster child du jour, but it's hardly the only worthwhile project around.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="ArticleBody" page="1"&gt;&lt;/p&gt;If Neil had bothered to read his own magazine's &lt;a href="http://www.infoworld.com/article/07/01/22/HNstandardsgroupsmerge_1.html"&gt;newsletter the previous week&lt;/a&gt;, he would have known that:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="artText"&gt;&lt;p page="1" class="ArticleBody"&gt;With Linux now an established operating system presence for embedded, desktop and server systems, the primary evangelizing mission that the OSDL and FSG embarked upon in 2000 has come to an end, Zemlin said. The focus for the foundation going forward is on what the organization can do to help the Linux community more effectively compete with its primary operating system rival Microsoft. &lt;/p&gt;                   &lt;p page="1" class="ArticleBody"&gt;The combination of the two Linux consortiums was "inevitable," said Michael Goulde, senior analyst with Forrester Research.                      "The challenge Linux faces is the same one Unix faced and failed -- how to become a single standard."&lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="artText"&gt;&lt;p page="1" class="ArticleBody"&gt;&lt;/p&gt;&lt;/span&gt;So what's wrong with focusing on Linux, anyway?&lt;br /&gt;&lt;blockquote&gt;&lt;span class="artText"&gt;&lt;p class="ArticleBody" page="1"&gt;But then again, maybe it's not so strange -- not if you conclude that the Linux Foundation isn't any kind of philanthropic foundation at all. It's an industry trade organization, the likes of which we've seen countless times before. Judging by its charter, its true goal is little more than plain, old-fashioned corporate marketing. &lt;/p&gt;                   &lt;p class="ArticleBody" page="1"&gt;As such, the Linux Foundation is a unique kind of hybrid organization, all right -- but it's not the union of open source and open standards that make it one. Rather, it stands as an example of how to combine open source with all the worst aspects of the proprietary commercial software industry. How noble. &lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="artText"&gt;&lt;p class="ArticleBody" page="1"&gt;&lt;/p&gt;&lt;/span&gt;This is really amazing.  No one ever claimed that the partners in this merger were anything other than industry trade organizations, but the fact that the new foundation will continue the work of it's members is somehow un-noble.  And nobility is the standard by which we should judge those who are trying to make Linux more competitive in the market.&lt;br /&gt;&lt;br /&gt;His grammar and spelling may be better than that of the stereotypical Linux fanboys, who famously attack less-rabid supporters for their lack of purity.  Or maybe he just has a better editor.  But all the craft in the world doesn't disguise the fact that Neil's opinions are rarely more useful than the ramblings of an anonymous Usenet troll.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-8944438842220891044?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoworld.com/article/07/01/29/05OPopenent_1.html' title='And this is bad why?'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/8944438842220891044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=8944438842220891044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8944438842220891044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8944438842220891044'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/02/and-this-is-bad-why.html' title='And this is bad why?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1129869709331040761</id><published>2007-01-25T09:30:00.000-05:00</published><updated>2007-01-25T10:00:26.131-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Netcraft'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><category scheme='http://www.blogger.com/atom/ns#' term='market share'/><title type='text'>Changing your development platform</title><content type='html'>There are certain milestones in the life of a product when developers are free to ask if it’s time to change the platform it’s developed on. Typically you’ve shipped a major version and gone into maintenance mode. Planning has started for the next version, and you wonder if you should stick with what you’ve got or if, knowing what you know now, it might be better to switch from &lt;a href="http://msdn.microsoft.com/netframework/"&gt;.NET&lt;/a&gt; to &lt;a href="http://php.net"&gt;PHP&lt;/a&gt;, or from PHP to &lt;a href="http://java.sun.com/"&gt;Java&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You might think that checking &lt;a href="http://netcraft.com"&gt;Netcraft&lt;/a&gt; would be a good idea. You can see if your current platform is gaining or losing market share, and who doesn’t like market share? If you look at the &lt;a href="http://news.netcraft.com/archives/web_server_survey.html"&gt;latest chart&lt;/a&gt; you’ll see that Microsoft is gaining on Apache.&lt;br /&gt;&lt;br /&gt;But keep in mind that while Apache's &lt;em&gt;market share&lt;/em&gt; has gone down marginally, the &lt;em&gt;total&lt;/em&gt; number of sites has still gone up. Most of Microsoft's gain is from new sites, not from existing sites switching. (The exception being large &lt;a href="http://news.netcraft.com/archives/2006/04/17/perens_launches_open_source_domain_parking_service.html"&gt;site-parking operations switching to IIS&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;But really the important question is whether your preferred platform faces a reasonable possibility of becoming obsolete/unsupported. This is actually one place where the Unix world's slower upgrade cycles help. You rarely have applications "sunsetted" by the manufacturer.&lt;br /&gt;&lt;br /&gt;Am I arguing in favor of &lt;em&gt;dropping&lt;/em&gt; .NET? Not at all. I think you should use what works for you. What I'm saying is unless your chosen platform is in danger of becoming unsupported, and that causes a problem for you, then looking at market share charts should never get you to switch.&lt;br /&gt;&lt;br /&gt;Now if you hadn't already chosen a platform, and you wanted to know what platform had a larger market, &lt;em&gt;then&lt;/em&gt; you'd care about market share. But that's a subject for another post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1129869709331040761?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.443537' title='Changing your development platform'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1129869709331040761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1129869709331040761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1129869709331040761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1129869709331040761'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/changing-your-development-platform.html' title='Changing your development platform'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-6326683052127194417</id><published>2007-01-16T13:01:00.000-05:00</published><updated>2007-01-16T13:51:38.186-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nomad'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Geeks still don't know what normal people want</title><content type='html'>If you listen to geeks, locking out development of third-party applications will doom the iPhone in the market. But remember the &lt;a href="http://apple.slashdot.org/article.pl?sid=01/10/23/1816257"&gt;now-famous review&lt;/a&gt; when the iPod was released:&lt;br /&gt;&lt;blockquote&gt;No wireless. Less space than a nomad. Lame.&lt;/blockquote&gt;The market quickly decided they didn't care about wireless and bought the things in droves. And current versions have more space than the nomad did when the iPod came out. Now that the iPhone has been shown, geeks are &lt;em&gt;again&lt;/em&gt; &lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.437188"&gt;claiming that it's going to fail&lt;/a&gt;. This time because it's not going to be open to third-party applications.&lt;br /&gt;&lt;br /&gt;Apple doesn't care if you can extend it because they believe their target customer doesn't want it extended. They want something that works well, the same way, every time. The iPod wins because it does pretty much what people want, close enough to how they want, without making them think about how to do it.&lt;br /&gt;&lt;br /&gt;The iPhone may not be open to developers, but it's upgradable. When Apple finishes writing software to make the Wi-Fi automatically pick up a hotspot and act as a VoIP phone, that functionality can be rolled out transparently. First-gen iPhones will &lt;em&gt;become&lt;/em&gt; second-gen iPhones without the users having to do anything.&lt;br /&gt;&lt;br /&gt;The upgrade path will be to higher HD capacity, so people can carry more movies with them. I see these things as hugely popular for people who take trains to work. If I could take a train where I work now, I'd already be on a waiting list for an iPhone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-6326683052127194417?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/6326683052127194417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=6326683052127194417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6326683052127194417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6326683052127194417'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/geeks-still-dont-know-what-normal.html' title='Geeks still don&apos;t know what normal people want'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-5304634240600940394</id><published>2007-01-11T17:19:00.000-05:00</published><updated>2007-01-16T13:00:48.742-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deployment'/><category scheme='http://www.blogger.com/atom/ns#' term='principles'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Principles: Deployment</title><content type='html'>&lt;ul&gt;&lt;li&gt;Code that only runs on the developer's workstation isn't finished.&lt;/li&gt;&lt;li&gt;Any programmer that can't be bothered with ensuring his code can be deployed is only doing half his job.&lt;/li&gt;&lt;li&gt;Being responsible for the integration issues caused by your code can be a real eye-opener.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-5304634240600940394?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/5304634240600940394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=5304634240600940394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5304634240600940394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5304634240600940394'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/lore-deployment.html' title='Principles: Deployment'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2039706954654608182</id><published>2007-01-11T16:05:00.000-05:00</published><updated>2007-09-21T13:28:45.033-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='methodology'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><category scheme='http://www.blogger.com/atom/ns#' term='recycling'/><category scheme='http://www.blogger.com/atom/ns#' term='disco'/><category scheme='http://www.blogger.com/atom/ns#' term='other authors'/><title type='text'>Meet the new boss, same as the old boss v2</title><content type='html'>Sometimes you read something that you can't summarize without losing a lot. I just can't find any extra words in this post, so here it is in its entirety:&lt;br /&gt;&lt;blockquote&gt;1) Whatever language is currently popular will be the target of dislike for novel and marginal languages.&lt;br /&gt;&lt;br /&gt;2) Substitute technology or methodology for language in #1. In the case of methodology, it seems a straw man suffices.&lt;br /&gt;&lt;br /&gt;3) Advocates will point to the success of toy projects to support claims for their language/methodology/technology (LMT).&lt;br /&gt;&lt;br /&gt;4) Eventually either scale matters or nothing matters. Success brings scale. An LMT is worthy of consideration only after proving out at scale.&lt;br /&gt;&lt;br /&gt;5) Feature velocity matters in early stage Web 2.0 startups with hyperbolic time to market, but that is only a popular topic on the Web for the same reason Hollywood loves to hand out Oscars.&lt;br /&gt;&lt;br /&gt;6) Industry success brings baggage. Purity is the sign of an unpopular LMT. The volume of participants alone will otherwise muddy the water.&lt;br /&gt;&lt;br /&gt;7) Popularity invites scrutiny. Being unfairly blamed for project failure signals a maturing LMT; unfairly claiming success, immature LMT. Advocates rarely spend much time differentiating success factors.&lt;br /&gt;&lt;br /&gt;8) You can tell whether a LMT is mature by whether it is easier to find a practitioner or a consultant. Or by whether there is more software written *with* or prose written *about* the LMT.&lt;br /&gt;&lt;br /&gt;9) If you stick around the industry long enough, the tech refresh cycle will repeat with different terminology and personalities. The neophytes trying to make their bones will accuse the old guard of being unable to adapt, when really we just don't want to stay on this treadmill. That's why making statements like "Java is the new COBOL" are ironic; given time, "N+1 is the new N" for all values of N. It's the same playbook, every time -- but as Harlan Ellison said of fiction, every story has already been told, but nobody was listening the first time.&lt;br /&gt;&lt;br /&gt;10) Per #9, I could have written this same post, with little alteration, ten, twenty or thirty years ago. It seems to take ten years of practise to truly understand the value of any LMT. Early adopters do play the important role of exploring all the dead ends and limitations, at their cost. It's cheaper to watch other people fail, just like it hurts less to watch other people get injured.&lt;br /&gt;&lt;br /&gt;11) Lisp is older than I am. There's a big difference between novel and marginal, although the marginal LMTs try to appear novel by inserting themselves into every tech refresh cycle. Disco will rise again!&lt;br /&gt;&lt;br /&gt;12) If an LMT is truly essential, learning it is eventually involuntary. Early adopters assume high risks; on the plus side they generate a lot of fodder for blogs, books, courses and conferences.&lt;br /&gt;&lt;br /&gt;13) I wonder if I can get rich writing a book called Agile Lisp for Web 2.0 SOA. At least the consulting and course revenue would be sweet. Maybe I can buy an island. Or at least afford the mortgage payments on a small semi-detached bungalow in the Bay area.&lt;br /&gt;&lt;br /&gt;14) It requires support from a major industry player to bootstrap any novel LMT into popularity. The marginal LMTs often are good or even great, but lack sponsors.&lt;br /&gt;&lt;br /&gt;15) C/C++ remain fundamental for historical reasons. C is a good compromise between portability and performance -- in fact, a C compiler creates more optimal code than humans on modern machine architectures. Even if not using C/C++ for implementation, most advocates of new languages must at least acknowledge how much heavy lifting C/C++ does for them.&lt;br /&gt;&lt;br /&gt;16) Ditto with Agile and every preceding iterative methodology. Winding the clock back to waterfall is cheating. I'm more sophisticated than a neanderthal, but that won't work as a pick up line.&lt;br /&gt;&lt;br /&gt;17) Per #13, I don't think so, because writing this post was already a chore, let alone expanding the material to book length. Me an &lt;a href="http://steve-yegge.blogspot.com/"&gt;Yegge&lt;/a&gt; both need a good editor.&lt;br /&gt;&lt;br /&gt;&lt;div align="right"&gt;&lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.435162"&gt;Borealis&lt;br /&gt;Sunday, January 07, 2007 &lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;This covers the technology pretty well. All he left out was &lt;a href="http://drewkime.blogspot.com/2007/01/meet-new-boss-same-as-old-boss.html"&gt;the reason so much is coming back&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2039706954654608182?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2039706954654608182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2039706954654608182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2039706954654608182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2039706954654608182'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/meet-old-boss-same-as-new-boss-v2.html' title='Meet the new boss, same as the old boss v2'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-6278100727468379874</id><published>2007-01-11T12:50:00.000-05:00</published><updated>2007-01-11T16:56:09.478-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='copyright'/><category scheme='http://www.blogger.com/atom/ns#' term='piracy'/><category scheme='http://www.blogger.com/atom/ns#' term='MPAA'/><category scheme='http://www.blogger.com/atom/ns#' term='RIAA'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><category scheme='http://www.blogger.com/atom/ns#' term='TIVO'/><title type='text'>Get your boxes in order</title><content type='html'>Everyone seems to have an opinion on downloading music and TV shows, everything from "Information wants to be free" to "&lt;a href="http://en.wikipedia.org/wiki/Jamie_Kellner"&gt;Skipping commercials with your TIVO is theft&lt;/a&gt;." Some of the views are self-serving, some are rationalizations, and some people have strong opinions based on what they believe is right and just.&lt;br /&gt;&lt;br /&gt;Here's the thing a lot of people are missing, though: Breaking the law does not count as civil disobedience unless you go out of your way to do it publicly. Obviously I'm referring to people who upload and download music, movies or software without permission from the copyright holders. Some of them are just in it for the free tunes. Some of them think the law is wrong. But the ones who believe copyright laws have gone too far damage their case when they quietly violate the law, expecting to protest the law if they are caught.&lt;br /&gt;&lt;br /&gt;Think the law has &lt;a href="http://www.lessig.org/blog/archives/003628.shtml"&gt;tilted too far&lt;/a&gt; in favor of the &lt;a href="http://www.iipa.com/"&gt;copyright industry&lt;/a&gt;? Great, &lt;a href="http://drewkime.blogspot.com/2006/12/can-someone-give-me-name-of-good-buggy.html"&gt;so do I&lt;/a&gt;. Have you &lt;a href="http://www.house.gov/writerep/"&gt;written to your congressman&lt;/a&gt;? If not, then don't complain about the law when you get busted. It makes it look like you're just trying to stay out of jail -- which you are -- and supports the MPAA and RIAA next time they try to get copyright extended.&lt;br /&gt;&lt;br /&gt;Before you end up in a jury box, you should really try the ballot box. Time for me to get off my &lt;a href="http://www.knowprose.com/node/7946"&gt;soapbox&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-6278100727468379874?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/6278100727468379874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=6278100727468379874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6278100727468379874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6278100727468379874'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/get-your-boxes-in-order.html' title='Get your boxes in order'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-4155856194589413330</id><published>2007-01-11T09:32:00.000-05:00</published><updated>2007-01-11T16:41:18.989-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='lawsuit'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='trademark'/><category scheme='http://www.blogger.com/atom/ns#' term='current events'/><category scheme='http://www.blogger.com/atom/ns#' term='Cisco'/><title type='text'>What is Steve Jobs thinking?</title><content type='html'>We all knew Cisco had the trademark on the name. According to their &lt;a href="http://newsroom.cisco.com/dlls/2007/corp_011007.html"&gt;press release&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Cisco entered into negotiations with Apple in good faith after Apple repeatedly asked permission to use Cisco's iPhone name," said Mark Chandler, senior vice president and general counsel, Cisco. "There is no doubt that Apple's new phone is very exciting, but they should not be using our trademark without our permission." &lt;/blockquote&gt;They negotiated, Cisco said no. So they release it anyway. And &lt;a href="http://news.bbc.co.uk/2/hi/business/6250511.stm"&gt;Apple's response&lt;/a&gt; is:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Apple responded by saying the lawsuit was "silly" and that Cisco's trademark registration was "tenuous at best".&lt;br /&gt;&lt;br /&gt;"We think Cisco's trademark lawsuit is silly," Apple spokesman Alan Hely said. "There are already several companies using the name iPhone for Voice Over Internet Protocol (VOIP) products."&lt;/blockquote&gt;It's "silly"? Come on, that sounds like they're &lt;em&gt;daring&lt;/em&gt; Cisco to take it to court. And claiming that the trademark has already been diluted by other products is a dangerous game. If that argument prevails, then Apple will have no standing to prevent &lt;em&gt;anyone else&lt;/em&gt; from releasing their own iPhone.&lt;br /&gt;&lt;br /&gt;What the hell are they thinking?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[Update]&lt;br /&gt;&lt;br /&gt;See the Joel on Software forums for &lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.437468"&gt;some discussion of this&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-4155856194589413330?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://apple.com/iphone' title='What is Steve Jobs thinking?'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/4155856194589413330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=4155856194589413330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4155856194589413330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4155856194589413330'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/what-is-steve-jobs-thinking.html' title='What is Steve Jobs thinking?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-38510231648996913</id><published>2007-01-10T15:56:00.000-05:00</published><updated>2007-01-11T16:42:12.194-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HGTV'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='irony'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><title type='text'>Pay the man</title><content type='html'>IT people are frequently highly-educated, with extensive formal and on-the-job training. And we all, if you look at our resumés, think that we're fast learners. That's probably because everything we work with keeps changing every couple of years, so anyone who's been doing this for very long has learned multiple generations of tools. Many of our jobs also require us to be generalists, with a broad range of knowledge across multiple unrelated fields.&lt;br /&gt;&lt;br /&gt;It's probably not surprising, then, that we tend to be DIYers. Never changed a light fixture? No problem. Give me a few minutes with a book and I'll know enough to do it. House needs painting? Heck, I've always wanted an excuse to go get one of those power sprayers, I'm on it! That's why we're &lt;em&gt;shocked&lt;/em&gt; to hear how much people pay to have someone do work that, after all, we could do ourselves with little or no training.&lt;br /&gt;&lt;br /&gt;That was my frame of mind when I had to replace the shower door. The frame was mounted on tiled walls. I only cracked two of the tiles a little bit trying to get the old frame off, and lifted about a dozen away from the wall. No problem, just ran to the hardware store for some tile adhesive. And I only put the adhesive on a &lt;em&gt;little&lt;/em&gt; too thick, so two of the tiles fell off the next day when I started mounting the frame. And I only cracked one more because I was unfamiliar with the mounting hardware.&lt;br /&gt;&lt;br /&gt;I had to remove all the tiles and start over because the adhesive was actually nowhere near dry. I wanted to make sure it dried all the way, because I wasn't completely sure I did it right this time. When I tried again three days later, there was only one tile that fell off because I had gone too &lt;em&gt;thin&lt;/em&gt; with the adhesive. But after waiting a day for the grout on the rest to dry, I was able to scrape that space out and get the last tile up and grout it. The caulk and grout I used to patch the cracks looks mostly okay ... for now ... while it's still white&lt;br /&gt;&lt;br /&gt;All in all, it only took me a week and a half to hang that door. And the cracked and patched tiles will &lt;em&gt;probably&lt;/em&gt; still look good when I go to sell the house. (At least I hope they will; the color was discontinued years ago, so I'd have to re-tile the whole damn bathroom otherwise.) I'm so glad I didn't pay a hundred bucks to some barely-trained tradesman to do it for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-38510231648996913?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.434525' title='Pay the man'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/38510231648996913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=38510231648996913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/38510231648996913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/38510231648996913'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/pay-man.html' title='Pay the man'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-8041355848436782014</id><published>2007-01-10T11:22:00.001-05:00</published><updated>2007-01-11T16:43:16.055-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='pretty'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='stylesheets'/><title type='text'>Lipstick on a pig</title><content type='html'>If you've ever seen one of my project plans, there's a chance you've seen a task at the end that says "&lt;a href="http://drewkime.blogspot.com/2007/01/design-function-aesthetics.html"&gt;Add pretty&lt;/a&gt;". With &lt;a href="http://csszengarden.com/"&gt;good use of stylesheets&lt;/a&gt;, you can radically improve -- or damage -- the look of a website even after all the coding and most of the testing are done. A different person or group with a different skill set can take over from the programmers and work some magic with little interaction.&lt;br /&gt;&lt;br /&gt;You might think, based on this, that other parts of development can be pushed to the end after "real" development is done. You'll know someone was thinking that when you see a task late in a project plan that says "Add fast".&lt;br /&gt;&lt;br /&gt;I suppose I can live with the idea that there will be some performance tuning that's best done once everything else is complete. And on some projects just throwing more hardware at the problem is cheaper than a programmer's time to fix it. But actually improving the performance of an application is hard, and the changes pervasive.&lt;br /&gt;&lt;br /&gt;The second manifestation of specialized groups, one that always raises the &lt;a href="http://www.urbandictionary.com/define.php?term=bull+shit"&gt;brown flag&lt;/a&gt;, is when I see "Add security" at the &lt;em&gt;end&lt;/em&gt; of a plan. It's simply inexperience that allows anyone to think they can graft a security model onto a codebase after the fact without significant amounts of rewriting.&lt;br /&gt;&lt;br /&gt;"But this is a quick hack, and we only need the numbers for this one meeting." Sure, a report you'll only ever need once. I guess such a thing could exist, but &lt;em&gt;I've&lt;/em&gt; never seen it. In the first place, nothing lasts as long as a temporary fix that works well enough. And in the second place, many (most?) large, successful products started out as small, successful products.&lt;br /&gt;&lt;br /&gt;End/begin dependencies look really great on a &lt;a href="http://en.wikipedia.org/wiki/Gantt_chart"&gt;Gantt chart&lt;/a&gt;. Activities that invite and incorporate feedback don't look so neat and clean. Treating security as something that can happen to a product after it's already done is no better than ... well, see the title of this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-8041355848436782014?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/8041355848436782014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=8041355848436782014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8041355848436782014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8041355848436782014'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/lipstick-on-pig.html' title='Lipstick on a pig'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-8090082208043854542</id><published>2007-01-10T11:04:00.000-05:00</published><updated>2007-01-11T16:44:09.263-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pretty'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface'/><title type='text'>Design = function + aesthetics</title><content type='html'>Ask your local programmer if he knows how to design user interfaces and invariably he'll say he does. Go ahead, ask. I'll wait.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;You're back? Good. Now go look at the new &lt;a href="http://apple.com/iphone"&gt;iPhone&lt;/a&gt;. Has your guy ever made anything remotely that cool? Unless you're reading this from &lt;a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;amp;amp;amp;q=cupertino&amp;ie=UTF8&amp;amp;z=17&amp;ll=37.331932,-122.029577&amp;amp;spn=0.004172,0.01075&amp;t=h&amp;amp;om=1"&gt;Cupertino&lt;/a&gt;, odds are he hasn't. The UI is more beautiful and, as near as I can tell from the demo movies, more usable than any other phone or music player I've seen. But I wonder, how much of the perceived usability is a response to the beauty?&lt;br /&gt;&lt;br /&gt;It's becoming conventional wisdom that you &lt;a href="http://headrush.typepad.com/creating_passionate_users/2006/12/dont_make_the_d.html"&gt;don't want to make the demo look done&lt;/a&gt;. Excessive visual polish early in the process not only limits the feedback you get to comments about the superficial details, it also suggests equally finished interaction with the system. It literally makes it &lt;em&gt;look&lt;/em&gt; like it's doing more than it really &lt;em&gt;is&lt;/em&gt; doing.&lt;br /&gt;&lt;br /&gt;I've avoided this problem in my career by not being very good at graphics, and avoided realizing that by not working with any &lt;em&gt;real&lt;/em&gt; visual artists to compare my work to. Yes, I used to &lt;em&gt;think&lt;/em&gt; I was good at it, just like every programmer. Eventually I realized that consistency and predictability were a poor subset of what an artist can add.&lt;br /&gt;&lt;br /&gt;Now, whenever I make up a project plan, there is a task at the end for "Add Pretty". And my name isn't on that task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-8090082208043854542?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/8090082208043854542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=8090082208043854542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8090082208043854542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8090082208043854542'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/design-function-aesthetics.html' title='Design = function + aesthetics'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-6414947602250354163</id><published>2007-01-09T15:39:00.000-05:00</published><updated>2007-09-21T13:53:17.095-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Word'/><category scheme='http://www.blogger.com/atom/ns#' term='750 - 1000 words'/><category scheme='http://www.blogger.com/atom/ns#' term='archive'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogg Vorbis'/><category scheme='http://www.blogger.com/atom/ns#' term='WordStar'/><category scheme='http://www.blogger.com/atom/ns#' term='Luddite'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerPoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Dirac'/><title type='text'>The Digital Dark Ages</title><content type='html'>I've been paying my mortgage for about three years now. Unless I change something, I'm going to keep paying on it for another 27 years. I try not to think about the fact that although I have an actual physical copy of the mortgage agreement, with real pen-and-ink signatures, I don't have any proof that I've ever made a payment.&lt;br /&gt;&lt;br /&gt;At the risk of sounding like a Luddite, it bothers me that I have to trust the bank's computer system to keep track of all 360 payments I'll have made by the time it's over. I'm not just being paranoid. I had an issue where a bank said my wife still owed money on a loan we had paid off three years earlier. We didn't have anything in writing for each payment. The bank couldn't even tell us the history of the loan; just that the computer showed we still owed money. And if a bank says you owe money, unless your lawyers are bigger than their lawyers, then you owe them money.&lt;br /&gt;&lt;br /&gt;If you go to museums, you'll see ledgers from banks in the 1800s and earlier. Over two hundred years later and we still know who paid their bills and when. But five years in the past ... it doesn't exist.&lt;br /&gt;&lt;br /&gt;This could change with new regulations and retention requirements. But the big difference is what is standard vs. what you have to work at. A hundred years ago everything was written down. If you wanted to get rid of records you had to make an effort to identify what you wanted to delete, somehow separate it from the rest, and physically destroy it. Today, we only keep data as long as we have to. We only bother with long-term storage when the law or financial necessity makes us.&lt;br /&gt;&lt;br /&gt;Let's assume we have some data that we really want to keep "forever". What is that going to take?&lt;br /&gt;&lt;br /&gt;First, you'll want to store it on something that doesn't degrade quickly. Burning it to a CD or DVD seems to offer better longevity than VHS. Well, &lt;a href="http://www.pcworld.com/article/id,116473-page,1/article.html"&gt;maybe&lt;/a&gt;. Second, you want to store it in a format that you'll be able to read when you want to. This might be a harder problem than the physical longevity, when you start to consider how much data goes into a modern file format.&lt;br /&gt;&lt;br /&gt;Look at the problem from the user's perspective: The document format (the same applies to music and video) is just a way of saving the document in a way that it can be opened and look the same way at a later time, maybe on the same computer maybe not. When Windows 97 handles table formatting and text reflow around images a certain way for instance, the document format has a way of capturing the choices the user made.&lt;br /&gt;&lt;br /&gt;If I open that Word 97 document in Word 2003, either the tables, text and images look the same or they don't. If they look the same, it's because there's an import filter that understands what the old format means, and Word 2003 has a way of representing the same layout. If I then save as Word 2003, while the specific way to represent the layout has changed, the user doesn't see the difference nor care.&lt;br /&gt;&lt;br /&gt;If, on the other hand, that Word 97 document &lt;em&gt;doesn't&lt;/em&gt; look the same in Word 2003, it really doesn't matter to the user if problem is a bad import filter or if Word 2003 doesn't support the same features from Word 97. (Maybe they used &lt;a href="http://archive.baarns.com/graphics/office97/word/w97at1.gif"&gt;flame text&lt;/a&gt;.) So a format that technically captures all the information needed to exactly recreate a document is &lt;em&gt;utterly useless&lt;/em&gt; without something that can render it the same way.&lt;br /&gt;&lt;br /&gt;Okay, so we need long-term media, and we need to choose a format that is popular enough that there will still be import filters for it in the foreseeable future. Eventually we'll still reach the end of those paths. Either the disks will degrade, or the file format will be so out of date that &lt;a href="http://www.wordstar.org/wordstar/pages/convert_faq.htm#Q3"&gt;no one makes import filters any more&lt;/a&gt;. When that happens, the only way to keep our data will be to copy it to new media, and potentially in a new format.&lt;br /&gt;&lt;br /&gt;What should that format look like? We've already got &lt;a href="http://www.adobe.com/products/acrobat/"&gt;PDF&lt;/a&gt;, which is based on how something looks in print. We've got various &lt;a href="http://www.vorbis.com/"&gt;audio&lt;/a&gt; and &lt;a href="http://dirac.sourceforge.net/"&gt;video&lt;/a&gt; formats, which deal with playing an uninterrupted stream. But what about interactive/animated documents designed for online viewing?&lt;br /&gt;&lt;br /&gt;Believe it or not, I'm going to suggest a Microsoft solution, though it's one they haven't thought to apply this way: &lt;a href="http://www.microsoft.com/powerpoint/"&gt;PowerPoint&lt;/a&gt;. Today nearly everyone has a viewer, but not so long ago most of the slideshows I got were executables. If you had PowerPoint installed you could open the executable and edit the slideshow the same way you can edit a PDF if you have Acrobat.&lt;br /&gt;&lt;br /&gt;As much as people complain about the bloat that Word adds to simple files, I think the future of file distribution will be to package the viewer along with the file. At some point storage becomes cheaper than the hassle of constantly updating all those obsolete file formats. The only question is how low a level the viewers will be written to: OS family, processor architecture, anything that runs C, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-6414947602250354163?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/6414947602250354163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=6414947602250354163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6414947602250354163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6414947602250354163'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/digital-dark-ages.html' title='The Digital Dark Ages'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3074618304084733997</id><published>2007-01-08T17:26:00.000-05:00</published><updated>2007-01-11T16:46:05.166-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='glass house'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><category scheme='http://www.blogger.com/atom/ns#' term='web-based applications'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop applications'/><title type='text'>Meet the new boss, same as the old boss</title><content type='html'>In case you haven't noticed yet, we're going through another round of power struggles in the IT industry. Oh, that might not &lt;em&gt;look&lt;/em&gt; like what's going on. On the surface what people are saying is that it's a matter of web-based vs. desktop applications. Frequently these conversations are based on the premise that it's a discussion of the technical merits.&lt;br /&gt;&lt;br /&gt;Nope. It's the return of the &lt;a href="http://www.computerhope.com/jargon/g/glashous.htm"&gt;glass house&lt;/a&gt;. Peel back all the rationalizations about easier deployment, easier support, more consistency, and what it really comes down to is &lt;em&gt;more control&lt;/em&gt;. If we can just keep the software out of the users' hands then everything will be okay.&lt;br /&gt;&lt;br /&gt;But what history shows us is that users &lt;em&gt;like&lt;/em&gt; having control of their "stuff". Taking that control away requires either redefining "their stuff" to be "our stuff", or convincing them that they aren't qualified to handle their stuff.&lt;br /&gt;&lt;br /&gt;Is this what your customers are hearing from you?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3074618304084733997?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3074618304084733997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3074618304084733997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3074618304084733997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3074618304084733997'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/meet-new-boss-same-as-old-boss.html' title='Meet the new boss, same as the old boss'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-2453438441884891668</id><published>2007-01-07T20:48:00.000-05:00</published><updated>2007-01-11T16:46:51.191-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='war'/><category scheme='http://www.blogger.com/atom/ns#' term='Politics'/><category scheme='http://www.blogger.com/atom/ns#' term='laundry'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><category scheme='http://www.blogger.com/atom/ns#' term='current events'/><title type='text'>The War on Laundry™</title><content type='html'>Let's see:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Not a finite thing that can be destroyed, nor group which can be defeated.&lt;/li&gt;&lt;li&gt;No one qualified to declare surrender for it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There are better and worse ways to deal with it, none of which are able to completely eliminate it.&lt;/li&gt;&lt;li&gt;No matter how much you fight it, there will always be more soon.&lt;/li&gt;&lt;li&gt;No one really likes it, but the only way to avoid it is to change your lifestyle so profoundly that the alternative is worse.&lt;/li&gt;&lt;/ul&gt;Hmm, sounds about right.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Any relation to other Wars on Nouns are completely intentional.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-2453438441884891668?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/2453438441884891668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=2453438441884891668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2453438441884891668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/2453438441884891668'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/war-on-laundry.html' title='The War on Laundry&amp;trade;'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-8490737902423736922</id><published>2007-01-05T11:13:00.000-05:00</published><updated>2007-01-11T16:47:34.626-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='750 - 1000 words'/><category scheme='http://www.blogger.com/atom/ns#' term='sleep'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='advice'/><title type='text'>The day I got a lot smarter</title><content type='html'>One sign of intelligence is the ability to learn from your mistakes. An even better sign is the ability to learn from &lt;em&gt;someone else's&lt;/em&gt; mistakes. Unfortunately, we don't always have the luxury of watching someone else learn a valuable lesson, and we have to do it ourselves. But if we pay attention, sometimes we get to learn multiple lessons from one mistake. (Lucky us.)&lt;br /&gt;&lt;br /&gt;Case in point: Dealing with a crisis. I was managing a group of web developers, and the project lead on an integration with our largest client was going on vacation. He assured me his backup was fully trained, and would be able to deal with any issues. He left on Friday, and we deployed some new code on Monday. Everything looked good.&lt;br /&gt;&lt;br /&gt;On Wednesday at about 4 p.m., we got a call asking about an order. We couldn't find it in our system. From what we could tell, the branch that placed the order wasn't set up to use our system yet, so we &lt;em&gt;shouldn't&lt;/em&gt; have the order. At 5 I let the backup go home for the day while I worked on writing up what we'd found. I sent an internal email explaining what I believed had happened. I said that I would call the client and explain why we didn't have the order, and that they should check their old system.&lt;br /&gt;&lt;br /&gt;While double-checking the deployment plan, I discovered that the new branch actually &lt;em&gt;was&lt;/em&gt; on our new system ... as of that Monday. That's part of what was included in the new code. That's when I got the shiver down my spine. By that time the backup, whose house was conveniently in a patch of bad cell coverage, was gone. The lead was on vacation. "Okay," I thought, "I've seen most of this code, in fact I've &lt;em&gt;written&lt;/em&gt; a good bit of it. I can figure this out."&lt;br /&gt;&lt;br /&gt;Stop laughing. It sounded good at the time.&lt;br /&gt;&lt;br /&gt;To make a long story short (Too late!) we hadn't been accepting orders for three days from several branches, but had been returning confirmations for them. It was somewhere around 3 a.m. when I finally thought I knew exactly how many orders we had dropped, though I hadn't found the actual bug in the code yet. I created a spreadsheet with the list of affected orders. At one point I used Excel's drag-to-copy feature to fill a range of cells with the branch number for a set of orders.&lt;br /&gt;&lt;br /&gt;Did you know Excel will automatically increment a number if you drag to copy? Yes, I know it too. At 11:30 in the morning &lt;em&gt;today&lt;/em&gt; I know it. At 3 a.m. that night I apparently &lt;em&gt;didn't&lt;/em&gt; know that. So I sent it to the client with non-existent branch numbers that I didn't double-check. "Oops" apparently doesn't quite cover it.&lt;br /&gt;&lt;br /&gt;The next morning on a conference call with the client, my boss, his boss, and several other people, we were going over the spreadsheet when someone noticed the problem. To me, it seemed obvious that it was a simple cut-and-paste error on the spreadsheet. But someone -- a co-worker, believe it or not -- decided to ask, "Are you sure? Because I don't see those other two branches on here either." After dumbly admitting that I didn't know anything about any other two branches, I ended the call so I could go figure out what was happening.&lt;br /&gt;&lt;br /&gt;Now I had apparently demonstrated that I &lt;em&gt;didn't&lt;/em&gt; actually know what was wrong, that I had no idea of the scope of it, and that I was trying to cover it up. Yay me. We called in the lead (whose vacation was at home doing renovations) and started going through the code. I finally found the cause of the error, and it caused exactly the list of errors that I had sent out early that morning, except for the cut-and-paste error. The "other two branches" turned out to be from the previous night's email, where I had specifically said those branches were &lt;em&gt;not&lt;/em&gt; affected by the problem.&lt;br /&gt;&lt;br /&gt;Within two hours, we had the code fixed and all the orders recovered. So everyone's happy, right? If you think so, then you haven't yet learned the lessons I did that day.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;No matter how urgently someone says they need an answer, the wrong answer won't help.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If it &lt;em&gt;looks&lt;/em&gt; like the wrong answer, it might as well &lt;em&gt;be&lt;/em&gt; the wrong answer. This doesn't mean counter-intuitive answers can't be right. It means that presentation and the ability to support your conclusion count.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you didn't create the problem, always give the person who did the first chance to fix it.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If someone knows more about a topic than you do, have them check your work.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't make important decisions on too little sleep.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Before making a presentation to a client, review the materials with your co-workers.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't make important changes when key people are unavailable.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Looking at that list, I realize I already knew several of those lessons. So why did it take that incident to "learn" them? Because there's a difference between &lt;em&gt;knowing&lt;/em&gt; something, and &lt;em&gt;believing&lt;/em&gt; it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-8490737902423736922?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/8490737902423736922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=8490737902423736922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8490737902423736922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/8490737902423736922'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/day-i-got-lot-smarter.html' title='The day I got a &lt;i&gt;lot&lt;/i&gt; smarter'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7238107758965348399</id><published>2007-01-03T11:31:00.000-05:00</published><updated>2007-01-11T16:48:31.820-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='six sigma'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><title type='text'>When design is not design</title><content type='html'>"How is software production like the car industry?"&lt;br /&gt;&lt;br /&gt;Oh no, not again. Yeah, well, most people are getting it wrong. So here's another shot at it.&lt;br /&gt;&lt;br /&gt;There are aspects of car design that strictly deal with measurable quality: performance of the electrical system, horsepower, fuel economy, reliability. But the shape and style of the car are much more loosely coupled to hard-and-fast measurements. That facet of the design -- the way it looks, the demographic it will appeal to -- is not amenable to Six Sigma processes.&lt;br /&gt;&lt;br /&gt;Granted, there are some cars that are strictly (or nearly so) utilitarian. Some people only care about efficiency and reliability. They buy &lt;a href="http://www.toyota.com/corolla/index.html"&gt;Corollas&lt;/a&gt; by the boatload. But the &lt;a href="http://www.toyota.com/fjcruiser/index.html"&gt;FJ Cruiser&lt;/a&gt; is not the result of a logical, statistical analysis, with high conformance to the mean and low variation of anything.&lt;br /&gt;&lt;br /&gt;I think what I'm trying to say is that marketing design is building the right thing, while production design is building the thing right. The auto industry is mature enough that you need both. Success in the software industry still relies more on building the right thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7238107758965348399?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7238107758965348399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7238107758965348399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7238107758965348399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7238107758965348399'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/when-design-is-not-design.html' title='When design is not design'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-5687142920401182292</id><published>2007-01-03T09:51:00.000-05:00</published><updated>2007-02-20T11:38:16.536-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><title type='text'>There are no IT projects ... mostly</title><content type='html'>Whenever someone says something I've been thinking or saying for a while, it's clear evidence of how smart they are. (Don't laugh, you think so too.) So when Bob Lewis published the &lt;a href="http://www.issurvivor.com/ArticlesDetail.asp?ID=556"&gt;KJR Manifesto - Core Principles&lt;/a&gt;, he confirmed his intelligence when he wrote:&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;There are no IT projects.&lt;/em&gt; Projects are about changing and improving the business or what's the point?&lt;/blockquote&gt;The variation that I've been telling people for years is that people don't want software, they want the things they do &lt;em&gt;with&lt;/em&gt; the software. So if you're working on an IT project and can't explain the benefits in terms that matter to the business, you probably shouldn't be doing the project. Then in the middle of making this point to someone, I realized it's not always true.&lt;br /&gt;&lt;br /&gt;The one case I thought of was a steel manufacturer that I interviewed with. While the factory was computer-controlled, the people who worked on those systems were in Engineering. The non-production computer system -- email, financials, advertising, etc. -- was IT. In that case, IT really was a support function, no more important to the company than telecom.&lt;br /&gt;&lt;br /&gt;That doesn't mean it was &lt;strong&gt;&lt;em&gt;un&lt;/em&gt;&lt;/strong&gt;important. They could no more survive without their back-office system than they could do without phones. But that system really had no bearing on how they ran their business. It was something that was expected to Just Work™, like the electricity or plumbing.&lt;br /&gt;&lt;br /&gt;The thing I don't know is if this is the exception that proves the rule, or if it's more common than I thought to find a place where IT really isn't a strategic partner in the business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-5687142920401182292?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.issurvivor.com/ArticlesDetail.asp?ID=556' title='There are no IT projects ... mostly'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/5687142920401182292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=5687142920401182292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5687142920401182292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/5687142920401182292'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/there-are-no-it-projects-mostly.html' title='There are no IT projects ... mostly'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-232666782024645019</id><published>2007-01-02T14:57:00.000-05:00</published><updated>2007-01-11T16:50:38.566-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='Novell'/><category scheme='http://www.blogger.com/atom/ns#' term='netscape'/><category scheme='http://www.blogger.com/atom/ns#' term='500 - 750 words'/><category scheme='http://www.blogger.com/atom/ns#' term='OSS'/><category scheme='http://www.blogger.com/atom/ns#' term='criticism'/><category scheme='http://www.blogger.com/atom/ns#' term='other authors'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Maybe I'm the one missing something</title><content type='html'>Magicians make a living at misdirection, getting you to look at their right hand while they're hiding the ball with their left hand. You'd think journalists would want to be a little more direct than that. But Neil McAllister did &lt;a href="http://www.infoworld.com/article/06/12/11/50OPopenent_1.html"&gt;a whopper of a slight-of-hand recently&lt;/a&gt;, using more than half his column to summarize &lt;a href="http://www.joelonsoftware.com/items/2006/12/05.html"&gt;a Joel Spolsky post&lt;/a&gt; before jumping to a completely unrelated conclusion.&lt;br /&gt;&lt;br /&gt;Joel's point, and the first more-than-half of Neil's summary, was shooting down the idea beloved of suits that programming can be reduced to a set of building blocks that can be snapped together by a non-programmer. (For a hysterically painful example of how wrong this is, and how far people will go to try to do it anyway, see &lt;a href="http://thedailywtf.com/forums/thread/108894.aspx"&gt;The Customer-Friendly System&lt;/a&gt; at &lt;a href="http://thedailywtf.com/"&gt;The Daily WTF&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Joel covered the ground pretty well, so I was wondering where Neil was going with this. Once I got to it, I had to re-read the segue three times to see what connection I was missing:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Don't you believe it. If, as Brooks wrote, the hard part of software development is the initial design, then no amount of radical workflows or agile development methods will get a struggling project out the door, any more than the latest GUI rapid-development toolkit will.&lt;br /&gt;&lt;br /&gt;And neither will open source. Too often, commercial software companies decide to turn over their orphaned software to "the community" -- &lt;a class="regularArticleU" href="http://www.onlamp.com/pub/a/onlamp/2006/01/12/no_oss_community.html"&gt;if such a thing exists&lt;/a&gt; -- in the naïve belief that open source will be a miracle cure to get a flagging project back on track. This is just another fallacy, as history demonstrates. &lt;/blockquote&gt;If there's a fundamental connection between open source and "Lego programming" I don't know about it. Maybe Neil makes the connection for us:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;As Jamie Zawinski &lt;a class="regularArticleU" href="http://www.jwz.org/gruntle/nomo.html"&gt;recounts,&lt;/a&gt; the resulting decision to rewrite [Netscape's] rendering engine from scratch derailed the project anywhere from six to ten months.&lt;/blockquote&gt;Which, as far as I can see, has nothing to do with the fact that it was open source. In fact it seems more like what Lotus did when they delayed 1-2-3 for 16 months while they rewrote it to fit in 640k, by which time Microsoft had taken the market with Excel. Actually that's another point that Joel made, &lt;a href="http://www.joelonsoftware.com/articles/fog0000000245.html"&gt;sooner and better&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Is Neil trying to say that Lego programming assumes that code can be interchangeable, and man-month scheduling assumes that programmers are interchangeable? Maybe, and that's even an interesting idea. But that's not what he said, and if I flesh out the idea it won't be in the context of a critique of someone else's work.&lt;br /&gt;&lt;br /&gt;Or maybe it was an opportunity to take a shot at the idea of "the community". Although in his &lt;a href="http://www.infoworld.com/article/06/12/18/51OPopenent_1.html"&gt;very next column&lt;/a&gt; he talks about the year ahead for the open source community, negative community reaction to the Novell/Microsoft deal, and praise from the community for Sun open-sourcing Java. Does he really dispute the existence of a community, or was it hit bait?&lt;br /&gt;&lt;br /&gt;Okay, so where did I start? Right, with misdirection. So the formula seems to be: quote a better columnist making a point that I like, completely change the subject with the word "therefore", summarize &lt;em&gt;another&lt;/em&gt; author making my second point, and send it to InfoWorld. Am I ready to be a "real" pundit yet?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-232666782024645019?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoworld.com/article/06/12/11/50OPopenent_1.html' title='Maybe &lt;i&gt;I&apos;m&lt;/i&gt; the one missing something'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/232666782024645019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=232666782024645019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/232666782024645019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/232666782024645019'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2007/01/maybe-im-one-missing-something.html' title='Maybe &lt;i&gt;I&apos;m&lt;/i&gt; the one missing something'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-7585112696284506115</id><published>2006-12-27T16:35:00.000-05:00</published><updated>2007-09-21T14:10:13.870-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='user interface'/><title type='text'>Blinded by experience</title><content type='html'>&lt;a href="http://www.jnd.org/"&gt;Don Norman&lt;/a&gt; knows more about design than I ever will. He even "knows" a few things that aren't even true. That's some powerful knowing! Specifically:&lt;br /&gt;&lt;blockquote&gt;You cannot successfully introduce a non-qwerty keyboard today, or reverse the window scroll bar convention, or suddenly &lt;strong&gt;require double-clicking on web links&lt;/strong&gt;.&lt;/blockquote&gt;I think Don has spent too much time lately with experienced web users, and not watching people like Lou, my father-in-law. Lou is a retired printing production manager, who trained as a graphic artist and worked for several ad agencies. He got one of the first Macs so he could use PageMaker, and used Photoshop when it was still owned by Aldus.&lt;br /&gt;&lt;br /&gt;Lou "knows" that you have to double-click things with the mouse. He has known that for over 20 years. I've tried to point out that you don't have to do that on the web. He does it anyway. His current computer runs Windows 95, so if I wanted to I could set the option to use single-click select globally. I would never set that prefernce on his system, though. It would drive him insane.&lt;br /&gt;&lt;br /&gt;But Microsoft &lt;em&gt;did&lt;/em&gt; introduce the new behavior. There is a generation that has grown up using it. Could someone do the same thing with web links? They'd have to have market penetration comparable to what Microsoft had with Windows 95, but yes, they could do it.&lt;br /&gt;&lt;br /&gt;Here's where it gets interesting. You could reasonably support either side of this decision: There are people who "know" that you double-click everything, and people who "know" that you single-click everything. Either one will be frustrated by a system that does the opposite. But knowing that both kinds of people exist, what should we do? In the Hippocratic tradition, first do no harm.&lt;br /&gt;&lt;br /&gt;I can't count the number of sites I've seen that instruct users to "Only click the Submit button once." Or "Please wait for the page to load." As soon as we start warning users what they should or shouldn't do, two things should be apparent:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Users, for some reason, think that they &lt;em&gt;should&lt;/em&gt; do the very thing we're telling them not to do.&lt;/li&gt;&lt;li&gt;Some of them are going to do it despite our warnings.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;If we can't prevent users from doing the "wrong" thing with our applications, we owe it to them to at least make sure that they don't break anything when they do.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-7585112696284506115?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.jnd.org/dn.mss/affordances_and.html' title='Blinded by experience'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/7585112696284506115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=7585112696284506115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7585112696284506115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/7585112696284506115'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/12/blinded-by-experience.html' title='Blinded by experience'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-4016355903229650264</id><published>2006-12-27T12:55:00.000-05:00</published><updated>2007-01-11T16:52:40.796-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='confidence'/><category scheme='http://www.blogger.com/atom/ns#' term='negotiation'/><title type='text'>Negotiation starts from confidence</title><content type='html'>It seems obvious when you think about it, but I don't hear it said very often: The first step toward getting what you want is &lt;em&gt;knowing&lt;/em&gt; what you want. You have to do more than recognize what you want, you have to be confident in it.&lt;br /&gt;&lt;br /&gt;Here's an example from my college days: I worked at a bar for a couple of years. On weekends, we'd have someone at the door checking ID. There were plenty of people who tried to talk their way in without any.&lt;br /&gt;&lt;br /&gt;One night the regular doorman was late, and I covered for him. The first girl who showed up without ID smiled, batted her eyelashes and asked "pretty please?" I said something like, "Gee, I really wish I could, but rules are rules, etc." She argued, I refused, she got mad ... I'd like to chalk my behavior up to my youth and her smile, but the bottom line is I didn't project confidence in what I wanted.&lt;br /&gt;&lt;br /&gt;The next girl who showed up without ID (for some reason guys &lt;em&gt;never&lt;/em&gt; tried this with me, I don't know why) I just told her I needed ID or she couldn't get in, sorry. She threw a quick pout, then left to find someplace else she &lt;em&gt;could&lt;/em&gt; get into.&lt;br /&gt;&lt;br /&gt;As I thought about this later I realized the first girl wasn't mad because she wasn't allowed in. She was mad because I gave the impression I might be open to negotiation but I wasn't.&lt;br /&gt;&lt;br /&gt;Moral of the story: Know which of your goals are negotiable and which ones aren't. Never give the impression that one of the former might be one of the latter. Reasonable people can respect an honest difference of opinion, but will read indecisiveness as an opportunity to negotiate.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update:&lt;/em&gt; I found another way of putting this, on &lt;a href="http://www.scottberkun.com/"&gt;Scott Berkun&lt;/a&gt;'s site where he explains &lt;a href="http://www.scottberkun.com/essays/essay46.htm"&gt;why things suck&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;It's the things that tease us, making us think they'll satisfy us but then failing, that hurt the most.&lt;/p&gt;&lt;/blockquote&gt;He was pointing out that people don't complain about things they don't care about, but it works really well to explain what happened to me when I was working at the bar.&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-4016355903229650264?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://weblog.infoworld.com/lewis/archives/2006/12/how_to_be_more.html' title='Negotiation starts from confidence'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/4016355903229650264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=4016355903229650264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4016355903229650264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/4016355903229650264'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/12/negotiation-starts-from-confidence.html' title='Negotiation starts from confidence'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1783001914189249191</id><published>2006-12-21T16:00:00.000-05:00</published><updated>2007-02-13T11:44:25.975-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paintshop'/><category scheme='http://www.blogger.com/atom/ns#' term='piracy'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='corel'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><title type='text'>Here's a crazy thought</title><content type='html'>Corel should sue people who use Photoshop without paying.&lt;br /&gt;&lt;br /&gt;Huh?&lt;br /&gt;&lt;br /&gt;Think about it. Graphics professionals pay for Photoshop. Lots more people do &lt;em&gt;some&lt;/em&gt; graphics, but not enough to be worth $650. But many of those people possibly &lt;em&gt;would&lt;/em&gt; agree that their use is worth $80.&lt;br /&gt;&lt;br /&gt;So there are probably people using cracked copies of &lt;a href="https://store1.adobe.com/cfusion/store/index.cfm?store=OLS-US&amp;view=ols_prod&amp;amp;category=/Applications/Photoshop&amp;distributionMethod=FULL&amp;amp;NR=0#loc=en_us&amp;rangeUpper=6%2C0%2C65%2C0&amp;amp;HTMLVerRedirect=true&amp;returnURL=%2Fcfusion%2Fstore%2Fhtml%2Findex%2Ecfm%3Fstore%3DOLS%2DUS%26event%3DdisplayProduct%26categoryPath%3D%2FApplications%2FPhotoshop%26distributionMethod%3DFULL&amp;amp;store=OLS-US&amp;view=ols_prod&amp;amp;category=/Applications/Photoshop&amp;distributionMethod=FULL&amp;amp;NR=0&amp;viewName=Adobe%20Store%20%2D%20North%20America&amp;amp;pageNotFound=0"&gt;Photoshop&lt;/a&gt; who, if they didn't have the crack, would instead have bought &lt;a href="http://store.corel.com/webapp/wcs/stores/servlet/ProductDisplay?partNumber=OL_PR11&amp;srcid=&amp;amp;pculicenseid=&amp;promocode=0&amp;amp;countryCode=US&amp;storeId=10302&amp;amp;amp;amp;amp;amp;amp;catalogId=10103&amp;amp;langId=-1"&gt;Paint Shop Pro&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It seems reasonable that if we're going to report losses to "piracy" in terms of lost sales, we should be counting the potential sales that are &lt;em&gt;really &lt;/em&gt;lost.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1783001914189249191?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.430105.131' title='Here&apos;s a crazy thought'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1783001914189249191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1783001914189249191' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1783001914189249191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1783001914189249191'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/12/heres-crazy-thought.html' title='Here&apos;s a crazy thought'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-1040701881157954550</id><published>2006-12-21T12:02:00.000-05:00</published><updated>2007-01-11T16:54:18.589-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HowTo'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='test approach'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='specifications'/><title type='text'>Writing a test approach</title><content type='html'>&lt;p&gt;If this is the first time someone has asked you to produce one, it's kind of an odd exercise.&lt;/p&gt;&lt;p&gt;First, recognize that you have some pretty significant prerequisites, and second that you have to consider multiple audiences. But what it all comes down to is making sure that the application does what it's supposed to do.&lt;/p&gt;&lt;p&gt;The prerequisite comes from needing a good definition of "what it's supposed to do." I wish this were as easy as it sounds. Look at how much is written about whether/how to write specifications to see what you're up against.&lt;/p&gt;&lt;p&gt;Once you have a good spec, you have two questions to answer. It's really the same question answered for two audiences, but the answers can be pretty different: How do you ensure that it does the right thing; and how do you demonstrate to your client that it does the right thing?&lt;/p&gt;&lt;p&gt;Answering the first question will involve unit testing, regression testing (for upgrades), creation and execution of test scripts, etc. It's possible a large part of the execution will actually be done by the developers.&lt;/p&gt;&lt;p&gt;Answering the second question -- satisfying the client -- requires that you talk in terms of: user interaction, use cases, end-to-end scenarios, scalability/performance/load testing, support and training needs, etc.&lt;/p&gt;&lt;p&gt;Imagine you are presenting a sales pitch to a client, and you need to describe how you will demonstrate the value and correctness of your application. Write a narrative proposal, eg:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Working with end users and subject matter experts (name names if possible), we will define use cases that describe the expected functionality of the application. This process should take &lt;em&gt;X&lt;/em&gt; hours of the users' time over the course of &lt;em&gt;Y&lt;/em&gt; days. &lt;/p&gt;&lt;p&gt;These use cases will be executed and verified by &lt;em&gt;someone&lt;/em&gt;, using &lt;em&gt;volume&lt;/em&gt; of data extracted from &lt;em&gt;source&lt;/em&gt;. Developers will also create automated scripts to be executed on &lt;em&gt;toolname&lt;/em&gt;, simulating &lt;em&gt;how_many&lt;/em&gt; concurrent users executing &lt;em&gt;how_many &lt;/em&gt;transactions per second for &lt;em&gt;how_long&lt;/em&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;You're not trying to actually write the test scripts yet. Start out with the higher-level description of what types of testing you expect to do, and who is responsible for writing and executing each type. Theoretically you may not know the performance figures in that second paragraph, but I find it's better to put some numbers in front of the stakeholders and let them disagree.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-1040701881157954550?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.429670.3' title='Writing a test approach'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/1040701881157954550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=1040701881157954550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1040701881157954550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/1040701881157954550'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/12/writing-test-approach.html' title='Writing a test approach'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-6851119833858244075</id><published>2006-12-21T09:39:00.000-05:00</published><updated>2007-01-11T16:56:30.224-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='copyright'/><category scheme='http://www.blogger.com/atom/ns#' term='obsolescence'/><title type='text'>Can someone give me the name of a good buggy whip maker?</title><content type='html'>No really, I want to talk to one. There should be several in every large town, just like there used to be. Because it would be immoral to deprive them of their "right" to make money in the way that they want to.&lt;br /&gt;&lt;br /&gt;"But that's absurd," you say, if you've never heard the argument before. "You'd have to outlaw cars to protect the buggy whip manufacturing business." Yes, and that's exactly what the buggy whip makers tried to do: ban the car.&lt;br /&gt;&lt;br /&gt;Copyright does the exact same thing buggy whip makers tried to do: it protects a specific business model. The "right to control copying" exists to encourage people to go into the business of creating new works.&lt;br /&gt;&lt;br /&gt;We, as a society, benefit from having new works. We have agreed to grant creators of those works a temporary monopoly on reproducing and selling those works. If the &lt;em&gt;specific method&lt;/em&gt; that we're using to encourage creation actually serves to &lt;em&gt;restrict&lt;/em&gt; creation, our method needs to change.&lt;br /&gt;&lt;br /&gt;Everyone who thinks the RIAA is responsible for increasing the net creative output of the world, raise your hand ... Everyone who thinks the MPAA is the creative force behind independent film, raise your hand ...&lt;br /&gt;&lt;br /&gt;Copyright law was a specific solution to a specific problem. It doesn't codify some inherent human right. If the "solution" has been pushed too far in one direction, which I believe it has, it's time to re-think the balance. Or maybe come up with some new way to encourage creation of easily-copied works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-6851119833858244075?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.430105.108' title='Can someone give me the name of a good buggy whip maker?'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/6851119833858244075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=6851119833858244075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6851119833858244075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/6851119833858244075'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/12/can-someone-give-me-name-of-good-buggy.html' title='Can someone give me the name of a good buggy whip maker?'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-3780105941323361572</id><published>2006-12-20T16:24:00.000-05:00</published><updated>2007-01-11T16:57:15.953-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='analogy'/><category scheme='http://www.blogger.com/atom/ns#' term='250 words or less'/><title type='text'>Apples and Oranges ...</title><content type='html'>... are actually pretty damn similar.&lt;br /&gt;&lt;br /&gt;How did "like comparing apples and oranges" get to be our standard phrase for indicating that two things are so different as to resist comparison? They're both fruit, typically about the size of a baseball, have a skin and seeds, are mostly water. There are more similarities than differences.&lt;br /&gt;&lt;br /&gt;I assumed there was some history to this phrase, some context where it made sense. The only thing I can find is &lt;a href="http://www.georgehart.com/cite/cite.html"&gt;one reference&lt;/a&gt; suggesting, "that the phrase appeared as &lt;em&gt;apples and oysters&lt;/em&gt; in John Ray's proverb collection of 1670." Okay, that makes a bit more sense. Or at least it works better for what people mean when they say it.&lt;br /&gt;&lt;br /&gt;But I suspect it's more like the phrase, "You can't judge a book by its cover." Really? Put a Unix textbook next to a Harlequin romance and I'll bet I can tell you a whole lot about it. That phrase originated in a time when all books were printed with blank bindings, and covers could be applied by the seller or the customer. So back then no, you really &lt;em&gt;couldn't&lt;/em&gt; tell a book by its cover.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-3780105941323361572?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/3780105941323361572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=3780105941323361572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3780105941323361572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/3780105941323361572'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/12/apples-and-oranges.html' title='Apples and Oranges ...'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8739423435110580880.post-942821063098063655</id><published>2006-11-29T16:55:00.000-05:00</published><updated>2007-02-01T11:48:57.310-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='250 - 500 words'/><category scheme='http://www.blogger.com/atom/ns#' term='OSS'/><category scheme='http://www.blogger.com/atom/ns#' term='criticism'/><category scheme='http://www.blogger.com/atom/ns#' term='other authors'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='average'/><title type='text'>No one cares about "average"</title><content type='html'>No one wants to be average. We just want to treat everyone else like &lt;em&gt;they&lt;/em&gt; are. That's why we generalize, form stereotypes. It leads to goth and emo, as kids try to be unique and different from average people ... but in exactly the same way as everyone else in their preferred group. (Oops, was that cynical?)&lt;br /&gt;&lt;br /&gt;It also leads to being pretty spectacularly wrong in your conclusions, even when you're completely right in your premises. Take for instance what &lt;a href="http://joelonsoftware.com/articles/FiveWorlds.html"&gt;Joel Spolsky had to say about OSS development&lt;/a&gt;: &lt;blockquote&gt;Development [on OSS projects] is much more likely to be geographically dispersed, which results in a radically different quality of team communication. It's rare in the open source world to have a face to face conversation around a whiteboard drawing boxes and arrows, so the kind of design decisions which benefit from drawing boxes and arrows are usually decided poorly on such projects.&lt;/blockquote&gt;His premises are correct: development &lt;em&gt;is&lt;/em&gt; often dispersed; design &lt;em&gt;can&lt;/em&gt; suffer. His conclusion, that OSS projects usually just clone existing (closed source) software is not technically wrong, but is irrelevant for the same reason traditional media is wrong when they discount blogs as "real writing": The average doesn't matter. If the best blog -- or the best OSS product -- is better than the leading commercial media or closed software, it will gain market share.&lt;br /&gt;&lt;br /&gt;As &lt;a href="http://www.paulgraham.com/opensource.html"&gt;Paul Graham says&lt;/a&gt;: &lt;blockquote&gt;Those in the print media who dismiss the writing online because of its low average quality are missing an important point: no one reads the &lt;em&gt;average&lt;/em&gt; blog. In the old world of channels, it meant something to talk about average quality, because that's what you were getting whether you liked it or not. But now you can read any writer you want. So the average quality of writing online isn't what the print media are competing against. They're competing against the best writing online. And, like Microsoft, they're losing.&lt;/blockquote&gt;The "average" application on &lt;a href="http://sf.net"&gt;SourceForge&lt;/a&gt; may be derivative and just plain bad, but you don't install averages. You install applications. I don't use an "average browser", I use &lt;a href="http://getfirefox.com"&gt;Firefox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This holds true for games, too. As a &lt;a href="http://games.slashdot.org/comments.pl?sid=208530&amp;amp;cid=17003032"&gt;Slashdot&lt;/a&gt; poster says of open-sourcing a game:&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;we will see millions of variations of modifications that will be incompatible with each other and that will bring down the quality of the game. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;Some will be much worse than the original, probably few will add high-quality content, but some may become very good indeed.&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Software, writing, games, in fact all digital media, tend toward a winner-take-all outcome. In the age of infinitely-reproducible goods, it doesn't matter what process yields the best average outcome. What matters is what process yields the single &lt;em&gt;best&lt;/em&gt; outcome.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8739423435110580880-942821063098063655?l=drewkime.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://discuss.joelonsoftware.com/default.asp?joel.3.445505' title='No one cares about &quot;average&quot;'/><link rel='replies' type='application/atom+xml' href='http://drewkime.blogspot.com/feeds/942821063098063655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8739423435110580880&amp;postID=942821063098063655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/942821063098063655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8739423435110580880/posts/default/942821063098063655'/><link rel='alternate' type='text/html' href='http://drewkime.blogspot.com/2006/11/no-one-cares-about-average.html' title='No one cares about &quot;average&quot;'/><author><name>Drew @ Cook Like Your Grandmother</name><uri>http://www.blogger.com/profile/02147260973569070400</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_hdEKL5VBc5I/SZUROAV0hvI/AAAAAAAAALk/OQ7K7pQ3lZc/S220/headshot-thatslife-crop-2-sq.jpg'/></author><thr:total>0</thr:total></entry></feed>
