Sunday, June 28, 2009

The Open-Closed Principle

http://www.objectmentor.com/resources/articles/ocp.pdf

Bertrand Meyer gave us guidance as long ago as 1988 when he coined the now famous open-closed principle. To paraphrase him:
SOFTWARE ENTITIES (CLASSES, MODULES, FUNCTIONS, ETC.)
SHOULD BE OPEN FOR EXTENSION, BUT CLOSED FOR MODIFICATION.

Acceptance Testing from Requirements

http://concordion.org/
http://testing.thoughtworks.com/gettingmore



Testing Tools
http://herbertwu.wordpress.com/2009/05/19/quick-scan-of-freemostly-testing-tools/

Saturday, June 27, 2009

Zealots, Greatness


http://blog.objectmentor.com/articles/2009/03/10/lets-hear-it-for-the-zealots

"Michael Feathers who wrote a book defining Legacy code as code without tests – hardly a moderate point of view"



Philip Schwarz about 2 hours later:
@Uncle Bob You said: People who excel are, by definition, zealots. People who aren’t zealous, do not excel.
I can’t help quoting the following Pattern I read in Software for Your Head:

Pattern: The Greatness Cycle

Problem: Mediocrity

Solution: Smartness leads to greatness, via presence, integrity, conflict, and passion
Greatness is conceived in your intention to achieve at an appropriate scale; it is born in the application of integrity; it flourishes in your navigation of conflict; and it matures in the vitality of your passion.
The GreatnessCycle is an important group behavior cycle. It is simple to understand, but difficult to practice. Its phases are as follows:
1.Smart people are present no matter what they are doing. ...Smart people will exploit the fact that the deeper one’s presence in any given moment, the more valuable the moment.
2.Presence leads to integrity. ...A lack of integrity and the fullness of personal presence are mutually exclusive. That is, a high level of presence is always accompanied by a comparable level of integrity.
3.Integrity leads to conflict. ...Individual integrity doesn’t automatically bind together individuals, but those persons will deal forthrightly with the differences that arise. To do less whether to avoid a conflict, to gloss over it, or to deal with it surreptitiously is to lack integrity. The maintenance of integrity leads to conflict.
4.Conflict leads to passion. If you care enough to weather the direct, honest conflict with your colleagues that flows from your practice of integrity, then you must care a great deal indeed. The emotions you feel when issues you care about are threatened will intensify into passion. Conflict is catalyzed by caring, and summons passion.
5.Passion leads to greatness. Passionate living provides the power to do great things. Though it neither mandates nor guarantees it, passion always attends greatness.
From "Software for You Head":
http://books.google.com.au/books?id=LgHHfzec33UC&pg=RA3-PA4


Friday, June 19, 2009

A Sense of Urgency

A Sense of Urgency

John Kotter – “the world's foremost authority on leadership and change”

Background

11 years ago, author discovered planned changes were not fully launched, failed, achieved over budget or implemented with great frustration in over 70% of situations analysed.

In cases where changes are successfully implemented, a common formula was used.

Question: “What is the single biggest error people make when they try to change?”

Answer: They did not create a high enough sense of urgency among enough people.

Why Urgency is Important

6 reasons:

  1. Change is difficult if no urgency
    It all starts with urgency, if urgency not high enough & complacency not low enough, everything else difficult
  2. Success breeds complacency
    Complacency much more common than we might think & very often invisible
  3. False sense of urgency is prevalent
    Opposite of urgency is false sense of urgency. Just as prevalent as complacency, even more insidious. Equals lots of energized action, driven by anxiety, anger, frustration, unfocussed, frantic, dysfunctional, prevents people from exploiting key opportunities & addressing problems
  4. Mistaking false urgency for real urgency
    frenzied action is not true urgency
  5. False urgency and complacency can be transformed to true sense of urgency
  6. Change is continuous
    Urgency increasingly important, change is shifting from episodic to continuous, need to create & sustain sense of urgency, strong sense of urgency is moving from an essential element in big change programs to an essential asset in general

Complacency

Complacency is “feeling of self-satisfaction

Complacency stems from unconscious emotion that leads to us behaving in certain ways

Complacency is a product of success, real or perceived.

How do the complacent think?

· Never think they are complacent.

· Contend with the status quo.

How do the complacent behave?

· Do not look for opportunities or hazards

· Inward focused

False Sense of Urgency

Driven by anger and anxiety

· Anger due to failed attempts to change or when they think they are blamed for the current difficulties

· Anxiety because people worry for their jobs and career, family etc

