The Tipping Point: How Little Things Can Make a Big Difference

Book Review-The Tipping Point: How Little Things Can Make a Big Difference

If you’ve been reading this blog then you know that I’ve been doing a lot of reading of my own lately, mainly associated with some professional development in the area of reconnecting to basic software development fundamentals that I’m already aware of and some new things as I try to find some new ideas in the various forms of the agile development movement that I can use or try.

The latest book is radically different.  It’s one that was casually mentioned to me by a colleague, Jeff Juday, who was recently awarded Microsoft MVP status.  He mentioned how he thought the program related to the book he had just read, The Tipping Point.

This piqued my interest initially because I’m always curious about how the market works and Jeff promised the book would have some insight.  (He was right.)  Having written (or written part of) 16 books, I know how random sales can be from one title to another.  In fact, when my friends and colleagues approach me about writing a book and ask me if their idea is a good idea, I usually respond with I have no idea.  The market seems to work in mysterious ways.

The Tipping Point is a book about epidemics.  Not so much the negative things as we associate with the word epidemics but rather about things that have a radical growth cycle.

At some point in the book, I wanted to share a passage with everyone I knew.  Some of my mentors, the pastoral staff at the church I attend, my mother, several of my friends, and some of the folks I know at the MVP program at Microsoft.  The truth is that when I finish this blog post many of them will be receiving a link via email to check it out – excluding those I know read my blog regularly and so they’ll see it anyway.

I found the book enthralling as I examined some of the market reactions I had seen.  The birth of the Internet (really the adolescence of the Internet), the growth of cellular phones (which the book discusses), and I even thought about it in terms of SharePoint Portal Server.  (For the record, I would have written this blog post even without a SharePoint tie-in.)

I remember working with the 2001 version of SharePoint Portal Server.  When I’d talk with my peers most of them would be asking me – “Share What?”  There weren’t many people that knew what it was.  Today, when I talk about SharePoint to people I meet – even outside of the industry – I get a surprisingly high awareness rate.  Most don’t know what it does exactly but they know that people think it’s something to watch.  (As a sidebar, most people who do SharePoint work don’t know exactly what it does.)

The interesting thing is looking at this pattern – and others – and evaluating why SharePoint is such a pervasive word in the IT industry and in the minds of small business owners.  It certainly can’t be attributed to the stellar marketing that Microsoft has done for the product.  (Sorry guys.)

Quietly you’ll get some of the marketing folks in the information worker group to admit that there’s a lot of confusion about SharePoint and few places to find good answers.  I’ve had clients pay for us to develop documents that they can use to internally explain the solution – because it’s simply too hard to do without clear documents on what it does and doesn’t do.

SharePoint isn’t successful because of a greater number of people running Microsoft Office.  SharePoint’s popularity can’t be explained by a renewed interest in IT.  It’s an absolute mystery to me as to why it’s become so popular.  (Here’s a challenge – tell me via email why you think it is so popular.  I’d love to hear your perspective.)

The Tipping Point didn’t explain why SharePoint has become so popular but it did give me the clues to look for to identify what happened.  I don’t have the answers but I do at least know some of the questions to ask.  In that way, I think it will be invaluable in the way it allows me to see things more clearly.

The analogy that I’ve come up with to explain it is that it’s like someone with imperfect vision – like myself – putting on glasses for the first time.  It doesn’t make me see or allow me to see for the first time but it does bring more clarity to what I’ve been seeing all along.  The unfortunate thing is that it has also exposed me to how much I still don’t see.

There are some psychological tenants that most people subscribe to – including me.  That I know believe are false.  I’m questioning how much about the way people behave is about their character and how much is about their circumstances.  (In an interesting turn of events, the environment swapping movie Trading Places was on TV last night.)

If you’re the least bit curious about how trends get started and would like to get a little bit better picture of them I highly recommend reading The Tipping Point.

forge

Recognition vs. Recall

Where did I put that again?

One of the things that’s been fairly constant in my life over the last few weeks — that rediscovery stuff is hard, particularly when you try to do it too quickly.  It’s caused me to recognize that there’s information I’ve seen before but I couldn’t recall it on command, nor can I even remember where I saw it again.

It reminded me of some of the instructional design research I did several years ago while I was doing a lot of development editing for books.  I ran across Bloom’s Taxonomy of Educational Objectives, while I can’t say that I agree with every bit of the classification or the revision of the work.  However, it’s interesting because it causes you to think about how we teach and learn in a different way than we most folks think about it.

What caused me to think about it was the difference between recognition and recall.  These are at the bottom most levels of the taxonomy.  The most basic level is recognition.  That means that if someone asked you what it was you couldn’t tell them but if they say it to you — you will recognize that you heard it before.  Taking from my daily life…  My wife asks me to pickup paper plates from the grocery store.  I walk into the store and can’t remember what it was that my wife asked me for.  (I lacked recall.)  However, my friend, who co-manages the store walks up to me and starts offering ideas on what it might be: bread, milk, cheese, etc.  When he hits paper plates I immediately recognize that it what I’m there for.

