TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPass
Home  >  Detail: Before 'Z' -- A Simple Secret for Process Improvement



A StickyMinds.com Original
Article Picture
Before 'Z' -- A Simple Secret for Process Improvement

By Payson Hall

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Improving your process plan is as simple as ... well, it's a secret that Payson Hall wants to share with you in this week's column. This bit of advice has helped numerous companies and everyone involved in the process. Find out how Payson, formerly part of the development community, became one of THEM and learned this great secret.


Rally Software Development

The poor reputation that the software industry has for delivering large development and integration projects late and over-budget is well documented and doesn't appear to be rapidly improving. Organizations that sponsor large-scale projects in both the public and private sectors are trying to address the failure rate in several ways by:

  • Formalizing and standardizing software development processes,
  • Improving project management practices, and
  • Instituting programs of periodic project reviews and assessments.

Since the first two bullets require that someone (maybe you) develop more effective processes or policy documentation, this short essay is designed to share a secret to help you do it better, faster, and more efficiently. But first, my point of view and a confession--I do project reviews (third bullet) for a living. That’s right--I've become one of them. I used to be one of us (the development community), but after spending the first dozen years of my career supporting business applications in production, then developing commercial software, then doing large-scale custom development and systems integration, I embarked on a consulting career. A big part of my current practice involves doing health checks on projects. I wear a suit and tie, consult to senior management, and write project assessments ... definitely one of THEM.

A review typically involves checking under the hood--interviewing the project manager and team; examining work products and plans; and offering opinions about the health, risks, and viability of projects. Reports typically include acknowledging effective practices that are in place and making recommendations about process improvement (where applicable) for definition, planning, status reporting, tracking, etc.

I don't have religious issues about what constitutes a good practice. If the team has a documented and reasonable way of doing something that gets the job done and it isn't inconsistent with an organization’s standards, I'm fine with it. If a team elects to re-invent the wheel, and their wheel isn't as round or doesn't work as well as an available standard or template, my job is to make sure they are aware of the limitations of their approach and how to address those limitations.

Recently I reviewed two planning artifacts for a large software procurement and implementation project: their communication and risk management plans. The communications plan was good. It identified who needed information, what information they needed, when they needed it, how it was supposed to be sent, and who was responsible for sending it. The risk management plan was fair. It talked about the processes that the project intended to use for risk management, the data that they were gathering, and how it would be used. It was mostly complete, but a little difficult to follow.

I want to share a valuable insight with you, whether you are a team member, project manager, or reviewer. Reflecting on the differences between the two documents and my impressions after an initial review lead me to realize that it is helpful and important to explain WHY you are creating any policy.

Both the communication and risk plans included a section titled something like "Purpose of this Plan" near the front. The communication plan said essentially:

"This implementation project is expected to last for several years and will dramatically change core aspects of how our organization does business at several sites. The goal of this communication plan is to describe how project information will be distributed to the people who need it as the project progresses. This includes the team, the stakeholders, and the community that will use the system. This plan records our current thinking about what information must be distributed, who will create it, who will receive it, and how often it will be distributed. We are creating this plan so that we can record our initial decisions and use the plan to guide project communication in the future. Should communication need change, we will revise and redistribute the plan to the affected parties to assure that expectations are managed and agreements are clear."

The section did a pretty good job of explaining why the author was bothering to write a communication plan. It provided a good framework for the rest of the document. It oriented the reader (me in this case) to what the author was trying to accomplish and gave me a context for my comments.

The risk management plan also had a section titled something like "Purpose of this Plan" near the front that said essentially:

"This Risk Plan is intended to fulfill our obligation under organization policy section 123.a.b.c which says that a project meeting criteria X, Y and Z must have a documented risk management plan."

Although I am paraphrasing a bit, the original text was nearly this stark. It seemed that the author was not particularly pleased with the assignment to create a Risk Plan. It also was not clear that the author understood the purpose of a Risk Plan, or saw any useful reason to create one for this high-risk, mission critical project. Much of the document read like it was bits of a template that had been filled in begrudgingly, not a coherent document intending to explain how risks on the project would be identified, analyzed, and managed. As a reviewer, I had little context to provide feedback. If you don't know the author’s intent, it is difficult to review for completeness and consistency.

Here’s a big idea for those of you who must write policy and procedure documentation:

Take the Time to Explain Why.

