IT DRILLDOWN
 
NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 
 
 
SUBSCRIBE TO CIO
 
Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

 


Sun, Aug 17, 2008 19:01 EDT

Fighting the Superstitions of Software Development: Questioning the Assumptions

Topic: Personal Management

Blog: Developer Wisdom

Current Rating: 5 Comments: 8

We fix the problems we know to look for. It's the assumptions left unexamined that are apt to bite you. Which superstitions are you carrying around that need to be re-examined?

One of the wisest, most brilliant programmers I ever met had a team lead habit I loved. If you made a technical assertion, Mike would ask, "Is that true?" Mike didn't ask the question to imply you were wrong; he asked, "Is that true?" to challenge your assumptions and to determine upon what data you drew your conclusions. If you said, "Yes, that's right. Here's why..." and made it clear your statement came from somewhere, he'd be satisfied, and you'd earn his respect.

If the programmer stuttered, "Um, I guess it's true," instead, more often than not the programmer headed back to his office to find out the real story. Or Mike would help the developer re-examine the assumptions being built into the software. If the assumptions made sense, fine. If not, it was an opportunity to write better code.

That wasn't just a technically interesting exercise. At the time I knew him, Mike and his team were building a compiler to generate the fastest executables possible. Nanoseconds counted. And with Mike at the helm, one particular math routine went from average performance to outstanding to... zero cycles. Because the "Is that right? Is that true?" question process eventually made the team realize that they didn't need the routine at all. Now that's code optimization.

At the other extreme, let's say you want to "uniqueify" an array in JavaScript (that is, find all the unique values in an array). You'll find a bunch of code samples with a quick online search. Most of them look very similar to one another, and they take a dumb, brute-force approach of walking the array multiple times. Bad performance, no biscuit. But hey, that's how everyone does it, right?

If you handed that code to an expert programmer like Mike, he'd ask, "Is that the best solution?" Well, no, maybe not. There's a way to do it that walks the array just once, if you take the time to think about it.

At the Schindler bitranch, we call these "superstitions:" information accepted on faith, without personal knowledge or examination. People pass along "everyone knows" data without questioning it, and others repeat the superstition as though it's undeniably true. Confidence isn't knowledge; in fact, confidence can prevent knowledge and innovation from happening, because an unquestioned belief means you never measure, never test, never look at alternatives.

My example above is about application performance, but this questioning-method applies to everything a developer does, from project estimation to designing for end-user usability. And it applies to every field! Stained glass artists accept as superstition that "lead is stronger than copper," but has anyone tested this assertion? Is it true? Some early experiments imply copper is equally strong. Woodworkers nod along when someone else mentions-in-passing which type of joint "everyone knows" is strongest; it wasn't until a couple of years ago that one magazine actually tested different kinds of joints for strength (with surprising results).

Superstitions are strongest (and most dangerous) when these "everyone knows" data points are hard to confirm or deny (such as most discussions of search engine optimization, since Google ain't talkin') and where "proof" is possible only through data triangulation. It's worse for developers and people in IT, I think, because things that were true a few years ago no longer are. In addition to questioning our own assumptions (or, as politely as

You do not have flash or javascript support.
Average (1 vote)
5
 
 
Mon, Aug 18, 2008 5:48 EDT
Anonymous user
Posted by: Bernd Eckenfels
Rating: 80

Thank you fot that Essay. I like the advice! Maybe one can use another less offensive question like "can you Explain why" or "thats an interesting fact, where does it come from". However if the team is used to "is that true" questions that can be a totally new culture everybody accepts.

 
Mon, Aug 18, 2008 15:14 EDT
Anonymous user
Posted by: Jacob
Rating: 10

That's good advice, but be aware that there's a cost to questioning assumptions as well. It's one thing for Mike, as the man in charge, to question subordinates, it's quite another if you want to question dogma in public--like if the benefits of TDD are true.

 
Mon, Aug 18, 2008 17:40 EDT
Posted by: Esther Schindler
Rating:

After all, that's what I get paid for -- tilting at other people's windmills!

 
Mon, Aug 18, 2008 19:22 EDT
Anonymous user
Posted by: Tim (@Twalk) Walker
Rating:

Very, VERY good points here, Esther, with applications far beyond programming. Some of the greatest breakthroughs in science -- not to mention everyday wins in business -- arise from this kind of inquiry. It's hard to get out from under our assumptions, bit so very worthwhile.

 
Wed, Aug 20, 2008 12:19 EDT
Anonymous user
Posted by: Get Over Yourself
Rating:

Is it true that we should be as polite as possible?

What is the problem about being straightforward and assertive in testing assumptions?

If a professional cannot dispassionately accept examination of their work, then they deserve to feel embarrassed or whatever when their assumptions are challenged.

It seems that the real trick is not to focus on the comfort of the individual, but on building team cohesion. If a member is convinced of the team's fundamental acceptance, then superstition assertions become opportunities for team growth; the team learns when fundamental truths are proved, the individual learns by having blind spots exposed.

About this Blog

Helping developers use technology to solve business problems every day.

Start a Conversation
Click to post

Got something to say? We want to hear it! Click the Post button to get started. GO»

EXPERT ADVICE
See our roster of experts.

Advice & Opinion from more than 96 of IT's most insightful thinkers.

