KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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/vol2/no3/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/srakitin/OLD/newsletter/vol2/no3/vol2no3.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Food for Thought: Is Your Software Development Process Predictable?</title>
<link href="/newsletter/StyleSheet.css" rel="stylesheet" type="text/css">
</head>

<OpenTracking/>
<!--  Do NOT delete previous line if you want to get statistics on the number of opened emails -->

<body>
<strong> </strong>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr align="center" valign="top">
    <td colspan="2"><img src="/newsletter/images/FoodForThoughtLogo.gif" width="600" height="105"></td>
  </tr>
  <tr class="Reference">
    <td align="left" valign="top"><p>An e-newsletter published by<br>
      Software Quality Consulting, Inc. </p>
    </td>
    <td align="right" valign="top"><p>March 2005, Vol. 2 No. 3 <br>
      [<a href="http://www.swqual.com/newsletter/vol2/no3/vol2no3.txt" target="_blank">Text-only Version</a>] </p>
    </td>
  </tr>
</table>
<br>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td align="left" valign="top">    <p>        Welcome to <em><strong>Food for Thought&#8482;</strong></em>, an e-newsletter from <strong> <a href="http://www.swqual.com" target="_blank">Software Quality Consulting</a></strong>. 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 this <strong><a href="http://ui.constantcontact.com/roving/sa/fp.jsp?plat=i&p=f&m=sctz69n6">Forward Email</a></strong> link. If you&rsquo;ve received this newsletter from a colleague and would like to subscribe, please click this <strong> <a href="http://www.swqual.com/newsletter/Subscribe.htm" target="_blank">Enter New Subscription </a></strong>link. If you don't wish to receive this newsletter, click the <strong><a href="#bottom">SafeUnSubscribe</a></strong>&#8482; link at the bottom of this newsletter, and you won&rsquo;t be bothered again.<br>
        <br>
    Your continued feedback on this newsletter is most welcome. Please send your comments and suggestions to <strong><a href="mailto:[email protected]">[email protected]</a></strong>. </p>
    </td>
  </tr>
</table>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><div align="center"><img src="/newsletter/images/InThisIssue.gif" width="114" height="37"><br>
        </div></td>
    <td width="15">&nbsp;</td>
    <td align="left" valign="top"><p>         In <a href="#article"><strong>This Months&rsquo; Topic</strong></a>, we look at the importance of behaving in a predictable way&hellip;<br>
      <br>
      Regular features to look for each month are:</p>
      <ul>
        <li> <a href="#morsel"><strong>Monthly Morsels</strong></a><br>
          Hints, tips, techniques and reference info related to this month&rsquo;s topic</li>
      </ul>
      <ul>
        <li> <a href="#calendar"><strong>Calendar</strong></a><br>
        Conferences, workshops, and meetings of interest to software engineers, QA engineers and anyone interested in software development</li>
      </ul>
    </td>
  </tr>
