Saturday, August 8, 2009

BarCamp 2009


This Saturday I attended my first BarCamp. The BarCamp RDU 2009 was hosted by Red Hat at their HQ on the NC State University campus in lovely Raleigh. Approximately 200 people attended and from that audience 36 people were able to present on a diverse set of topics.
Similarly to the CloudCamp I participated in last fall, the BarCamp is run in an "unconference format". At the beginning of the day people that thought they had a good idea would put the name of their topic on a sheet of paper, queue up for the podium, and when your turn came, pitch your concept to everyone for a minute or two. Then you paste your paper into an available room/time slot and after everyone is done pitching the voting begins. People walk up to the wall (see picture) and if they like the concept they put a mark on the paper. This allows the organizers to shuffle presentations between small and large rooms based on interest and if no one voted for your topic you can gracefully cancel.

Here are the topics that were presented this year:

  • HTML 5 Discussion
  • Power Present in 15 Minutes
  • Learn how to Juggle
  • Secrets of Effective Nomading
  • Recommender Systems: Lessons Learned
  • Free: Profit Killer, Inevitable, Necessary, or all of the above
  • Static on the Line: How to handle feedback
  • Server side Javascript with Dojo
  • Palm Pre: Development for noobs
  • Potpourri for $500
  • Bughouse (a chess variant with two boards and four people)
  • Polyphasic Sleep Q&A
  • The Intersection of Usability, Accessibility, and SEO
  • Building your A Team
  • Rapid Return on Investment: Achieve 12 month break even using emerging technologies
  • CALEA: Lawful Intercept
  • GeekDads
  • Soft Appliances
  • How to do Social Networking when there is no "Network"
  • What's up with OpenSocial
  • WTF is Biz Dev
  • Intro to jQuery
  • Alternate JVM Language overview
  • Polka! - Triangle Vintage Dance
  • When things go horribly wrong
  • Which Languages and Technologies will be around in 10 years?
  • Productivity of a Submariner
  • Google Wave
  • Managing the performance of servers in a large network... on the cheap
  • Webkit Debugger
  • How Smart Startups Win
  • The Small Business Web
  • Zombie
  • Self Publishing Roundtable
  • Query optimization in PostgenSQL
  • Twitter Roundtable


As you can see this is not your typical technical conference. For example, I was exposed to the community of Polyphasic Sleepers for the first time at this conference.

So here are the talks that I went to:

Free - presented by Martin Smith

Marty led a discussion on the aspects of marketing concerned with the niche markets (ala The Long Tail) and with new business models where content/services are offered for free to the consumer and revenue is generated via ads or with premium services offered to the free subscribers.

From a long tail perspective we discussed some of the benefits of business that operates in that market:

Distribution of Risk - Palm is betting the business on the Pre. If it does not succeed the company will probably not survive. If instead of a single product, a company was able to offer a large number of products to niche markets the risk would be distributed. One commenter mentioned that some products (like cell phones or pharma) require a large production to offset the development expense.

Marty mentioned the increasing complexity of the Internet and recommended NonZero by Robin Wright as good background on how our society is evolving to deal with increasing complexity.

Someone else in the room said that the Long Tail principle applied to more than commercial products. She thought that ideas were also finding small niche groups of people. And those people tended to be more passionate about the idea and more likely to take action in the small group.

Rapid Return on Investment - John Baker

That’s right; I was able to get the new material that Chris Hanebeck and I have been working on in front of this audience as a beta test of concepts.

The basic premise that Chris and I have is that one can find projects in a company that can achieve break even ROI within twelve months. We use a combination of out-of-the-box thinking, emerging technologies, and discovery of analogies solutions from other industries to achieve the results. To get a copy of the material I presented go to my website. A few people drifted out of the room during the presentation and afterwards a participant mentioned to me that the examples I used in the presentation (RFID used in the Supply Chain) was probably not familiar to the audience of BarCamp. I am planning on developing a version that does focus on emerging Internet technologies and will be ready for next year.

What’s up with OpenSocial - Dave Johnson

This one was definitely more technical. Dave presented the basics of OpenSocial and the progress some companies like LinkedIn, Google, Ning, and Yahoo are making using the standard to share data and gadgets associated with social networking. The official site has a wealth of information. And Dave has his own personal blog where he covers OpenSocial and other efforts like BarCamp.

With as many companies investing in OpenSocial it would seem that current problems (e.g. poor security) will be solved.

What Languages and Technologies will be around in 10 Years? - Jeff Terrell

Jeff is graduating from UNC Chapel Hill and wanted to speculate with the audience on what languages/technologies it might make sense to invest time in learning. For example, will Ruby on Rails be around for a long time?

This lead to a diverse discussion on a wide range of topics:

  • The language/technology will depend on the solution being developed. COBOL is still being maintained on mainframes in banks while C is common on embedded systems.
  • The "browser" based interface is likely to continue grow in ability to support more and more applications.
  • The browser based rendering engine is complimented by the continued penetration of always available high bandwidth wireless networks.
  • The current keyboard I/O may be replaced by gestures or by voice recognition.
  • Augmented Reality will become more common (see Layar )

Google Wave - Joe Gregorio

