Recently, while attending the '09 Agile Roots conference in Salt Lake City, UT, Alistair Cockburn--the keynote speaker--referenced Miyamoto Musashi's 16th-century book called The Book of Five Rings.
I like Asian philosophy (and swords and such) so I picked up the book and read it. The book was written in 1643 by an undefeated Japanese samurai master who was so effective he was rumoured to have spent the latter part of his career entering sword-fights purposely without a weapon. Although meant as a battlefield manual, the book has gained popularity as a handbook for conducting business in the 21st century.
The book was translated into English by Thomas Cleary at some point and the edition I read was published in 2005. Improperly named "The Book of Five Rings," the book is actually a compilation of five scrolls.
The Earth Scroll: Musashi talks about how a straight path levels the contours of the Earth and how various occupations provide life-improving principles. He talks about observing patterns and learning from them. Certainly a great primer for any business trying to get across the chasm.
The Water Scroll: Here Musashi talks about how water conforms to the shape of its container. He suggests a separation of one's inward mind against it's outward posture, maintaining that one's control over one's mind must not be relinquished to outward circumstances. He translates these philosophies into about 80 pages of sword fighting techniques. An interesting modern parallel is found in Jim Collins book, Good to Great, where he talks about how the most successful companies are able to say 'No' and not be influenced by immediate but non-strategic opportunities.
The Fire Scroll: As with any book written by a 16th century samurai master, you'd expect a core discussion on combat strategy. The fire scroll is full of combat strategies, positioning, and pre-emptive theory. Very interesting. Did anyone notice how Apple's announcement of the latest iPhone came about 1 day after the Palm Pre phone was officially launched--killing it's market blitz? No coincidence there.
The Wind Scroll: The wind scroll contains a directive to study and be aware of your opponents techniques. Translated into business speak, this means one should always study ones competitors. Be aware of new offerings, partnerships, markets, etc. that they persue. Emphasis is placed on observing rhythms and strategically harmonizing, or dis-harmonizing with them as appropriate.
Finally, The Emptiness Scroll: This scroll discusses the value of escaping personal biases. Emphasis is placed on not lingering on past situations and being able to adjust quickly to new scenarios.
Overall I found this book 'enlightening' to read. If you like metaphors and inferences, or sword-fighting, then you will enjoy this book.
Mike J. Ber />www.RedRockResearch.com
I recently attended an Agile Development Product Owner class taught by Alistair Cockburn. The content was excellent. He taught us about the proper perspectives an Agile Product Owner needs to successfully interact with the project sponsors, users, and the development team.Alistair Cockburn has authored several books on Agile Development, and is one of the original signers of the Agile Manifesto.I would describe Alistair's environment as squirrely and fun. We built user-stories out of the Rumpelstiltskin and Cinderella stories (from the original Nicht fur Kinder European versions--full of violence and gore!)We also discussed the differences between Use Cases and User Stories. I was happy to hear he prefers Use Cases, because so do I.All class attendees had already been through the Scrum Master course, so as we executed sprints for our product backlog, it was interesting to see how many attendees actually sought the sponsors/users feedback during the iterations--without being reminded.Overall it was an educational and enjoyable experience.
Mike J. Berry www.RedRockResearch.com
Recently someone on StackOverflow.com asked me to explain how to compute the defect removal rate for release candidate software. There are two methods for producing this number and I teach both in several of my seminars, but I'll explain the simpler method in this post...
Lawrence Putnam presented this model in his 1992 Book titled Measures for Excellence. His book reads more like a math text than a software development guide, and suffers from an unfortunate formula typo which has lead to widespread confusion about his models in the industry, but I will explain his defect removal rate calculation process. (I hired a math wizard to examine his data and correct the formula!)
1. For a typical project, code is produced at a rate which resembles a Rayleigh curve. A Rayleigh curve looks like a bell curve with a long-tail. See my ASCII graphics below:
||||
|||||||||||
|||||||||||||||||
|||||||||||||||||||||||
2. Error 'creation' typically happens in parallel and proportional to code creation. So, you can think of errors created (or injected) into code as a smaller Rayleigh curve:
||||
|||+++|||||
||||+++++|||||
||||+++++++||||||||
where '|' represents code, and '+' represents errors
3. Therefore, as defects are found, their 'detection rate' will also follow a Rayleigh curve. At some point your defect discovery rate will peak and then start to lesson. This peak, or apex, is about 40% of the volume of a Rayleigh curve.
4. So, when your defect rate peaks and starts to diminish, factor the peak as 40% of all defects found, then use regression analysis to calculate how many defects are still in the code and not found yet.
By regression analysis I mean if you found 37 defects at the apex after three weeks of testing, you know two things: 37 = 40% of defects in code, so code contains ~ (37 * 100/40) = ~ 93 errors total, and your finding about 10.2 defects per week, so total testing time will be about 9 weeks.
Of course, this assumes complete code coverage and a constant rate esting.
Hope this is clear.
Mike J. Berry
www.RedRockResearch.com
Need a good software requirements specification (SRS) template? Use an industry-standard SRS. Can't find one? Well now you have-get it here for free. Enjoy!
Mike J. Berry www.RedRockResearch.com
Want to visit ground-zero for data security? Experts from SANS, MITRE, SAFECode, EMC, Juniper, Microsoft, Nokia, SAP, Symantec, and the U.S. Department of Homeland Security's National Cyber Security Division last week presented a listing of The Top 25 Most Dangerous (Information Security) Programming Errors. Expect to see future government and big-money RFP's mandate these items be addressed.
Mike J. Berry www.RedRockResearch.com
Have you been challenged with performing a high-risk task like upgrading a prominent server, for example?
Here's an execution plan template that you can use to guide you.
I. Executive Summary
Brief overview of intended event.
II. Review of Discovery
Details of what efforts were made to research what is listed in the following sections. Meetings, Vendor consultations, Online Resources, and Conventional Wisdom can be included.
III. Pre-Upgrade Procedures
Steps identified to be taken before the event.
IV. Upgrade Procedures
Steps identified to be taken during the event.
V. Post-Upgrade Procedures
Steps identified to be taken after the event.
VI. Test Plan
Verification procedures to confirm the event was a success. This section should define the success criteria.
VII. Rollback Plan
In case the worst happens, what to do.
IIX. Situational Awareness Plan
After-the-event steps to validate the success of the event with the system's business users. This would include a two-way communication between your group and the business users, announcing the success, and providing contact information for them to contact you in case there is still a problem.
IX. Risk-Management plan
A plan listing risks associated with the steps above and recommendations as to how to lower those risks.
X. Schedule
If the event spans many hours or days, you may want to draft a schedule for the benefit of all involved. Include on the schedule the 'rollback point,' which would be the latest time a rollback could be successfully performed. Your success criteria whould have to be met by this point to avoid a rollback.
Be sure the Execution Plan is in a checklist format, not a bullet-list format. Require participants in the event to 'check' completed checklist items and sign-off sections they are responsible for.
For critical areas of high-risk, (ie: setting up replication), for example, you may want to require two individuals to perform the checklist steps and sign their names when that section is complete.
If you like, add a 'lessons learned' section to be completed later, and ke copy of the execution plan for historical purposes.
Mike J. Berry
www.RedRockResearch.com
As a software development management consultant, I'm always looking for innovative ways to improve employee morale.
My friend and associate, Greg Wright, told me about an interesting process for improving morale that his company practices.
They have an appeasement committee and budget. The appeasement committee is a group with one representative from each department. Each month, a different member of each department is represented in the group. If certain corporate goals are met, the committee plans an event for the company for that month. The events are simple and not too expensive: bowling, or mini-golf and pizza, etc.
What I find valuable about this example is that five important objectives are met:
- The individual employees are empowered by being able to participate in the suggestions to improve morale. This personal involvement is more meaningful to them, and more appreciated.
- If a committee and a budget is in place, morale-building events won't take a backseat to unexpected fires, or brand new deadlines.
- The effort-vs-reward principal is set in motion, which is one of the foundations of capitalism.
- Corporate goals get communicated, and emphasized, and are constantly on everyone's minds.
- Team-building outside of the stressed work environment will occur. This brings a fresh dimension to work-place teamwork.
Morale building is important because it separates the sweat-shop jobs from the career jobs. This simple process can do wonders for your organization.
Mike rry
www.RedRockResearch.com
I value Excellence over Heroics.
'Excellence' can be defined as "the crisp execution of established procedures." Think about that for a minute.
Do you know of a software development shop where several prominent developers often stay up late into the night, or come in regularly over the weekend to solve high-profile problems, or put out urgent mission-critical fires?
The thrill of delivering when the whole company's reputation is at stake can be addictive. I remember once staying up 37 hours in-a-row to deliver an EDI package for a bankers convention. I was successful, delivering the application just before it was to be demo'd. I went home and slept for 24 hours straight afterwards.
The problem with 'Heriocs' is that the hero is compensating for the effects of a broken process. Think about that for a minute.
If heroes are needed to make a software development project successful, then really something upstream is broken.
Most problems requiring heroics at the end of a project stem from improper effort estimations, inability to control scope, inadequate project tracking transparency, mismanaged Q/A scheduling, unnecessary gold-plating, or inadequate communication between the development team and the project users/stakeholders.
A well-organized development group humms along like a well-oiled machine. Proper project scoping, analysis, design deconstruction, estimating, tracking, and healthy communication between development and the users/stakeholders will bring that excellence that trumps heroics.
Hey, I hear that Microsoft is looking for some Heroes.
Mike erry
www.RedRockResearch.com
NewsCHIME.com, the 'News from everywhere, every 10 minutes' website has officially passed the 100+ repeat visitor mark! This site was launched in May of '08 with no advertising at all, and now enjoys more than 100 repeat visitors, and over 1000 unique visits per month.
I classify a 'repeat visitor' as somebody who has come back four or more times. The number four is kind of arbitrary, but I think somebody who comes back only once or twice is not really a captive audience participant. They are more link a potential customer peering into the store window.
NewsCHIME.com was created to bring headline news to people who, like me, love to read the news. We love it so much, in fact, that that's all we want to see on the site--news headlines and nothing else.
Have a BlackBerry and a few spare minutes between (or during) your meetings? Go to NewsCHIME.com and check out what's happing across the world!
Need to do research for education, work, or personal interest? You can search for headlines topics from the past 18 months or so on the search page.
This works great if you are expected to know about something newsworthy in a short amount of time.
For example, a search for 'Obama' or 'McCain' and a quick headline perusal will give you a one-sentence summary of everything noteworthy these candidates have done for the past 18 months. 10 minutes on NewsCHIME and you be more infomed about the upcoming presidential election than more than 300 million other people.
Need research project material on the mortgage meltdown, type 'mortgage' and you'll see the unfortunate play-by-play.
Be sure to take note of what you will NOT see at NewsCHIME.com. You will not see lots of useless links to various websites that have nothing to do with your topic. You will not see pictures of dancing people, and you will not see ads from GM, Chevy or eHarmony.
I almost forgot to mention, NewsCHIME has free news alerts! That's right, Free! Sign up and select which search criteria you want, and as those terms are named in news events you'll be the first one to know about them.
So, impress your friends, impress your boss, impress you teacher. The faster you can get at information, the more beneficial your decisions will become. Enjoy.
Mike J.
www.RedRockResearch.com
The value of information...
Here's a fun site if you are a news junkie. www.NewsChime.com is a simple site that grabs news headlines from major news sites and lists them in an easy-to-peruse text-only format.
I've got the site on my PDA which makes reading news articles perfect for that boring meeting or that inconvenient 10-minute wait you hadn't planned on.
An interesting feature on www.NewsChime.com is the ability to search for keywords in past news headlines. Want to know what has been newsworthy about Hillary Clinton, or Barack Obama? Housing Crisis? Gas Prices? You can easily search for past headline keywords with this feature.
www.NewsChime.com also allows you to get news alerts sent to your phone or email. I have news alerts sent to my phone about mortgage prices, home-loans, home-lending, and foreclosure because we talk a lot about this at work. It's been fun to be the first one at the office to know the latest.
www.NewsChime.com is a free service. Enjoy.
Mike J. Berry www.RedRockResearch.com