advertisement

  PARTNERS       PODCASTS       WEBCASTS    
 

From Laggard to Leader: Transforming the Data Center

This webcast offers an understanding of how customers are transforming their data centers, the successes and challenges of each approach, and how IT can become the driver to provide real business value and competitive advantage.

Sponsored by HP  Register for this Webcast »

 

Raising the Bar on Business Service Delivery

Applications drive every business, but as networks become more complex and dynamic, performance has become a key tenant in service delivery. In this CIO webcast, Forrester and Fluke Networks offer advice and best practices for ensuring high delivery with better application performance.

Sponsored by Fluke  Watch this webcast. »

 

The Universal Wireless Client

Learn how replacing multiple wireless clients with one Universal Wireless Client can cut support and help desk costs, increase end user satisfaction, improve security, and help implement Network Access Control.

Sponsored by Fiberlink  Read this White Paper »

Resource Alerts

Get instant email notifications by topic when white papers, webcasts, and case studies are added to our library.

NAC launch from HP Procurve Podcast with Lippis Report, Part 1

ProCurve Networking by HP joins the Lippis Report to announce major product and organizational additions to their ProActive Defense strategy.  Read More »

 

Accenture's View on Web 2.0 and its impact on business

Publisher at CIO magazine, Bob Melk, talks to Accenture's Blair Jones about the emergence of Web 2.0...  Read More »

 

A Best-Practice Framework for Virtualization

This podcast offers insights and perspective on the various issues that relate to virtualization...  Read More »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

CIO Viewpoints on Exchange 2007 Risks and Mitigation Strategies

Knowing where your peers have found limits and workarounds in areas including high availability, archiving, recovery, compliance, e-Discovery and storage growth can be essential in planning your successful Exchange 2007 migration.  Read More »

 

Find out what Forrester says about mobile endpoint security and its management.

Mobility raises productivity. But IT departments are hard-pressed to protect mobile data and to manage security software, wireless clients and regulatory compliance for mobile workers...   Read More »

 

Get Forrester's take on simplifying mobility with the universal wireless client.

Mobile workers want to use all types of wireless networks: WiFi, 3G cellular networks, corporate WLANs and home wireless networks. But how can IT support...  Read More »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

 
NEWSLETTER

Sign-up for the Blogs & Discussion Newsletter

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Build up or Tear down? See how UC makes sense with Nortel. Calculate your UC ROI

Predict the future with HP Insight Power Manager

Drive Business Value with Enterprise Social Computing - whitepaper

See how IBM helped Bharti create a new business model

Read how IBM helped Hughes enhance security

HP LaserJet M3035 MFP series starting at $1,599. » SHOP NOW. www.hp.com

NEW HP Color LaserJet CM3530n MFP starting at $2,499. » SHOP NOW. www.hp.com

Affordable technology-no compromise. HP server solutions

Make IT Work As One@novell.com

Learn about the software-based VoIP solution from Microsoft

CIO Starter Kit includes useful resources created by top CIOs. Free Download>>

Rolling the dice with your security? Take the Self-Assessment Test now

Request a Novell/Microsoft deployment workshop and kit

Request a Novell/Microsoft deployment kit

Compuware.com - See how we make IT rock around the world

SOA Educational Library at the TIBCO SOA Resource Center

A fresh look at the impact of customer intimacy.

The Right and Wrong Master Data Management Strategies to Start Small and Grow Big

Learn how to leverage virtualization for a 74% savings in TCO.

Find out how you can affordably consolidate applications with VMware.

ESG Research on Server and Storage Virtualization

Webcast: Mitigate Operational Risk- Real Answers for Tough Times

Laptop Security: Where Do CIOs See Weaknesses?

How RFID Improves Data Center Efficiency

Paving the Way for Trusted Collaboration

SAS a Leader in Forrester BI report. Click here to see evaluation.

Protect data-HP All-in-One and Disk-Based systems

Microsoft SQL Server 2008. Read Case Studies, Watch Demos, & Download for Free

The 2008 CEO Study: Implications for the CIO

HP LaserJet P4014n printer starting at $799 after $100 IS. www.hp.com

NEW HP Color LaserJet CP3525n printer starting at $699. » SHOP NOW. www.hp.com

Predict the future with HP Insight Power Manager

A new level of interoperability. Make IT Work As One@novell.com

Businesses Transform with VMware Virtualization

IT Service Management: Metrics That Matter

Download the free CIO Starter Kit to access useful resources created by top CIOs

Log onto Hitachi True Stories, films inspired by the next great achievement

Request a Novell/Microsoft deployment workshop

Strong Authentication. Secure USB data storage. One Device

Discover PMI's credentials and career path tools

Learn how companies are changing how they reach out to their most profitable customers.

Discover what you need to consider when evaluating virtualization.

Webcast: SOA Brings Backend Systems into the Future, Rapidly & Successfully

Find out why IDC thinks virtualization is changing operating environments.

Explore the impact virtualization can have on your bottom-line.

Save with 0% Lease Offer on HP Servers and Storage

The Customer Communications Management Platform - Key Functionality and Best Practices

Data Center ROI with RFID Asset Tracking

Learn how the new Quad-Core AMD Opteron™ processor improves performance

Get help navigating the management challenges of virtualization.