</table>
<br>
<br>
<a name="article"></a>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td width="114" align="left" valign="top" background="/newsletter/images/RedSpacer.gif"><p align="center"><img src="/newsletter/images/ThisMonthsTopic.gif" width="114" height="37"><br>      
    </td>
    <td width="15">&nbsp;</td>
    <td width="471" align="left" valign="top" class="BodyText"><p align="center" class="Headline">Is your software development process predictable?</p>
      <p align="center"><strong>We never have time to do it right <br>
  but always seem to have time to do it over and over&hellip;</strong></p>
      <p>For many companies, their software development process is anything but predictable. Unpredictable behavior may have been adequate in the past. Today, organizations who fail to learn how to &ldquo;do it right the first time&rdquo; are sooner or later going to fail.</p>
      <p>Software development in the 21st century has changed dramatically. Interest in Agile Methods [1], RUP [2] and offshore development [3] has created intense pressures to deliver higher quality software, faster and with fewer resources. </p>
      <ul>
        <li><strong>Do more with less</strong><br>
          <br>
        New software products are highly complex and, as a result, more difficult to develop. Often, economic constraints limit the ability to fully staff projects. This usually means that there are fewer developers and testers. As a result, organizations need effective ways to complete increasingly complex projects.<br>
        <br>
        </li>
        <li> <strong>Do it faster</strong><br>
          <br>
        Product development cycles that once took months now take weeks. The result is that development and testing activities have much less time &ndash; which means there is often no time to do it over.<br>
        <br>
        </li>
        <li><strong>Do it with higher Quality</strong><br>
          <br>
        Today&rsquo;s customers are more demanding and more selective. Customers want software products that work reliably. Compressed schedules, understaffed projects, coupled with the need to release high quality products all result in extraordinary pressures on people to get it right the first time.</li>
      </ul>      
      <p><strong>Get it right the first time!</strong></p>
      <p>We need ways to cope with conflicting demands faced on most projects. Doing more with less, doing it faster and with higher Quality all mean that there often is no time to do it over. </p>
      <p>A Predictable Software Development&#8482; process is one way that organizations can achieve this. The goal of Predictable Software Development&#8482; is simply:</p>
      <p align="center"> <img width="362" height="69" src="images/vol2no3_clip_image001.gif" alt="Text Box: To delight your customers by consistently delivering   what you promised when you promised it.  "> </p>
      <p><strong>Why is it so important to be predictable?</strong></p>
      <p>On every software project, we want to know:</p>
      <ul>
        <li>When will the requirements be defined?<br>
          <br>
        </li>
        <li>When will coding be done?<br>
          <br>
        </li>
        <li>When will testing be done?<br>
          <br>
        </li>
        <li>When will the product be released?<br>
        </li>
      </ul>      
      <p>These are legitimate questions. Unfortunately, unpredictable organizations can&rsquo;t provide accurate answers. Why? Well, in order to answer these questions, we need:</p>
      <ul>
        <li>a clear definition of what &ldquo;done&rdquo; means for coding and testing<br>
          <br>
        </li>
        <li>a process for writing unambiguous requirements - so developers know what to code and testers know what to test<br>
          <br>
        </li>
        <li>a repeatable process for developing software <br>
          <br>
        </li>
        <li>the ability to accurately plan, estimate, and schedule software development and testing activities<br>
          <br>
        </li>
        <li>the ability to manage changes to requirements<br>
          <br>
        </li>
        <li>commitment to follow the process agreed to for the project</li>
      </ul>      
      <p>Predictable behavior is a characteristic that transcends methodology. Predictability is just as important for organizations using Agile Methods as for organizations using any other method. And yes, the &ldquo;processes&rdquo; mentioned above can be lightweight.</p>
      <p><strong>Motivation </strong></p>
      <p>Unpredictable behavior impacts your business, your customers, and your employees:</p>
      <ul>
        <li><strong>Lack of predictability impacts your bottom line</strong><br>
          <br>
        Unpredictable behavior often results in unplanned bug fix releases. Such releases divert expensive engineering resources away from activities that generate revenue (like adding new features or developing new products) to activities that don&rsquo;t generate revenue (like bug fix releases). Remember - bug fix releases are not free!<br>
        <br>
        </li>
        <li><strong>Lack of predictability negatively impacts customers</strong><br>
          <br>
        In unpredictable organizations, customers cannot depend on your release schedules. This makes it hard for customers to plan. Further, unpredictable organizations tend to release software with many bugs, adding to customer dissatisfaction.<br>
        <br>
        </li>
        <li><strong>Lack of predictability negatively impacts employees</strong><br>
          <br>
        No one wants to be associated with projects that fail. In unpredictable organizations, failed projects are the norm. And experience has shown that there is a very strong correlation between customer satisfaction and employee satisfaction.</li>
      </ul>      
      <p><strong>Achieving a Predictable Software Development&#8482; Process</strong></p>
      <p>To become predictable, we need to learn how to balance <strong>Quality, Features, and Schedule</strong>. While tradeoffs are made all the time, we need to understand and assess the implications of these tradeoffs. We also need to learn how to balance the needs of <strong>People, Process, and Product</strong>. Tradeoffs here affect productivity, customer and employee satisfaction.</p>
      <p><img src="/newsletter/vol2/no3/images/Commitment.gif" width="471" height="243"></p>
      <p>Also required is the ability to manage commitments and manage risks. Managing commitments (both internal and external) is essential so that we can consistently meet or exceed these commitments. </p>
      <p>Many complex software projects are fraught with risks. While some risks may be tacitly understood, all too often, risks are not actively managed. Effective risk management skills can make the difference between success and failure.</p>
      <p><strong>Sound familiar?</strong></p>
      <p>Here are some typical attributes of <em>unpredictable</em> organizations:</p>
      <ul>
        <li>Project schedules are consistently not met<br>
          <br>
        </li>
        <li>Customer perception of product quality is low<br>
          <br>
        </li>
        <li>Difficult to plan for new product releases and product rollout<br>
          <br>
        </li>
        <li>Difficult to allocate resources to future products<br>
          <br>
        </li>
        <li>Customer satisfaction is low and probably not being measured regularly<br>
          <br>
        </li>
        <li>Employee satisfaction and employee morale is low<br>
          <br>
        </li>
        <li>Many unplanned bug fix releases are needed</li>
      </ul>      
      <p>I&rsquo;ve identified several <strong>root causes</strong> of unpredictable behavior. These include:</p>
      <ul>
        <li><strong>Unrealistic schedules</strong><br>
          <br>
        Unrealistic schedules is a common root cause of unpredictable behavior. It results from: lack of training in estimating and scheduling, allowing other parts of organizations to set unrealistic schedules, not using information from past projects to develop more accurate estimates, etc.<br>
        <br>
        </li>
        <li><strong>Poor project management<br>
          <br>
        </strong>Software Project Management is a difficult and unrewarding job. Project managers frequently become scapegoats for failed projects. Good project managers are rare and worth their weight in gold. Without a doubt, one of the most frequent reasons that projects fail is due to poor project management. In many cases, the root cause of this problem is not the project manager, but rather, how Management measures the project manager's performance. If project managers are measured on their ability to get products released, they will do whatever it takes to meet their objectives including cutting features and reducing quality.<br>
        <br>
        </li>
        <li><strong>Crisis mentality</strong><br>
          <br>
        For many organizations, working in &ldquo;fire fighting&rdquo; mode is the norm. These organizations move from one crisis to the next. How anything gets done is a real mystery. What we should have learned by now is that working from crisis to crisis is clearly not the most effective way to use your expensive resources.<br>
        <br>
        </li>
        <li><strong>Management rewards wrong behaviors<br>
          <br>
        </strong>In many organizations, Management's goals and objectives are not aligned with the individual performance goals and objectives of the staff.<br>
        <br>
        <strong> Example</strong>: In organizations where Management complains about poor product quality, you would likely not find mention of the word &quot;quality&quot; in the performance plans for the staff. Rather than encouraging the desired behavior, Management knowingly or unknowingly does the opposite.<br>
        <br>
        <strong> Example</strong>: Management inadvertently encourages fire-fighting behavior by rewarding &ldquo;heroes&rdquo; who miraculously resolve the crisis-du-jour. In fact, in many instances, these so-called &ldquo;heroes&rdquo; often create crises in the first place.<br>
        <br>
        </li>
        <li><strong>Lack of measurement<br>
          <br>
        </strong>Many organizations are unable to measure the amount of effort required to develop and test a software release. Some organizations are unable to answer basic questions like: how big is the product (using whatever size metric you want), how long did it take to develop and release it, and how many bugs were found?</li>
      </ul>      
      <p><strong>How does a predictable organization behave?</strong></p>
      <p>Here are some attributes of <em>predictable</em> organizations:</p>
      <ul>
        <li>Mastered skills for estimating tasks and building realistic schedules<br>
          <br>
        </li>
        <li>Use project retrospectives to refine estimating and scheduling skills<br>
          <br>
        </li>
        <li>Rarely in fire fighting mode<br>
          <br>
        </li>
        <li>Very few unplanned bug fix releases<br>
          <br>
        </li>
        <li>Follow a documented Software Development Process<br>
          <br>
        </li>
        <li>Under-commit and over-deliver<br>
          <br>
        </li>
        <li>Actively manage risks and commitments<br>
          <br>
        </li>
        <li>Measure Quality, Customer and Employee Satisfaction regularly</li>
      </ul>      
      <p><strong>Management can change behavior</strong></p>      
      <p>Management controls the resources, determines how resources are allocated to projects, and most importantly, determines how people are evaluated and measured. What Management often fails to recognize however, is that:</p>
      <ul>
        <li><strong>to change the culture, you need to change the way people behave</strong><br>
          <br>
        </li>
        <li><strong>the way people behave is directly related to how people are measured</strong></li>
      </ul>      
      <p>This is particularly true for software engineering organizations where technical challenge and peer recognition are important. The notion that Management can change the culture of an organization by changing the way people are measured is not new. It&rsquo;s been known from many years [5], [6]. Unfortunately, in many organizations, Management hasn't recognized taken advantage of this fact. </p>      <p>Here are some specific actions Management can take to help create an organization that behaves in a more predictable manner: </p>
      <ul>
        <li>Measure individual performance based on objectives directly related to overall corporate goals<br>
          <br>
        </li>
        <li>Learn to develop accurate, realistic schedules and then meet them!<br>
          <br>
        </li>
        <li>Follow a documented software development process<br>
          <br>
        </li>
        <li>Hold people accountable<br>
          <br>
        </li>
        <li>Proactively manage risk<br>
          <br>
        </li>
        <li>Manage internal and external commitments<br>
          <br>
        </li>
        <li>Measure what happens</li>
      </ul>      
      <p>Management must recognize that they have the ability to change the behavior of their organizations. By learning how to do this, Management can significantly improve their organization's predictability. </p>
      <p><strong>Summary</strong></p>
      <p>As observed by Humphrey:</p>
      <blockquote>
        <p>&ldquo;When software projects fail, it&rsquo;s usually because a manager didn&rsquo;t insist that the work be done the right way.&rdquo; [4]</p>
      </blockquote>      <p>Take-away messages:</p>
      <ul>
        <li>Predictable organizations have a significant competitive advantage over their unpredictable competitors.<br>
          <br>
        </li>
        <li>Management must provide leadership to help organizations behave in a more predictable manner.<br>
          <br>
        </li>
        <li>Management must understand that they can change how people behave by changing the way people are measured. </li>
      </ul>      
      <p>If you are a manager, use this information to help your organization become more predictable. </p>
      <p>If you not a manager, I&rsquo;d suggest forwarding this to managers in your organization. <a href="http://ui.constantcontact.com/roving/sa/fp.jsp?plat=i&p=f&m=sctz69n6"><strong>Forward Email</strong></a>.</p>
      <p>Till next time&hellip;<br>
      </p></td>
  </tr>