Useful questions

  1. Are critical issues delegated to consultants?
  2. Do people have trouble scheduling meetings on important initiatives?
  3. Do meetings end with no decisions about what must happen immediately?
  4. Are discussions too internally-focused?
  5. Do people spend long hours developing presentations, run between meetings and get exhausted?
  6. Do people regularly blame others for problems instead of taking responsibility?
  7. Does passive aggression exists i.e. “Oh was that due today? I wasn’t told”
  8. Specific assignments not completed on time and/or with quality?

True Urgency

· Focuses on critical issues – Not agendas overstuffed with just important or trivial

· Driven by deep determination to win – Not by anxiety about losing

· Try to accomplish something important every day – Never leave 1000 miles in last week of race

· Think that action on critical issues is needed now

· Not “I must have that meeting” but “that meeting must accomplish something important

· Not belief that all is well or it’s all a mess but world contains great opportunities & hazards

· Not feelings of contentment, anxiety, frustration, anger but gut-level determination to move, & win now

· Alert and proactive

· Search for effective ways to get info to right individual

· Cooperate energetically & responsively

· Find ways to launch smart initiatives

· Doesn’t produce burnout/stress coz it motivates people to relentlessly look for ways to rid selves of chores of little value

· People determined to move & win, now – don’t waste time or add stress with irrelevant or business as usual activities

· Provide leadership (at whatever level) needed to create & recreate urgency (asset)

Increasing True Urgency

Help Others (Including Bosses) to See the Problem

1 Strategy & 4 Tactics

Heart-Head Strategy

4 tactics:-

  1. Bring the OUTSIDE REALITY-IN
  2. Behave with URGENCY EVERY DAY
  3. Find OPPORTUNITIES in CRISES
  4. Deal with the NoNos

Heart-Head Strategy

Most often planned changes preceded by intellectual buy-in.

The problem is all head and no heart

Aim for the heart

“Great leaders win over the hearts & minds of others” – e.g. Martin Luther King “I have a dream...”

5 key characteristics

· Thoughtfully created human experiences

· Work on all senses – tell/show/smell

· Sensory experiences are powerful, compelling, surprising, dramatic – deeply influence emotions

· Information presented by someone with confidence, credibility, passion and conviction

· Not designed to create just any emotion – not converting contentment to fear or vice-versa

· Make people feel that the crisis = blessing in disguise

· Situation speaks for itself

· Don’t explain why/how you’re exposing them to a particular experience – Not covert or manipulative, just don’t say what doesn’t need to be said

· Experience to bridge the gap between what exists and what you want

· Lead us to raise our sights, to emotionally embrace goals beyond maintaining status quo to bridge gap between today’s reality & aspiration

How to engage heart in presentation

· People like humility not arrogance

· If people feel like “he’s one of us” (through jokes, stories) treat with less suspicion (which blocks communication)

· Stories with a little drama are enjoyed by our feelings & remembered longer

· Personal stories -> intimacy -> friends -> not trying to take advantage of us

· Awkwardness -> vulnerable -> less likely to attack our decisions/beliefs -> comfortable

Tactic 1 - Bring Outside-In

Reconnect internal reality with external opportunities and hazards

Bring in emotionally compelling data, people, video, sites, sounds

8 measures

  1. Listen to customer-interfacing employees
  2. Use video
  3. Don’t shield people from troubling data
  4. Redecorate
  5. Send people out
  6. Bring people in
  7. Bring data “in”, the right way
  8. Don’t create false sense of urgency

Tactic 2 - Behave with urgency everyday

· Never act content, anzious, or angry

· Demonstrate urgency in attitude, speech and actions (incl. Meetings, 1-on-1, interactions, memos, email) as visibly as possible to as many people as possible

· Delegate well

· Avoid activities that no longer adds value

· Avoid crowded appointment diary

· Management by walking around

· Urgent patience

Tactic 3 - Find Opportunity in Crises

· Always be alert to see if crises can be a friend in order to destroy complacency

· Some see crises as bad, some view them as opportunities

· Opportunities because of “burning platform”

· Use crisis to create urgency

· Proceed with caution since crises can be deadly – never be naive

· Beware of 4 dangerous mistakes

· Mistake 1: Assuming crisis will create sense of urgency

· Mistake 2: People feel manipulated

· Mistake 3: Waiting for a crisis to happen

· Mistake 4: Crises can bring disaster if not correctly managed

Tactic 4 – Deal with the NoNos

· Remove or neutralise all the relentless urgency-killers, people who are not sceptics but are determined to keep a group complacent or, if needed, to create destructive urgency

· Nonos are highly skilled urgency killers

· Every organisation has NoNos

· Never ignore the NoNos

· 3 ways to deal with NoNos

· Distraction

· Get rid of them

· Expose them

Conclusion

  • Act with urgency everyday
  • Avoid false sense of urgency
  • Adopt heart-head strategy