The trick, for me, is to figure out how to get more of the stuff I read and take in into the recall category and less in the recognition category.  I could be struggling for higher levels, levels that allow me to do things with the information but for now, I’d be happy to hit recall all the time.

Excuse me while I go look for my car keys…

If you’re interested in learning more about how we educate ourselves and others, it’s an interesting read.

forge

The sound of a million crickets longing to be free

If you’ve been wondering why my blog has been so quiet over the last 45 days or so, the answer is a bit complex. (but you can continue listening to the crickets chirping in the absence of content here.)  I need to take a break from my reading to give my brain a rest… so now’s as good a time as any to explain the pieces of the puzzle that have lead to the relatively low number of posts.
First, and foremost, I’ve entered into a “phase” of reinvestment.  That means many things but the short answer is I’m learning new things and relearning old things that I’ve forgotten – or I’m at risk of forgetting.
One of the pieces of this puzzle is the relatively large amount of software that Microsoft’s dropped at my door.  I hadn’t really had much of a chance to work with .NET 2.0 or SQL Server 2005 while they were in beta – a side effect of a busy life.  So I’m in the process of getting up to speed on them.
Just in case you’re wondering – for me getting up to speed means doing things that are a bit beyond the envelope.  I’ve been playing with configuration classes (to support non-file based configuration sources), factory classes, and generics.  I’ve not gotten done yet, however, this will be the foundation of the new web site that I’m building.  (Don’t ask when it will be done, I don’t know yet.)  I’ve also been playing around with master pages and web parts … I’m trying to mesh those into a foundation layer that allows me to control what’s on the page from a database.  … and don’t even get me started about the HTTP handler to allow Google to walk around the foundation without getting aggravated by query strings.
Couple that with “Office 12” and Commerce Server Betas.  Office 12 contains SharePoint which is one of the things driving a great deal of my work these days.  Commerce Server is near and dear to my heart for many reasons not the least of which are that it’s at the core of the new web site I’m putting together and I’m a Commerce Server MVP.
Because I’m preparing to embark on a relatively large software development project, I’m reminding myself how to do things right.  That means rereading Steve McConnell’s Rapid Development book, Fred Brook’s The Mythical Man-Month, and a few other Software Development Practice books.  I’ve read them all before, but I felt like having read them about 10 years ago made it time to reread them.  (I highly recommend both of the above books – both are “dated” but they illuminate some core concepts and problems that don’t seem to change.)
I’m also reading Karl Wiegers’ Software Requirements, Second Edition.  I’ve had a few projects recently that somehow managed to skip the requirements phase of development (in whatever lifecycle model you want to call the projects.)  So I thought reading it would remind me of what a project with requirements is like.  The book is solid, though somewhat repetitive.  It’s much like a buffet where you take what you want – though I miss the carefully coordinated entrée and sides.  My personal task for the end of the reading process is to try to distill the information into a one page cheat sheet I can laminate to remind me of the core concepts.  I find that requirements is the one area where continuous reminders is helpful for me.
When I get done there I get a chance to read some books on Agile development … I’m looking forward to getting a firmer foundation for what Agile is supposed to be – presuming that the two books on the topic that I have can do that.
The second factor for the lack of posts is that I’m doing some infrastructure cleanup tasks.  I run my own network infrastructure – I suppose that my MCSE and my former MVP aware for Windows Server-Networking will die hard.  There have been nagging little problems with the infrastructure for a while – errors that weren’t causing any real problems but were still getting thrown to the logs.  Well, in an effort to get my Pocket Pc Phone edition working with direct server synchronization, I had to clean up more than a few of those errors.  (By the way, My QTek 9100 Windows Mobile 5 [Pocket PC Phone Edition] rocks.  The over-the-air sync to Exchange is amazing.)
The third factor is that I’m building an arcade style kiosk for my son.  It will house his PC.  It will be like the old “Pac-Man” arcade games but slightly wider to accommodate the keyboard, mouse, and joystick.  It will have a real coin door which will eventually allow you to turn on and off the PC as well as an overhead light.  The coin door itself has been installed, I just haven’t finished the electrical for the switches.  Because my son is only 4 (as of January 5th) I’ve also built a seat arrangement that slides in and adjusts up and down so we can get the seat setup at a reasonable height for him.
The net effect of this project is that it’s taking a ton of my time.  I’ve begun referring to it as the albatross around my neck.  However, I saw the light at the end of the tunnel today as all of the major components have been assembled – I just need to get it in the house and hooked up and I’m going to take a break from the project for a while.
The fourth factor is that my writing schedule has been slowed WAY down.  Basically, I’ve temporarily discontinued my regular writing.  I expect that I’ll start writing about software development issues again very soon – however, in the mean time that means that even the regular posts linking to my articles have been missing.
The fifth factor is that I’ve been working a ton of hours at the church.  I took on leadership of the technical ministry for worship services which means I’m responsible for coordinating sound, lighting, and media.  Of course, I’m trying to get everything documented and get a better fundamental understanding of each part so that I can feel effective…  This in the middle of the Christmas production and my other duties taking care of the IT needs have been overwhelming.
So that’s it… add in the usual family commitments for Christmas and New Years, a few days of illness, and you end up with some pretty sparse blog postings.  However, I am seeing the light at the end of the tunnel on most of these things, so hopefully I’ll have more to blog about real soon.
forge

