Do you like designing on whiteboards? I do. Colorful markers against a clean, white surface inspire all kinds of creativity and fun.
Recently I came across a great tip. Instead of going to your local OfficeBOX superstore and paying $200 for a 4x8 whiteboard, just hit HomeDepot instead and get a $12 piece of showerboard. It works just as good and if you need a smaller size they will cut it for you on site for no additional charge! At that price, you can line your walls with thinking space.
Mike J. Berry www.RedRockResearch.com
I've heard people make references to Geoffrey A. Moore's Crossing the CHASM book for several years now but had't read it until this past week.
Moore's book is a must-read for any IT company trying to launch a new product. Although the concepts in the book are not novel (so admit's Moore) the book brings a vocabulary and metaphoric dictionary to the readers allowing marketing groups, investors, and techies alike to communicate about the playing field in a proactive manner.
Moore discusses the importance of delivering continuous innovation, instead if discontinuous innovation. Our new innovations need to help people do what they are already doing better, and not force them to abruptly change something that kinda works for something that they are not sure about that may possibly work better.
Moore introduces the Technology Adoption LifeCycle, complete with five categories of market segments. He discusses how to market in succession to each group:
- Innovators
- Early Adopters
- Early Majority
- Late Majority
- Laggards
Finally, Moore introduces some business concepts you may have heard of by now, like the bowling alley, the tornado, and the fault line.
If you haven't heard of these, then you need to get reading!
Mi Berry
www.RedRockResearch.com
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