</table>
<br>
<br>
<a name="morsel"></a>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/MonthlyMorsels.gif" width="114" height="37"></td>
    <td width="15">&nbsp;</td>
    <td align="left" valign="top">Every month in this space you&rsquo;ll find additional information related to this month&rsquo;s topic.
      <ul>
        <li><strong>Resources</strong>:<br>
          <br>
        Interested in learning more about <strong>Predictable Software Development&#8482;</strong>?<br>
        <br>
        <ul>
          <li><a href="http://www.swqual.com/training/predictable.html" target="_blank"><strong>View information</strong></a> about Predictable Software Development&#8482; Workshops<br>
            <br>
          </li>
          <li><a href="http://www.ieeeboston.org/edu05s/predictable_sw.htm" target="_blank"><strong>Register</strong></a> for Predictable Software Development&#8482; workshops sponsored by the IEEE Boston Section<br>
            <br>
          </li>
          </ul>
        </li>
        <li><strong>References</strong>:<br>
          <br>
          [1] <a href="http://www.martinfowler.com/articles/newMethodology.html" target="_blank"><strong>Fowler, M., &ldquo;The New Methodology&rdquo;, web page</strong></a><br>
  <br>
  [2] Krutchen, P., &ldquo;The Rational Unified Process &ndash; An Introduction&rdquo;, Addison-Wesley, 2004.<br>
  <br>
  [3] Kolawa, A., &ldquo;Much Ado about Offshoring&rdquo;, Better Software, Nov-Dec 2004.<br>
  <br>
  [4] Humphrey, W. S., <strong>Winning with Software: An Executive Strategy</strong>, Addison-Wesley, 2002.<br>
  <br>
  [5] Weinberg, G. M., The Psychology of Computer Programming: Silver Anniversary Edition, Dorset House, 1998.<br>
  <br>
  [6] Lister, T. and DeMarco, T., Peopleware: Productive Projects and Teams, 2nd edition, Dorset House, 1999.</li>
      </ul>      
    </td>
  </tr>