Joe demoed the Google Wave using a couple other members of the audience to mutate the wavlets being created. He also showed how Robots worked (very cool implications) and how Gadgets (using a semi-OpenSocial structure) can be dropped into a wave.

Google wants Wave to be a true replacement for email (and I suspect a lot more) and therefore is opening up the control of its future to Open Source.

The audience (this was the most popular session I attended during the day) asked a ton of questions. For example, how will Wave work for the user on an airplane (assuming they are disconnected) who continues to work for four hours mutating the wave they left the ground with. What happens when they land and resync? Joe explained that the Operational Transforms would be processed and that the wave would be left in a correct state for all users. Joe said Google does not promise that the results are meaningful, just consistent. So there will need to be some common sense applied to the approach. One idea I have for that is since most documents being created by a team effort would have division of labor it might make sense to add an optional check in / checkout protocol. So just before leaving on my trip, I check out Chapter 4 in the wave and when somebody else tries to touch it that person is told to wait till the material is checked back in for common use.

Google Wave is really cool.

So my Saturday at BarCamp was well worth the time and if you have not experienced one yourself I encourage you to jump on the web and see if one will be happening in your location soon.


Wednesday, August 5, 2009

Learning from Mistakes

I attended a brown bag conference call hosted by the Industrial Research Institute on the topic of "Learn from New Product Failures". Our speaker was Jim Hlavacek, one of the authors of the paper by that name published in Research-Technology-Management. They have had experience in reviewing failed projects at manufacturing companies based on techniques used in the medical profession. In many teaching hospitals, when there is an adverse patient outcome to treatment, the clinical team undergoes a Mortality and Morbidity Conference, where the course of treatment is reviewed by an objective team and mistakes identified.
Hlavacek reported experiences at companies like Intuit, Toyota, and 3M where a regular process of review is built into the engineering/marketing culture.
Under Hlavacek's approch the Failed Product Review (FPR) would consist of the following:

Background
Name of the failed venture
Dates project began and was terminated or shelved
New Venture leader and cross-functional team members
Objective and qualified principal investigators
Inputs
Face-to-face interviews with people who were particpants on the project
Face-to-face interviews with OEM and end-use customers who were involved
Face-to-face interviews with distributors/dealers and/or key suppliers
Obtain all e-mails, business plans, documents, trials, and project presentations
Methodology
Develop timelines and milestones of critical events or decisions
Doucment the unfavorable outcomes with data
Develop fishbone diagrams for the project and processes
Develop root-cause analysis of the fishbone diagrams
Recommendations
What went well for the project
What went wrong for the project
Lessions learned and corrective actions

This approach to learning from mistakes reminded me of some similar approaches I am familiar with. Those of you with a military background may have participated in an After Action Review. This is used primarily during training exercises to understand what happened, evaluate everyones performance, and discuss what could be done better. From the USArmy manual comes a similar outline for an AAR:

Introduction and rules
Review of objectives and intent
Training objectives
Commanders mission/intent
OPFOR commander's mission/intent
Relevant doctrine, tactics, techniques, and procedures

Summary of recent events (what happened)
Discussion of key issues

Chronological order of events
Battlefield operating system
Key events/themes/issues
Discussion of optional issues

Soldier/Leader skills
Tasks to sustain/improve
Statistics
Others

Discussion of force protection (safety)

Closing Comments

The final example is from my experience as a Certified Scrum Master. Under SCRUM a small team produces a product release using a succession of short time boxed miniprojects called Sprints. Sprints typically take anywhere from 2-4 weeks for the team to produce a functional version of the product. After every Sprint the team gets together for a Restrospective Meeting. In this meeting the team discusses the following:

What worked well last Sprint that we should continue doing?
The practices that worked well during the previous Sprint should be identified and continued in the coming Sprint.

What didn’t work well last Sprint that we should stop doing?
The team or customers should identify practices that worked against the team during the last Sprint and focus on stopping those things during the next Sprint.

What should we start doing?
The team identifies practices that should be implemented during the coming Sprint that will help them work better together.

Out of this discussion comes a list of actions that the Scrum Master captures and and is responsible for implementing during the next Sprint.

So lets compare/contrast these three approaches:

  1. The FPR is conducted when things go wrong. The AAR and Retrospective occur for all outcomes.
  2. Both the FPR and AAR require the participation of one or more objective reviewers. The Retrospective depends on the team and, sometimes, invited guests.
  3. The FPR and AAR both use detailed analysis to find root causes. The Retrospectice is more adhoc.
  4. The AAR assumes that particpants will change behavior based on issues being surfaced, the FPR has a deliverable of lessons learned but no clear followup for change, and the Retrospective has a set of actions with the Scrum Master responsible for seeing they are implemented immediately.

In my opinion, the key to making any of these techniques work is to have a culture of trust surounding the proceedings where everyone understands that people make mistakes and that for the majority of participants mistakes that are surfaced will not be used to punish them. I say majority, because if the same individual is constantly exposed as making repeated mistakes and not correcting behavior then it may result in termination.
Over my career, I have participated in and led a lot of project/product reviews. Almost always, people are defensive and guarded about what happened. To set the right tone in establishing a review program executives should lead by example, being willing to have their actions reviewed and also demonstrating with their subordinates that mistakes they make are not used to influence annual appraisals.