|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/srakitin/OLD/newsletter/vol4/no9/ |
Upload File : |
Food for Thought-An e-newsletter published by Software Quality Consulting, Inc.
December 2007, Vol. 4 No. 9
What does your company smell like?
What topics would you like to see in this newsletter? Each month, this
newsletter tries to provide you with useful information. This is a two-way
street and your feedback is important. Please send your thoughts and comments
to [email protected].
--------------------------------------------------------------------------------
Welcome to Food for Thought(TM), an e-newsletter from Software Quality
Consulting (http://www.swqual.com/index.html?Intro). I've created free
subscriptions for my valued business contacts. If you find this newsletter
informative, I encourage you to continue reading. Feel free to pass this
newsletter along to colleagues by clicking the Forward Email link at the bottom
of this message. If you�ve received this newsletter from a colleague and would
like to subscribe, please click this Enter New Subscription link
(http://www.swqual.com/newsletter/Subscribe.htm?Newsletter). If you don't wish
to receive this newsletter, click the SafeUnSubscribe(TM) link at the bottom of
this newsletter, and you won�t be bothered again.
Your continued feedback on this newsletter is most welcome. Please send
your comments and suggestions to [email protected].
In This Months� Topic, I discuss the importance of recognizing
patterns...
Regular features to look for each month are:
- Monthly Morsels
Hints, tips, techniques and reference info related to this month�s topic
- Calendar
Conferences, workshops, and meetings of interest to software engineers,
QA engineers and anyone interested in software development
--------------------------------------------------------------------------------
*** This Month�s Topic ***
What does your company smell like?
Tim Lister from the Atlantic System Guild (http://www.systemsguild.com/)
inspired the topic for this month�s e-newsletter. I recently attended a talk Tim
gave about a new book he and his colleagues are writing. Their forthcoming book
is a collection of patterns that Tim & Co. have observed over the years in their
consulting work with many organizations. Patterns are familiar concepts to
many in the software development industry. For example, identifying and
reusing a design pattern is a common technique for developing software.
The patterns that Tim spoke about in his talk were patterns of
organizational behavior. Such patterns are important because they affect
the health and vibrancy of projects and organizations. As you might
expect, there are good patterns and bad patterns.
Tim characterized several patterns he and his colleagues have observed
by associating them with a distinct and recognizable smell. What we need
to do, according to Lister, is to recognize various smells, name them, and
determine if they are good, bad or indifferent so we can decide whether or
not to apply them again.
Associating a smell with organizational behaviors is an interesting idea.
Scientists who have studied our five senses have found that the sense of
smell can contribute anywhere from 70-95% of what we perceive as taste
when we eat. Smell is a powerful sense that often can result in emotional
responses. This is true whether the smell is of a freshly baked loaf of
bread or of a project headed for disaster.
Like Tim and his colleagues, I�ve smelled a few smells over the years -
from the sweet smell of success to the pungent odor of failure and
everything in between. Here are some examples of project and
organizational behaviors that you may recognize and some suggestions on
how to deal with them...
- The �No-one Smells Like Us� Smell
I can�t keep track of how many times I�ve heard this... I ask a simple
question about why some aspect of the software development process seems
so unusual and the answer I invariably get is - We couldn�t possibly do
that the way everyone else does - we�re different!
Well guess what? No, you�re not. Every organization that develops
software has many of the same problems - every one. I�ve seen many of
the same problems at the 100+ organizations I�ve worked with over the
years.
What should you do if you work for a company that exhibits this
behavior? Well, I�d suggest trying to get the people who believe this to
be true to talk to people at other companies about their problems. They
can do this by attending a software engineering conference or by
blogging. Another option - have a reputable consultant come in to a give
a talk on software development topics. Sometimes companies will listen
to outsiders even though their own people tell them the exact same
thing.
- The DOA Smell
Some projects are dead on arrival. Before they even get started, they
smell really bad. On such projects, everyone (except Management
apparently) knows that the schedule is ridiculous and that the
requirements are totally screwed up.
Or maybe Management has decided to outsource this project and the
Project Manager doesn�t have a clue as to how to manage a development
team half-way �round the world...
These are two examples of projects that are clearly DOA. Ed Yourdon
has a name for projects like this - he calls them Death March Projects.
Tim Lister calls this a Dead Fish Project.
What should you do if you�re working on a project like this? I�d suggest
reading Ed Yourdon�s book Death March (http://www.yourdon.com/
?loc=publications) to learn what to expect and maybe a few survival skills.
- The Who�s-on-First Smell
I�ve seen several project teams where basic roles and responsibilities
of team members were never clearly defined. When this happens, stuff
always falls through the cracks. Comments like �I thought you were
supposed to code that feature?� or �I assumed you knew that QA was doing
the daily builds,� are artifacts of this behavior.
This brings to mind the classic Abbott & Costello comedy routine
(http://www.baseball-almanac.com/humor4.shtml) called �Who�s On First?�
about the names of players on a baseball team...
Listen to Abbott & Costello�s Who�s On First routine...
(http://www.phoenix5.org/humor/WhosOnFirstAudio.mp3)
What should you do if you find yourself on a project that has this
smell? Try having a discussion with the Project Manager and help him or
her identify the roles and responsibilities that need clarification.
Offer suggestions on what the roles and responsibilities need to be and
offer to help get buy-in from the rest of the project team.
- The Insane Asylum Smell
Bill Walsh, former coach of the San Francisco 49ers, defined insanity
as:
�Insanity is doing the same thing over and over ...
and expecting a different result.�
Management, it seems, is constantly complaining that development takes
too long, testing requires too many resources, and products are released
with too few features and too many defects.
Some organizations conduct project retrospectives as a way to identify
what mistakes were made and what needs to be improved. Sometimes,
project retrospectives identify many things that need to be changed in
order to be faster, better, and so forth. However, for some reason,
needed changes are never put into practice. Management often is the
reason that process improvements and other changes identified from
post-mortems and retrospectives are never realized.
And so we plod along using the same broken process that failed us before
and somehow expect the results to be different the next time. Doesn�t
Management realize how insane that is?
A basic law of nature states that:
�If you always do what you�ve always done
You�ll always get what you�ve always gotten.� [1]
Learn more about project retrospectives...
(http://www.swqual.com/training/retrospectives.html)
- The Something�s Always Burning Smell
These days, many organizations are struggling with doing more, in less
time and with fewer resources. More often than not, I see organizations
that are constantly in firefighting mode. These companies spend almost
all of their time reacting to the latest disaster. This mode of
operation clearly takes its toll on people. In fact, an organizational
behavior expert observed that:
�In today�s business climate, many organizations have settled into a
permanent crisis mode. Management is continually unhappy with
performance, everything is always over budget, all projects need to be
done faster and cheaper, and jobs are constantly in jeopardy.
Stress management experts tell us that, to stay healthy, for every
period of stress, there must be an equal period of �Whew!� to break
the pressure. The predicable consequences of unremitting stress are:
(1) people try harder as long as they can,
(2) people burn out or break down, and
(3) people ultimately give up.
A fear-driven, unhappy, pressured, can�t-win environment generates
employees who check their brains at the door. The problem is a total
lack of balance. Organizations cannot survive in a continuous crisis
mode. Management must either provide breaks in the crisis or else
develop established processes for handling day-to-day requirements
without merely applying more pressure to workers.� [4]
If you work for an organization that is always in firefighting mode, I�d
strongly suggest that you find another job so you can preserve your
sanity and maybe your health (mental and physical).
IT�S ALL ABOUT MANAGING RISK
All of these behaviors result in increased risk of failure. A recently
published analysis of project risk from assessments of more than 280
projects yielded the following seven characteristics of dysfunctional
software projects... [2]
1 Failure to Apply Essential Project Management Practices
Many troubled projects fail to apply proven project management
disciplines like cost estimation, project scheduling, resource planning,
configuration management, and proactive risk management, and then wonder
why their project is in constant turmoil.
2 Unwarranted Optimism and Unrealistic Management Expectations
Some managers recognize the potential for negative impact on their
project from potential problem areas; however, they choose to see things
through rose-colored glasses, assuming that problems will work
themselves out even when all available evidence raises a red flag.
3 Failure to Implement Effective Software Processes
Many projects fail to implement effective software processes because
their approach to process application is not balanced. Some apply
minimal process and rely on staff expertise, while others insist on
rigorous global process conformance.
4 Premature Victory Declarations
Pressures to deliver timely products often result in premature
declarations of completion by managers. Success cannot be declared until
products have been completed with the built-in contracted quality and
reliability.
5 Lack of Program Management Leadership
Managing a software project requires "courageous" and often clairvoyant
individuals who are willing to confront today's challenges to avoid
tomorrow's catastrophes. We have observed two types of problem managers:
those with software engineering and no management experience, and those
with management and no software engineering experience. Both types lack
the ideal blend of both technical and managerial know-how.
6 Untimely Decision-Making
Some managers avoid making time-critical decisions until it is too late,
even when they are faced with overwhelming warning signs of impending
problems.
7 Lack of Proactive Risk Management
Many projects claim to implement risk management but few do so
effectively. "What distinguishes the best organizations and best
managers is not just how well they do in their successful efforts, but
how well they contain their failures." [3]
SUMMARY
Patterns (smells) are everywhere - in our work as well as in our personal
lives. We need to learn to identify patterns and recognize those that are
positive and those that are negative. Only then can we begin to identify a
compelling rationale for change - be it changing the organization or
changing jobs.
If you want to savor the sweet smell of success, remember...
�We Have Met the Enemy and He Is Us,�
- Walt Kelly, Pogo Cartoon Strip, 1970
Happy Holidays!
--------------------------------------------------------------------------------
*** Monthly Morsels ***
Every month in this space you�ll find additional information related to
this month�s topic.
- References:
[1] O�Toole, J., Forming the Future - Lessons from the Saturn
Corporation, Blackwell, 1996.
[2] Evans, M., et. al., � Seven Characteristics of Dysfunctional
Software Projects�, CrossTalk, April 2002.
[3] DeMarco, T., Why Does Software Cost So Much?, New York, Dorset House
Publishing, 1995, p. 62.
[4] CooperComm Consulting Inc. White Paper on Dysfunctional
Organizations (http://www.coopercomm.com/dysfnorg.htm)
- Resources:
For an interesting view of software design patterns and how they can
negatively impact software projects, see:
- Brown, W., et. al., Anti Patterns Refactoring Software, Architectures
and Projects in Crisis, Wiley, 1998
Christopher Alexander (http://www.patternlanguage.com/leveltwo/ca.htm), the
noted architect, is recognized as the father of the pattern language movement
in computer science. He has written a seminal book on patterns titled, A
Pattern Language (http://www.amazon.com/Pattern-Language-Buildings-
Construction-Environmental/dp/0195019199/ref=sr_1_6?ie=UTF8&s=books&
qid=1195592922&sr=8-6).
--------------------------------------------------------------------------------
*** Calendar ***
Every month you�ll find news here about local and national events that
are of interest to the software community...
- Software Quality Calendar
There are many organizations that sponsor monthly meetings, workshops,
and conferences of interest to software professionals. Find out what�s
happening... (http://www.swqual.com/links/upcoming.html)
- Workshops Offered by Software Quality Consulting
Software Quality Consulting offers workshops in many topics related to
software process improvement. Get more info...
(http://www.swqual.com/seminars/courses.html)
--------------------------------------------------------------------------------
*** About SQC ***
Software Quality Consulting provides consulting, training, and auditing
services tailored to meet the specific needs of clients. We help clients
fine-tune their software development processes and improve the quality of
their software products. The overall goal is to help clients achieve
Predictable Software Development(TM) � so that organizations can consistently
deliver quality software with promised features in the promised timeframe.
To learn more about how we can help your organization, visit our web site
(http://www.swqual.com/index.html?AboutSQC) or send us an email
([email protected]).
--------------------------------------------------------------------------------
I hope this newsletter has been informative and helpful. Your comments and
feedback are most welcome. Send me your feedback... ([email protected])
Thanks,
Steve Rakitin
[email protected]
Food for Thought, Predictable Software Development, Act Like a Customer,
and ALAC are trademarks of Software Quality Consulting, Inc.
Copyright 2007. Software Quality Consulting, Inc. All rights reserved.
Graphic design by Sage Studio