Out of the darkness

If anyone has noticed that the blog activity has decreased, they’re right… It’s not because I’m abandoning the concept, It’s really just a concurrence of a few things …

1) I stopped doing the TechRepublic Stategies that Scale newsletter.  That was four postings a month (one a week.)  I really enjoyed writing the content for the newsletter but it wasn’t aligned to the things I was doing on a day-to-day basis so I had to let it go.

2) I’m transitioning between series at Developer.com.  Whenever I transition between series it disrupts the writing schedule.  We should be back on track this month but it means that I didn’t have the two posts per month I normally have announcing those articles.

3) I’ve been busy trying to figure out the eCommerce portion of the software development factory that I’m doing.  You’ve seen some announcements for betas…  I’ve got one issue to take care of in one of the products but otherwise the feedback has been good.  The net effect of which is I need to figure out how to start selling them.  I’ve taken a few wrong turns (www.windowsmarketplacelabs.com) and the delay has caused me to decide that I want to build the new site on ASP.NET 2.0 which has turned out to be a giant gravity well which my time is falling into.

4) .NET 2.0 is really cool.  I’ve been playing with generics and how they can take typical problems and make them easier.  The obvious answer is collections.  However, I’m also very interested in taking the factory pattern and making it strongly typed and generic…  Unfortunately, I’ve decided that I’m starting from scratch so that means new database access code, new configuration management code, new collections code, and the new factory code … That’s meaning that it’s consuming a lot of time.

5) I can’t stop developing products.  It’s sort of like an addiction.  I see more needs than I can fill … I wrote a tool to manage web parts on any web part page in SharePoint (here’s a hint, almost everything is a web part page — including list pages).  It will allow you to add, delete, extract, and enumerate web parts.  (It’s done if anyone wants to play with it.)  I’m finishing a Url Administrator that allows you to change SharePoint List Fields which are of type URL.  The idea is that users sometimes use URLs in the portal that you wish they hadn’t — or you need to change.  This tool will go through the entire portal and organize all of the links for you.  It’s about 50% done.  I also have a tool which will go through and trim the versions in document libraries — more than a few clients have accidentally turned on versions in their document libraries and now aren’t sure how to get the versions trimmed.  That’s about 40% done…

6) I’ve been sleeping.  I try not to but occaisionally I’ve just got to.  My favorite catch phrase is “Sleep is optional.”  I’m being reeducated that it isn’t.

By the way, I’m looking for a mentee, protégé, coachee, who would be willing to work for a little bit of money and some good experience.  I need some help clearing some of my development tasks since I just can’t seem to get them all done.  If you’re interested drop me a line.

forge

Requirement: Collaboration

The next time I see a requirements document which says they want “collaboration” my response is going to be to ask…

“Why do you want to cooperate treasonably with a foreign power?”

Maybe that will jar people into asking what they mean by collaboration.  (Asking what they mean by collaboration doesn’t seem to work in most cases.)

No Wake Before 10:00 AM

Every Parent’s Dream…

I saw a sign that every parent has dreamed of…

No Wake Before 10:00 AM

KONICA MINOLTA DIGITAL CAMERA

Maybe they weren’t talking about that kind of wake.

forge

Submission — Anti-Virus Software

I broke down today and bought Anti-Virus software for the primary computer that I use.  I’ve had anti-virus software on customer computers, my son’s computer, and my wife’s computer.  The reason I didn’t have it on the computer that I work on is because I think it’s an unnecessary evil.  If you’re suspicious and careful you should be able to avoid infection by a virus.  OK, so I hedged my bets and occaisionally ran Trend Micro’s House Call solution. Still, I didn’t feel like it was necessary software — and supporting an industry which has caused so many hours of problems with software that blocks things in unexpected ways has never been high on my list.

However, I realize that in today’s environment, the only way for corporations to protect themselves is to ensure that the laptops connecting to their network have current anti-virus software and that the definitions are up to date.  The goal being, of course, to provide some measure of assurance that the computer isn’t infected.

So, I’ve joined the masses in using Anti-Virus software.  Even if I don’t like the whole concept.

-rlb

forge

Glaciers 101

Since coming to Alaska I’ve learned a lot about Glaciers.  Yesterday’s excursion was the Phillips 26 Glacier Cruise.  It was very good, although I wish I would have seen some whales.

Here’s what I did see!

forge

Sometimes you just stick out…

If you’ve been wondering what I’ve been up to, I’ve been in Alaska doing some work during the day and playing during the evenings.

It’s been fun but it’s meant that some of my technical issues (like the one around enumeration class casting, are sitting on a back burner.)