A short explanation of why you bother to document a policy is useful in a variety of ways:

  • Orient the author(s) to the purpose and boundaries. This can be surprisingly helpful to you as an author in terms of keeping things brief and focused.
  • Help the reader. If a reader knows why a policy was created, they can begin building a model of how that intent was addressed that facilitates understanding.
  • Provide a context for later review and assessment. Sometimes policies initially accomplish what they intend, but the problem or the environment changes over time. Establishing a clear context for the problem you are trying to solve helps to set a baseline for evaluation/re-evaluation if the solution or the problem don't align at some point.
  • Encourage compliance. Very few people like to do things simply because they are told to do them. Explaining the whys of a policy can help reduce resistance. Don't tell people, "All code will contain comments because that is the standard." Tell them, "Because we want to facilitate later maintenance and enhancement of our system, our standard is to include meaningful comments in all code."

If you take the time to describe a compelling reason for having a standard practice, it makes it easier on the writer, reviewers, and the poor souls who have to implement the standard or comply with it. If you can't come up with a sincere justification and explanation for why you are taking the time to write something down, maybe it isn't worth doing and THAT should be addressed.

About the Author
Payson Hall is a consulting systems engineer and project manager from Catalysis Group, Inc. in Sacramento. Formally trained as a software engineer, Payson has performed and consulted on a variety of hardware and software systems integration projects in both the public and private sectors throughout North America and Europe during his twenty-year professional career. He is a regular columnist on StickyMinds.com.

Back to Top
 
 


Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Gunasekarran Veerapillai 5/27/2005

Even in companies where Processes were established at the higher level, lack of involvement and dedication by the implementing ,enforcing and reviewing authoriteis leads to the type of problems mentioned by the author. Even when the person creating is not interested in reading it again, it will not certainly reach the intended audience.

Author's Response:
5/31/2005    
Your comment and the one before it both remark on people building policies who seem disinterested in the task or unqualified to perform it. Like software, documentation work products built by people who have no enthusiasm for the task are mediocre at best. A key difference between process documentation and software is that software that nominally gets the job done is acceptable, process descriptions that nominally get the job done - don't get the job done. It usually apparent to the reader that someone was trying to comply with a requirement rather than communicate... the result doesn't engender enthusiasm for compliance.

 
 
Comment:    
by John Daughety 5/26/2005

Two things in this article and in the comments caught my eye: first, process documentation is called a "back-end" process. In my experience the general opinion has always been that the only "front-end" process was coding, and all other processes were ancillary, or "back-end". The implication is that each process that makes up software development is a separate part of the overall process, with its own impact on the project's success. The more subtle implication is that a team can pick and choose from this bucket of processes based on perceived value. This view frustrates me to no end, because I do not...Read On

Author's Response:
5/31/2005    
I think you have zeroed in on a key perception problem with many processes. I would suggest that when a "back end" process is perceived as stupid/low value, the project manager should seek relief from compliance. The ensuing discussion should either confirm that the process does not apply or result in a better explanation of why the process is important in the larger context. Risk management is a great example. Ace software developers may not see the need for risk management... but the sponors of multi-million dollar projects are the ones taking the risk. The golden rule applies - Who has the gold makes the rules. If the sponsors believe they want a risk management plan, then it is incumbent on the project manager to either convince them it is not necessary or create one with enthusiasm and appropriately skilled staff.

 
 
Comment:    
by Prakash Sodhani 5/25/2005

I am working for an IT company which I recently joined. There was a discussion with some of my colleagues about the policy thar was in place and I was supposed to follow. It involved some sort of "naming conventions" to be used for the test scripts. I had different opinions as to what was supposed to be followed from the documents and what was being followed. There was NO good reason given as to why we shouldn't change it at this early point on the project. I was told that consistency is the key. Though it was not going to affect any functionality per se, I will like your comment on this?? Does my view lead to process improvement?...Read On

Author's Response:
5/26/2005    
It is difficult to offer an informed opinion based upon the information you have provided, but I will try to comment on what I think I understand from your post. If I understand you correctly, there is a written policy in your organization about the naming convention for test scripts. As someone who has waded through a test script swamp, I can attest that naming conventions can be quite helpful. It sounds like you have a different idea for the naming convention that you believe is better. There appear to be competing issues at work: first - your improvement idea (all progress is dependent upon people looking for better ways to do things), second - the real or perceived cost of changing an existing standard. Good policies usually include mechanisms for suggesting changes or improvements. Asking how to propose changes or improvements to a standard seems reasonable. It also seems reasonable for the keepers of the standard to question the cost benefit of changing a standard, and determining when a standard should be changed. Ultimately, I encourage you to ask whether your suggestion is a huge and valuable improvement over the current standard, or a minor improvement. Minor improvements might reasonably deferred in the interest of progress on more important issues. There is an ancient Chinese proverb: "The best is the enemy of the good". I encourage you to ask yourself whether the current standard is good enough for its intended purpose, and if so, direct your energies to higher priority matters.

 
 