</table>
<br>
<br>
<a name="calendar"></a>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/Calendar.gif" width="114" height="37"></td>
    <td width="15">&nbsp;</td>
    <td align="left" valign="top">Every month, you&rsquo;ll find news here about local and national events that are of interest to the software community &hellip;
      <ul>
        <li><a href="http://www.asqboston.org/BOSCON/boscon.htm" target="_blank"><strong>Boston Quality Conference &ndash; BOSCON 2005</strong></a><br>
          <br>
        </li>
        <li><a href="http://www.ieeeboston.org" target="_blank"><strong>IEEE Boston Section Workshops</strong></a><br>
          <br>
        </li>
        <li><a href="http://www.boston-spin.org" target="_blank"><strong>Boston SPIN</strong></a><br>
          <br>
        </li>
        <li><a href="http://www.asq.org/softwareforum/conferences/14ICSQ/index.html" target="_blank"><strong>International Conference on Software Quality (14 ICSQ)</strong></a><br>
          <br>
        </li>
        <li><strong>Software Quality Calendar<br>
          <br>
        </strong>There are many organizations that sponsor monthly meetings, workshops, and conferences of interest to software professionals. <a href="http://www.swqual.com/links/upcoming.html" target="_blank"><strong>Find out what&rsquo;s happening&hellip;</strong></a><br>
        <br>
        </li>
        <li><strong>Workshops Offered by Software Quality Consulting<br>
          <br>
        </strong>Software Quality Consulting offers workshops in many topics related to software process improvement. <a href="http://www.swqual.com/seminars/courses.html" target="_blank"><strong>Get more info...</strong></a></li>
      </ul>      
    </td>
  </tr>
