|
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/newsletter/vol8/no2/ |
Upload File : |
Food for Thought - An e-newsletter published by Software Quality Consulting
March 2011, Vol. 8 No. 2
Achieving Balance
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
aubscriptions 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 on the Forward Email link at the
bottom of this email. 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/e_newsletter.html). 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 Issue ***
In This Month's Topic, I discuss balancing process and agility...
Regular features to look for each month are:
- Monthly Morsels
Hints, tips, techniques and reference info related to this month�s topic
--------------------------------------------------------------------------------
*** This Month�s Topic ***
ACHIEVING BALANCE
Achieving balance is an important aspect of success both personally and
professionally. On a personal level, many people struggle with achieving a
reasonable �work-life� balance � a balance between an individual�s work
and personal responsibilities.
Over the past 25 years, the workplace has become increasingly competitive.
Businesses are reporting huge profits and increases in productivity
without noticeable increase in payroll. Simply working hard is not enough
anymore, especially in this economy where a seventy-hour workweek has
become the norm. American workers spend on average twelve weeks more each
year at work than their European counterparts do. What little time is left
is sprinkled between family and sleep.
The availability of smart phones and high-speed internet connections has
resulted in many people bringing work home and on vacation. All of this
can result in increased stress and burnout.
Some companies have begun to recognize that employee performance and
loyalty improves when workers achieve a more reasonable work-life balance.
These companies help employees by providing amenities such as on-site day
care, extended childcare leave, family leave for caring for elderly
parents, and working from home options.
TIPS FOR ACHIEVING WORK-LIFE BALANCE FROM THE MAYO CLINIC
The Mayo Clinic [1] has identified several things you can do to help
achieve a healthy work-life balance. These include:
- Track your time. Track everything you do for one week, including
work-related and personal activities. Decide what's necessary and what
satisfies you the most. Cut or delegate activities you don't enjoy or
can't handle � or share your concerns and possible solutions with your
employer or others.
- Take advantage of your options. Ask your employer about flex hours, a
compressed workweek, job sharing, telecommuting or other scheduling
flexibility. The more control you have over your hours, the less
stressed you're likely to be.
- Learn to say no. Whether it's a co-worker asking you to spearhead an
extra project or your child's teacher asking you to manage the class
play, remember that it's OK to respectfully say no. When you quit doing
the things you do only out of guilt or a false sense of obligation,
you'll make more room in your life for the activities that are
meaningful to you and bring you joy.
- Leave work at work. With the technology to connect to anyone at any time
from virtually anywhere, there may be no boundary between work and home
� unless you create it. Make a conscious decision to separate work time
from personal time. When you're with your family, for instance, turn off
your cell phone and put away your laptop computer.
- Manage your time. Organize household tasks efficiently, such as running
errands in batches or doing a load of laundry every day, rather than
saving it all for your day off. Put family events on a weekly family
calendar and keep a daily to-do list. Do what needs to be done and let
the rest go. Limit time-consuming misunderstandings by communicating
clearly and listening carefully. Take notes if necessary.
- Bolster your support system. At work, join forces with co-workers who
can cover for you � and vice versa � when family conflicts arise. At
home, enlist trusted friends and loved ones to pitch in with childcare
or household responsibilities when you need to work overtime or travel.
- Nurture yourself. Eat healthy foods, include physical activity in your
daily routine and get enough sleep. Set aside time each day for an
activity that you enjoy, such as practicing yoga or reading. Better yet,
discover activities you can do with your partner, family or friends �
such as hiking, dancing or taking cooking classes.
BALANCING PROCESS AND AGILITY
Software development teams often struggle with the issue of balance �
specifically, achieving an appropriate balance between formal process and
agility - the ability to adapt to change quickly.
Read more about agile with a lowercase �a�.
(http://www.swqual.com/images/FoodforThought_Mar2008.pdf)
To be successful, every project needs some level of formally defined
process. Without any process, there is chaos. With too much formal
process, project teams spend too much time on activities and tasks that
may not provide value to customers or the business.
Every project also needs to be able to respond to changes in the
marketplace quickly and adeptly. Companies that can do this are better
able to handle evolving customer demands in a highly competitive global
economy.
The challenge for software development teams is to find a reasonable and
appropriate balance between formal process and the need for agility.
Ideally, what you want is Just Enough Process. This represents the least
amount of formal process required to provide confidence to management that
the work products will have the required attributes appropriate for your
customers and the marketplace in general.
JUST ENOUGH PROCESS
In order to achieve Just Enough Process, organizations need to examine
their software development process. Identify areas where it can be
trimmed, if it is too heavy, or beefed up, if it is too lean. Using the
Seven Principles of Lean Software Development [2] can help. These
principles include:
- Principle 1 - Eliminate Waste
From a lean perspective, waste is defined as anything that doesn�t add
value. For software development, I define waste as anything that doesn�t
help the project team meet the needs of customers from the perspective
of features, quality and schedule.
- Principle 2 - Build Quality In
Build Quality In means getting it right the first time and focusing on
what it is that provides value to your customers. One way to do this is
to identify defects in requirements. Focusing attention on requirements
by removing ambiguity can help get it right the first time.
Learn more about writing better requirements...
(http://www.swqual.com/training_mission_best_practices.html)
Finding defects early requires an effective peer review process. If your
peer reviews are ineffective, perhaps you should look at ways to improve
the effectiveness of this critical tool.
Learn more about peer reviews and inspections...
(http://www.swqual.com/training_mission_peer_reviews.html)
- Principle 3 - Create Knowledge
Creating knowledge is all about learning and sharing information. For
software development, this can be done by:
- Releasing small subsets of key features early for review and
Evaluation
- Performing daily builds and running smoke tests against each build,
rejecting those where not all tests pass.
- Using modular architecture to enable new features to be added more
easily
�It is important to have a development process that encourages
systematic learning throughout the development cycle, but we also need
to systematically improve that development process.� [2]
- Principle 4 - Defer Commitments
The principle here is that the more information we have, the better able
we are to make an informed decision. By deferring decisions until the
last possible moment, you have the most information available to make
that decision.
- Principle 5 - Deliver Fast
�Companies that compete on the basis of time have a huge advantage over
their competitors: they have eliminated a huge amount of waste and waste
costs money.� [2]
Predictable organizations can usually deliver fast. To become
predictable, organizations need to define what Just Enough Process means
for them and then follow that process every time.
- Principle 6 - Respect People
As a manager, you need to trust your people to make good decisions. You
can�t undermine them and you can�t think for them.
- Principle 7 - Optimize the Whole
When we look at software development practices, we often tend to
micromanage and focus on the parts rather than the whole. To improve
software development, we need to take a holistic view and focus on the
whole process, not just the parts.
One good way to do this is via a Project Retrospective. This activity
can help identify where problems are and how they can be addressed from
a holistic perspective...
Learn more about Project Retrospectives...
(http://www.swqual.com/training_mission_retro.html)
Once you have examined your development process using the Seven
Principles, the next step is to identify changes that will help move your
organization closer to achieving Just Enough Process.
How will you know when you�re in the sweet spot? The only way to know is
to try the new process on a small pilot project. Collect a few critical
measures as you go through this project so you can compare results to
previous projects. Some examples might include:
Pre-release Metrics
Requirements Stability
- How many requirements are there?
- How many requirements have changed?
- What percentage of all requirements has changed?
- Is the trend increasing or decreasing?
Code Stability
- How many code modules are there?
- How many code modules have changed?
- What percentage of code modules changed?
- What percentage of code modules changed in last build?
- What percentage of code modules changed last period?
- Is the trend increasing or decreasing?
Review Effectiveness
- How many defects were found past the point they were introduced
(i.e., were not found in a review) as a percentage of all known
defects?
- What percentage of people come to peer reviews prepared?
Post-release Metric
Defect Removal Efficiency [3]
This measures how effective your tests are at finding defects that
your customers are likely to find based on actual use by customers for
a defined time period.
Count the number of defects found during your normal development and
testing process and then divide that by that same number PLUS those
defects reported by customers during some predefined usage period...
Total defects we find
-----------------------------------------
Total we find + Customer reported defects
Most shrink-wrap software has a Defect Removal Efficiency of between
70-80%. Best-in-class companies have defect removal efficiencies of
99.5% or higher. The higher the defect removal efficiency metric, the
better your test cases are at finding those defects that customers are
likely to find.
WHAT DID YOU LEARN?
The point of the pilot project is to assess whether you have achieved Just
Enough Process. One of the best ways to do this is with a Project
Retrospective. The retrospective can help identify areas where further
changes in the balance between process and agility are needed.
Going forward, you need to be continually tweaking your process based on
measures you�ve defined and results from Project Retrospectives.
IN SUMMARY...
If your stress level is high, work on achieving a better balance between
your work and personal responsibilities. The tips from the Mayo Clinic can
help you do this. Consider joining or starting a support group in your
company to find ways to cope. Your Human Resources Dept. may have
additional programs that can help as well.
Similarly, project teams need to find a balance between process and
agility. The Seven Principles can help you find the sweet spot of Just
Enough Process. A Project Retrospective is an excellent tool for assessing
whether you have achieved balance.
�till next time...
--------------------------------------------------------------------------------
*** Monthly Morsels ***
Every month in this space, you�ll find additional information related to
this month�s topic.
- Mayo Clinic, Strike a better work-life balance.
(http://www.mayoclinic.com/health/work-life-balance/WL00056/NSECTIONGROUP=2)
- Poppendieck, M. and Poppendieck, T., Implementing Lean Software
Development - From Concept to Cash, Addison-Wesley, 2007.
- Jones, C., �Software Defect Removal Efficiency�, IEEE Computer, April
1996.
--------------------------------------------------------------------------------
*** 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]).
--------------------------------------------------------------------------------
Food for Thought, Predictable Software Development, Act Like a Customer,
and ALAC are trademarks of Software Quality Consulting, Inc.
Copyright 2011. Software Quality Consulting, Inc. All rights reserved.
Graphic design by Sarah Cole Design.