Comment:    
by Shiryl Dean 5/24/2005

I am working at an organization that is approaching process improvement through CMM, and at its current stage, bullet 2 is more applicable (improve project management practices). All of our policy, process and procedure documents state the "Why", but those who need to follow them are more concerned with "How" and "What", and many don't bother to actually read the documents. We are asked, "How do I create an estimate," which really translates to, "What tool do I use to create an estimate." Or we are asked questions such as, "What templates do I need to use to be compliant." Many...Read On

Author's Response:
5/24/2005    
At the risk of opening the whole CMM can of worms - CMM is a great example - there are good reasons and poor reasons for implementing many of the CMM project management practices. The good reasons include improving the predictability of schedules and facilitating organizational learning. Among the poor reasons are "An executive/A customer/A regulator said we must be assessed at CMM level 2 by the end of the calendar year." At the level of an individual process (estimation for example), you can still try to describe the reason for codifying that process (e.g. to build, refine and calibrate our estimation models), but if there is no follow through and the process really is "for show" you are just putting lipstick on a pig and the troops will see the ruse. The sad thing is that the resentment engendered by busy-work processes undermines the commitment to necessary processes. If the estimation process is known to be a joke, configuration management and other processes will soon also be considered jokes, whether they were welll crafted and essential or not. The integrity of processes is difficult to maintain and easy to undermine. One addendum I would make to my essay would be to suggest that the reason WHY should be genuine and it should be apparent that the process can and does serve that purpose.

 
 
Comment:    
by Fred Earl 5/23/2005

To write a meaningful and complete policy explanation requires intelligence, experience, writing skills and vision. Now consider what sort of people are usually chosen to document policies (and perform other backend tasks) and you see the problem. It would be nice to be able to provide these people with a “template” or a “secret,” but that will still leave them with the problem of applying the template or secret to a particular case. I appreciate Mr Hall’s comments, but think that the real secret is probably Mr Hall himself.

Author's Response:
5/24/2005    
I never thought of myself as a secret... I'm flattered Fred. You are on the mark - we don't always assign the best resources to these back end tasks. I think this indicates a project/task management failure. Management is responsible for assuring that the task to be completed is well defined, that the resources assigned to the task have the necessary skills and experience, and that the task is a priority for those assigned. The "secret" of explaining why you were writing the policy in the first place is helpful in proving focus and readability, but won't overcome fundamental project management errors. Point taken.

 
 
Comment:    
by Gene Fellner 5/23/2005

I suspect that one of the main reasons that risk management plans--or anything with "risk" in the title--get so little respect in the US is that at heart we are a nation of risk-takers, not risk avoiders. Just read the news for a week. We'd rather all pitch in and rebuild a town that was destroyed by a hurricane or a forest fire, than to discourage building there in the first place or even to make it difficult to buy insurance. Rightly or wrongly, in our hearts we believe that risk management would have cancelled the transcontinental railroad project, encouraged Thomas Edison to keep his day job, and turned Henry Ford into a...Read On

Author's Response:
5/24/2005    
I agree that many in the U.S. have a romanticized image of themselves as risk takers and this contributes to some of the hesitation about risk planning in particular. As Gene points out, one of the most important (and cost effective) decisions is the cancellation of hopeless projects. It is an interesting paradox that intelligent and otherwise rational managers will cross their fingers and hope that a miracle happens for their doomed IT projects, but are probably clever enough to fold a poor poker hand rather than throw good money after bad.

 
Back to Top


Marketplace

Census: Web-based Bug Tracking and Defect Tracking
Track software bugs, defects, enhancements, support calls, and more. Issue tracking software that is scaleable, fully customizable and integrated with VSS. Includes e-mail notifications, role-based workflow, change history, and Crystal reporting.

New Webcast: How to Profit with Remote Support.
Discover how REMOTE SUPPORT can fuel your IT business in ways you've never thought of before.

The Very Best in Pairwise Test
Testcover.com - Compare our test case efficiency, response time, and ease of use. Simply the best!

Check Out IT Certification Preparation Materials
Sign Up With SkillSoft & Get Access to Training Materials for Over 50 Professional Certifications.

Bug Tracking On-Demand
Looking for the reliable, convenient, secure and completely web-based issue tracking system? BUGtrack allows unlimited number of users, projects and bugs as well as unlimited customer support for a low flat rate.

Get your product or service listed here.
Subscribe to Better Software Magazine
Subscribe to Better Software Magazine

First Name:

Last Name:

Email Address:


Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2008 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


Red Gate Software

STARWEST 2008

 
Agile Development Conference 2008