# Presentation: 089355

## A Guide to Fine Whines

- W. Mark Manduke
- Process Enhancement Partners, Inc.
- manduke@pep-inc.com

## Resistance

- A natural human reaction to change
- Can represent valid issues and must be explored
- Can also be a vain attempt at preserving the status quo but still must be explored

## The Great Tsunami of Whining

- Time to practice our technique (even if totally alien to the organization!).
- “AWWWW MANNN!!!”
- Whining seems to be a “bottom-up” phenomenon, senior execs don’t whine but they may issue unreasonable edicts.

## “I Hate to Document!”

- “It’s going to slow me down!”
- “What’s the absolute minimum we have to write down?!”

## The Larger Context

- Remember that you work in a group.
- Your work will eventually be separated from you.
- Software is perceived as “invisible”.
**Software characteristics are only visible through documentation.**
- How much should you write down?

## Learning and Honesty

- Learning
**You will make mistakes developing software.**
**Write down enough to avoid making the same mistakes over and over.**
- Honesty
**Deliberate lying is rare, but we can fall into “myth traps”.**
**Replace opinions and myths with information and data.**

## “I can’t write in English”

- “I’m an ENGINEER! I write SOFTWARE!”
- “I can’t write meaningful documentation in English!”

## Math versus English

- Our educational system does seem to force a preference at an early age.
- Software engineers have to decide what they want to be when they grow up:
**To be a successful leader, manager, consultant, or entrepreneur usually requires excellent communication skills.**
- The rules of grammar are not as complicated as solving a problem using a computer language.

## “I’m an ARTIST!”

- “I create works of software art!”
- “All this process stuff will destroy my creativity!”
- “Artists don’t plan!”

## Artists

- Artists include painters, actors, musicians, even athletes.
- Artists train and practice, practice, practice.
- Think about architecture
**Architects must conform to volumes of building codes.**
**Buildings are still created as individual objects of beauty and function.**

## “Art is a passion pursued with discipline. 
Science is a discipline pursued with passion” –
Arthur Sackler

- Science is a discipline pursued with passion” –
- Arthur Sackler

## “We are Customer-driven!”

- “We can’t say ‘no’ to our customers!”
- “Everything we get is ‘Number One Priority’!”

## Can’t Say “NO”

- Does this mean that you always give the customer everything they want?
**When they want it?**
**With reliable functionality?**
- If not, you’re DOING “NO”, you’re just not saying “NO”!
- Remember that with a finite population, you have a finite capacity for work.
**Do you know what that capacity is?**
**To know, you need to document requirements and a plan to satisfy them.**

## Everything is Priority #1

- You should be grateful for this customer or management behavior.
- Everything of equally high priority is the same as everything of equally low priority.
- This means that YOU get to choose what to work on next.
- If not, then there’s some “double secret” priority out there, somewhere!

## “We’re the Research Branch!”

- “I work in RESEARCH!”
- “We’re EXPERIMENTING!”
- “This discipline stuff can’t apply to ME!”

## Research

- Other areas of research:
**Mechanical engineering**
**Electronics engineering**
**Chemical engineering, etc.**
- In these areas, the researchers are actually held to very high levels of discipline.
**Research usually has a small budget.**
**Must make sure the same solution is not explored more than once.**
- But in Software, research = play!

## “Technology changes too fast!” 

- “Technology is changing too fast to document and follow a process!”
- “We need to stay on the ‘bleeding edge’!”

## The Fundamentals

- The same fundamentals of Software Engineering have been valid for decades:
**Analysis – figure out how the customer needs can be supported with a technical solution.**
**Design – conceptualize a solution at a level of abstraction that can be shared.**
**Code – implement the solution.**
**Test – see how we did.**
- Project Management fundamentals have also been relatively stable: plan your work, work your plan.

## The Technology

- Never confuse the tools with the process!
- Organizations seldom change their implementation tools more frequently than 1-3 years in order to amortize their investment.
- Acquiring tools properly means evaluating, selecting, and training the workforce in proper usage.
**This usually allows PLENTY of time to understand the effective, efficient method of use – the PROCESS!**

## “Can’t we just buy a process?”

- “Since we hate writing all this stuff down, can’t we just buy a documented process?”
- “Isn’t it safer to buy something that has been proven to work elsewhere?”

## Buying a Process

- There is a marketplace that will supply “canned” processes.
- Off-the-shelf process is like “off-the-shelf” software.
**Is it the best way for your organization to work?**
**Remember that changing the human behaviors to USE a process is much more difficult than documenting the process.**

## “We’ve come to the end of the presentation!”

- Thank you for sharing my favorite whines with me.
- As our whines age, I’m sure new and more complex flavors will emerge!