Sunday, February 26, 2012

Software Development Nirvana vs Hotfixes

The purpose of software development is not actually the development of software. If one could accomplish the same result that software development provides without developing any software, then that is what people would do. The purpose of developing software is to provide value to the user of that software. Ideally, the user could get new value from their software as soon as they realized that they needed it or as soon as somebody discovered something new that could be added that would deliver new value. But in the real world it takes time to deliver something new.

Development Efficiency vs Market Efficiency
The value of any particular feature erodes over time. If you take 2 years to develop a whole bunch of great new features and they were all developed really efficiently, that’s great, but what if the value of most of those features has eroded away during the time it took you to do it? You may have gained development efficiency, but you’ve lost market efficiency. Development efficiency is important because cost needs to be less than revenues or you’ll eventually go out of business. But market efficiency generally trumps development efficiency because revenue is so closely tied to delivery time. That is, the faster you can deliver something that people value, the faster you will get the return on that investment. Equally valuable is failing fast; learning that you are headed in the wrong direction and finding a new and more valuable tact to take.

Look at it this way. Which would you rather do? Option 1: plan to deliver 12 features in a year and “efficiently” deliver them in a year but only 4 of the features are a hit with customers. Option 2: have a flexible plan, make changes all year long, and deliver just 10 features in that same year, but 6 of the features are a hit with customers? Also consider that in option 2 the quality is higher. Hopefully, you picked option 2 and voted for market efficiency over development efficiency.

Software Development Nirvana
Based on this, I would say that software development nirvana would be 1 developer, 1 tester, and 1 user documentation writer producing changes and delivering them as fast as they possibly can. And of course the customer(s) are sending money to the team just as fast as that team delivers the software. I realize you may have questions about quality, architecture, and just how fast a customer can take changes. And of course we will want to be able to replicate what this small team does on a larger scale. Let’s park those thoughts for now and just consider that it is hard to imagine a more effective team than the one described here.

Hotfixes to the Rescue?!
It turns out that there is something that all development teams do that mimics this description of Nirvana. It is something that is done very quickly, gets whatever resources are needed, and is done because it is absolutely the highest value producing activity that the organization can do at the time that it is done. That’s right, a hotfix!

Why do you do a hotfix? Because if you don’t somebody somewhere will be losing a great deal of value. That value may be revenues, customer satisfaction, or something else of value. In any case, you do a hotfix because it produces the most possible value to your organization compared to anything else you could do at that moment. It may not seem like value, but negating a negative value is a positive value.

A good deal of my Agile thinking stems from this one observation: if the process used to resolve a hotfix is the best way to produce the highest value as fast as possible, then why don’t we do that with all of the software we produce all the time? One caveat is that most hotfix processes cut corners in order to go fast, but what if there was a way to do hotfixes without cutting corners? 


Read: "One Piece Flow", an intentional version of hotfixes.

Check out our free webinar "Panning for User Story Gold"
Date: March 6th at 1pm ET.
Description: "Putting User Stories into business value order is a key tennet of Agile, but that's just the first step. There's much more value to be extracted from your user stories using specific story splitting techniques combined with reducing cycle time. By splitting user stories you can separate the gold from the dirt as well as reduce the cost of implementation. This session will cover a variety of methods for splitting user stories and reducing cycle time including the "create/read/update/delete" method, the acceptance test method, the split by value method, frequent grooming, Kanban flow, and software tool support."

29 comments:

Anonymous said...

Too bad the webinar is not available for Linux users :(

Damon Poole said...

Sorry about that. I'll look into other options going forward, but for now gotowebinar is what I know well.

I have a feeling the author is somebody I know that works on a database appliance. If so, hope all is well with you! :)

Unknown said...

Software Development Nirvana vs Hotfixes is really interesting post. thanks for good sharing.
download crack file

patricianapoleon said...

Software Development Nirvana is effective and nice. thanks to share this post.
download software for windows free

sarajane said...

thanks for great posting! Software Development Nirvana vs Hotfixes is really interesting article.
new software download free

mary tharpe said...

great post! thnaks for valuable information of Software Development Nirvana vs Hotfixes.
backup software for windows free

Unknown said...

software windows ultimate also latest updates.

annette cooper said...

this is a very useful information of software development. thanks for this post.
download free full version softwares for pc

CRACK SOFTWARE said...

I found some bugs in Hotfixes....
PC SOFTWARE | CRACK SOFTWARE

herin woods said...

Good sharing! thnaks for the information of Software Development Nirvana vs Hotfixes. software free download for windows

FREE DOWNLOAD SOFTWARE said...

It is too much helpful for my development ..... I will develop software with crack Version.........
SOFTWARE FREE DOWNLOAD | FREE DOWNLOAD SOFTWARE

Paul Allen said...

Software Development Nirvana vs Hotfixes is a good sharing and very helpful post for development efficiency.
software download for pc all software free

Unknown said...

this is a really good sharing for Software Development Nirvana vs Hotfixes.
Portable Software Download

Anonymous said...

Nice article! really good sharing for Software Development.
Crack Download Software

Anonymous said...

this is very useful information about Software Development.
Full Software Download

Unknown said...

Thanks a lot for sharing about Nirvana vs Hotfixes, it's a very useful software.
Full Version Software

Anonymous said...

thnaks to sahr every nice differences between of Software Development Nirvana and Hotfixes.
Full Version Software

Unknown said...

these are very useful information about software development. thanks to share...
Crack Software | Free Softwares Download

Unknown said...

I really appreciate this post!! Thanks to share...
Cracked Software | Free Download Software

Gina King said...

this post is very informative. thank you so much...!!
software full version | download crack software

Unknown said...

thanks a lot for the information. its very useful.
software crack download | crack software download sites

Anonymous said...

thank you so much!! its wonderful information.
latest cracked software | all cracked software

Unknown said...

awesome sharing...thank you for this useful information.
new software free download | Spyzooka registration code

Unknown said...

thanks for giving information. its very useful.
download proteus 8.2

Unknown said...

"good work..!!!
Wondershare Pdf To Word Converter Free Download Full Version | Norton Mobile Security Product Key
"

NancyRichard said...

At Infinity Software Development in Tallahassee Florida, our mission is to provide information technology and consulting services that meet your business needs. http://mobileapp-development.com/

seema said...


Awesome blog! I am really impressed by this blog! The pictures are really nice and cool

agile software development companies india

Ethan Moore said...

Nice thoughts!!Stakeholders are the purpose for which a Product or service is created in the first place. Stakeholders are the people who have certain necessities, wants and desires; thus in business terms they have certain requirements which needs to be fulfilled.For more, Please Visit: https://www.scrumstudy.com/blog/who-are-stakeholders/

Commercial Equipment said...

Recognizing USB hyperlinks is often difficult for your handful of nonetheless it’s straightforward in case you associate with them constantly. You'll need to differentiate USB hyperlink connectors from Form A, Kind B or Mini-B. USB ports about the PC are dependably USB Variety A ports. The dimensions could have USB Style B port, so all you demand is often a connector that may have both equally toward the tip And so the machines can with no much of a extend be associated with one another to operate legitimately. Advantages Of the dimensions application