Pivotal Labs

Main menu

Skip to primary content
Skip to secondary content
  • About
  • Case Studies
  • Team
    • Executives
    • Locations
      • San Francisco (HQ)
      • Boston
      • Boulder
      • Denver
      • London
      • Los Angeles
      • New York
  • Community
    • Blogs
    • Tech Talks
    • Events
  • Careers
    • Lifestyle
    • Principles & Practices
    • Benefits
    • FAQ
    • Apply
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker

Preemptive Optimization

Christian Sepulveda
Thursday, April 26, 2007

Many software developers are overly sensitive to performance and spend a lot of
time and effort considering the performance of their code design. While I
understand their concerns and that they don’t want to be negligent, their
efforts are generally inefficient and sometimes misguided.

Performance bottlenecks are commonly not where you would have expected them to
be. A lot of upfront effort can be wasted on poor assumptions and planning.

Many respond to this argument by doing even more preemptive optimization design
and planning, so as to correctly identify the bottleneck. This is rarely as
efficient as simply implementing the original feature, profiling it, and then
tune or address the actual bottlenecks.

There are certain contexts where some preemptive optimization is appropriate,
such as network drivers or low-level protocol implementations. But in the
majority of cases, there is no need. Overall, the balance of concern is wrong,
in my opinion. Some advance thought for performance, so long as it doesn’t
disrupt your progress, probably won’t impact productivity much.

Unfortunately, I’ve been in many conversations where someone played the
“performance card” and derailed any discussion or progress while that tangent
had to be addressed. This is an example of a larger, more troubling problem in
software development.

There are many areas of presumed conventional wisdom than
few are willing to challenge. This combined with the typical myopia most
developers experience, whereas they see the problem they want to solve as
opposed to the one that is there, is one of the main risks to success for
software projects. Also, if the conventional wisdom and status quo was so
correct in software, why are there so many failed projects, blown schedules and
budgets, and quality and sustainability problems in the software industry?

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Add New Comment Cancel reply

Your email address will not be published.

Christian Sepulveda

Christian Sepulveda

Christian Sepulveda is Vice President of Corporate Development at Pivotal Labs, a role that includes strategic planning, modeling and execution of the company’s vision. He is responsible for negotiating and finalizing all contracts within Pivotal, and has played a key role in M&A deals such as EMC’s acquisition of Pivotal in March 2012. In this position he is involved in establishing new regional offices, new service offerings and new corporate partnerships, among other corporate endeavors.

Prior to joining Pivotal in 2006, Christian was Vice President of Engineering of Nominum, a provider of industry-leading network naming and addressing solutions, from 2003-2005. Previously, Christian was co-founder of a small consulting and software development firm in New York. He has worked in diverse industries, from finance to fashion, on both commercial software and internal IT applications.

Christian holds a BA degree in Computer Science from Harvard University.

Christian's Blog

Recent Posts

  • Join us for RockHealth's Meetup of the Minds
  • Free Version of Tweed no longer compatible with Twitter Authentication
  • Version 1.20: Photo tweets and other bug fixes
Subscribe to Christian's Feed

Author Topics

mojo (10)
palm (10)
webos (12)
software (3)
startup (3)
entrepreneur (2)
vc (2)
venturearchetypes (2)
event (1)
panel (1)
launch (1)
entrepeneur (1)
incremental (1)
innovation (1)
iterative (1)
process (1)
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • Contact
  • Labs
  • Events

Contact Us

contact@pivotallabs.com
+1 415-77-PIVOT
TwitterLinkedInFacebook

Pivotal Tracker

Tracker is the award-winning agile project management tool that enables real-time collaboration around a shared, prioritized backlog.
Visit pivotaltracker.com >