</table>
<br>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td width="114" align="right" valign="top" background="/newsletter/images/RedSpacer.gif"><img src="/newsletter/images/AboutSQC.gif" width="114" height="37"></td>
    <td width="15">&nbsp;</td>
    <td align="left" valign="top"><p>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 <strong>Predictable Software Development</strong>&trade; &ndash; so that organizations can consistently deliver quality software with promised features in the promised timeframe. </p>
      <p>To learn more about how we can help your organization, <a href="http://www.swqual.com" target="_blank"><strong>visit our web</strong></a> site or <a href="mailto:[email protected]"><strong>send us an email</strong></a>.<br>
      </p>
    </td>
  </tr>
</table>
<br>
<br>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="BodyText">
  <tr>
    <td align="left" valign="top"><p> I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. <a href="mailto:[email protected]"><strong>Send me your feedback&hellip;</strong></a></p>
      <p>Thanks,</p>
      <p> <img src="/newsletter/images/BusinessCard.gif" width="270" height="121" align="right"><img src="/newsletter/images/Signature.gif" width="90" height="68"><br>
  Steve Rakitin<br>
  <br>
  <strong><a href="mailto:[email protected]">[email protected]</a></strong></p></td>
  </tr>
</table>
<div align="center"><br>
<FONT class="Reference"> Food for Thought and Predictable Software Development are trademarks of Software Quality Consulting, Inc. <br>
Copyright &copy; 2005. Software Quality Consulting, Inc. All rights reserved. 
Graphic design by <B><U><FONT color=blue><a href="mailto:[email protected] ">Sage Studio</a></FONT></U></B></FONT></div>
<a name="bottom">&nbsp;</a></body>
</html>

Anon7 - 2021