Software, Agile Process, SDLC, Kanban, Lean, RUP, Use Case, and Requirements. Along with a dash of unrelated material.
Tuesday, April 10, 2012
Small stories
If your stories are small, discrete pieces of work, Kanban fits well – no one story choked the backlog and stories didn’t need to be completed in groups. The business then has the flexibility to change the backlog of any story not on the Kanban board which means the process allowed the business to keep up with the development team. The business focuses on fewer stories, meaning that the stories they did focus on are of much higher quality. Keeping only 2 critical stories in the product backlog at any one time (limited by WIP), enables a fluid prioritization of the rest of backlog. The business team, who determines the content of the stories, is able to focus only the top few, leading to better time management and clearer stories.
Thursday, March 8, 2012
Correction on Agile
If you're trying to find information about agile on the internet, I hope you've found that there is a lot of wrong information out there. Let me give you a couple of examples.
In a study group about agile certification, the question came up about iteration length. One of the participants posted the following;
"Sprint duration is fixed ONLY after some smiler (sic) Sprint cycles have finished so there is no such duration fixed (sic). Books may recommend some durations for understanding purposes and in practical (sic) smaller the Sprint, more effective it is.Once the Sprint is longer than 1 month or so, then again it effects its agility anyway(sic)."
Where did that come from? What does this mean? I wonder. Scrum.org paints iterations as time boxes of fixed length. Varying sprint lengths make it difficult to judge how much can be completed or do any type of forecasting. Sprint lengths are set and shouldn't vary - based on Schwaber, Cohn, Fowler, and more.
I have other examples I'll explore next month
In a study group about agile certification, the question came up about iteration length. One of the participants posted the following;
"Sprint duration is fixed ONLY after some smiler (sic) Sprint cycles have finished so there is no such duration fixed (sic). Books may recommend some durations for understanding purposes and in practical (sic) smaller the Sprint, more effective it is.Once the Sprint is longer than 1 month or so, then again it effects its agility anyway(sic)."
Where did that come from? What does this mean? I wonder. Scrum.org paints iterations as time boxes of fixed length. Varying sprint lengths make it difficult to judge how much can be completed or do any type of forecasting. Sprint lengths are set and shouldn't vary - based on Schwaber, Cohn, Fowler, and more.
I have other examples I'll explore next month
Thursday, January 26, 2012
Successive Refinement of Requirement/design
In agile, requirements are progressively detailed, with the finest details being developed as late as feasible. There are three main reasons for this just in time requirements detailing: no time is wasted on requirements that are possibly not going to be developed, decisions about requirements can take into account lessons learned in prior sprints and the requirements fresh in the mind of the team when they begin developing because the lag time between specification and implementation is short. Enabling flexibility in the requirements backlog and minimizing wasted work are just as important as detailing the requirements.
Design documentation has its highest value in helping work out the details of the software under construction, not as post implementation documentation. As a post-implementation artifact, documentation must be kept up to date with the software which adds to the cost of any software changes. If the documentation is even slightly out of date, the documentation looses credibility – the code becomes the ultimate documentation. Unless the documentation is automatically generated, design documentation is of limited value and should be prioritized low.
Design documentation has its highest value in helping work out the details of the software under construction, not as post implementation documentation. As a post-implementation artifact, documentation must be kept up to date with the software which adds to the cost of any software changes. If the documentation is even slightly out of date, the documentation looses credibility – the code becomes the ultimate documentation. Unless the documentation is automatically generated, design documentation is of limited value and should be prioritized low.
Saturday, December 10, 2011
The pacesetter?
Pacesetting is a leadership style based on the premise that the leader’s manner of doing things is best. While the intentions may be noble (getting the project done) it’s a form of ego and can border on recklessness. Often times the individual doesn’t even realize that he/she is exhibiting classic signs of this leadership style.
First and foremost, we must recognize that agile development can provide a wealth of opportunities to act as a pacesetter. Consider the effect of one week iterations: given the right circumstances, at the end of every week there’s an opportunity to be a hero – to ensure that the team makes the weekly commitment goal. Another problem is that immature product owners can take advantage of pacesetters, pressuring them to add little features, and with agile’s emphasis on collaboration, there is often no way of telling (e.g. no documentation and change control) that the pacesetter is allowing micro bursts of scope creep. The technique of pair programming provides another prime opportunity for the pacesetter to be the center of gravity for getting things done, leading (or pushing) the pairing partner. Self selecting stories from the backlog can easily turn into a game where the pacesetter assigns him/herself to an inordinate number of stories early in the sprint – effectively marking many stories “in process”.
Agile development can also be a threat to the pacesetter’s sense of control – which can exaggerate the negative behavior. Agile emphasizes whole team participation, responsibility, and rewards. The pacesetter may feel lost and long to add value as an individual.
First and foremost, we must recognize that agile development can provide a wealth of opportunities to act as a pacesetter. Consider the effect of one week iterations: given the right circumstances, at the end of every week there’s an opportunity to be a hero – to ensure that the team makes the weekly commitment goal. Another problem is that immature product owners can take advantage of pacesetters, pressuring them to add little features, and with agile’s emphasis on collaboration, there is often no way of telling (e.g. no documentation and change control) that the pacesetter is allowing micro bursts of scope creep. The technique of pair programming provides another prime opportunity for the pacesetter to be the center of gravity for getting things done, leading (or pushing) the pairing partner. Self selecting stories from the backlog can easily turn into a game where the pacesetter assigns him/herself to an inordinate number of stories early in the sprint – effectively marking many stories “in process”.
Agile development can also be a threat to the pacesetter’s sense of control – which can exaggerate the negative behavior. Agile emphasizes whole team participation, responsibility, and rewards. The pacesetter may feel lost and long to add value as an individual.
Wednesday, October 26, 2011
Back to product owners
So what's it take for a product owner to work well?
Observations:
• Technical people (i.e. former or current developers) can make poor product owners as they can tend to focus on the technical rather than business side of the house.
• Some of the best product owners are those that are very close to the customer.
• A manager may be a poor product owner because they tend to see the product in terms of tasks rather than features.
• Rotating a product owner causes quite a bit of churn. Don’t do it.
• Multiple product owners can be a bad idea unless they can collaborate together. Multiple product owners can be just as bad as multiple managers trying to manage one project.
• Product owners must be organized enough so they have stories ready for the sprint planning session.
• Business analysts can make good product owners as can technical sales people and product trainers.
• Look at the values of the agile manifesto and make sure your product owner can buy into them.
• If multiple stakeholders are involved in the product, you need one product owner to represent them. And that one representative must have the authority to make decisions without constant negotiation of the other stakeholders.
Observations:
• Technical people (i.e. former or current developers) can make poor product owners as they can tend to focus on the technical rather than business side of the house.
• Some of the best product owners are those that are very close to the customer.
• A manager may be a poor product owner because they tend to see the product in terms of tasks rather than features.
• Rotating a product owner causes quite a bit of churn. Don’t do it.
• Multiple product owners can be a bad idea unless they can collaborate together. Multiple product owners can be just as bad as multiple managers trying to manage one project.
• Product owners must be organized enough so they have stories ready for the sprint planning session.
• Business analysts can make good product owners as can technical sales people and product trainers.
• Look at the values of the agile manifesto and make sure your product owner can buy into them.
• If multiple stakeholders are involved in the product, you need one product owner to represent them. And that one representative must have the authority to make decisions without constant negotiation of the other stakeholders.
Monday, September 26, 2011
Word Cloud generators?
Friday, August 26, 2011
Product owners?
What are some of the things to look for when starting up an agile team and choosing the product owner?
-->
-->
A good product owner must have:
Knowledge
· Knows enough about the product to create and maintain a backlog – can write reasonable requirements and eventually stories.
· Knows enough about the product and it’s context to conveys the vision and goals of the project and each sprint.
· Understands the needs of the customer.
· Knows enough about the technology to make reasonable decisions.
Authority
· Can carry through the result of any tough decisions.
· Owns the product success (or failure), so can prioritize the backlog and eliminate stories if they’re not high value.
· Represents the customer, interfaces and engages the customer.
· Can change the course of the project at the end of every Sprint.
· Can terminate a Sprint if he/she determines such action is required.
· Has the recognition to communicate status externally.
Availability
· Has the time to work on the product backlog, despite other responsibilities.
· Can actively participate in the daily Scrums, Sprint Planning Meetings and Sprint Reviews and Retrospectives.
· Has enough time to quickly respond to questions (that day) and sit with the development team when needed.
· Actively inspects the product progress at the end of every Sprint and has complete authority to accept or reject work done.
Aptitude
· Able to resist the temptation to micromanage.
· Not be afraid to make tough decisions.
· Able to work in a team environment.
· Focused, proactive, and engaged in the product.
· Good negotiator.
· Deeply interested in helping the team be successful.
· A “People Person” with patience.
· Willing to learn and flexible enough to deal with the changes of agile.
Sunday, August 15, 2010
Tips for new BAs
Remember that your business contacts are usually very busy and may not see providing information for project requirements as a priority. Be persistent, but considerate of their situation.
If you are not getting adequate time with someone you need to talk to, address the problem as soon as possible. Talk to the person about possible times to meet. Address the issue with the project manager and in your status report.
Target your communication to your audience. Busy executives may not read anything except a single page with bullet points. Others will want to read every detail before signing off. Visual people may understand flow charts better than use case descriptions. Don’t use technical jargon or acronyms that your audience is unlikely to understand.
Since time is usually limited, use an agenda for all meetings and follow up by sending meeting minutes to the team.
- Ask people when the best times to talk to them are and when it is best to leave them alone (when end of month process is going on, for example).
- Find out their preferred method of communication. If someone never responds to your e-mails try phone calls or stopping by their desk. If they hate interruptions, schedule time to meet or use e-mail.
Always, always have an agenda for meetings and a set of goals for the meetings.
Friday, July 30, 2010
Mind Puzzles
Here are some ways to exercise creative thinking. They are separate from eachother. Have fun.
Clear your mind
The idea is to get rid of problems that are keeping you from concentrating on the task at hand.Take out a piece of paper and quickly write down any issues which come to mind. It doesn’t matter how small the issue is, write it down. Keep writing until there is nothing left to write. Then look at the list and acknowledge that you will deal with these concerns later. Fold the paper up and put it on the corner of your desk for later.
Define your problem
The idea is to come up with different expressions of your problem, leading to a new and unusual solution.Use an idea quota. Write down 5 different ways to express your problem in 1 sentence.
Repeat at least 3 times.
Why and what ways
The idea is to drive to root cause (why) and back up to potential solutions.Why do I spend time less time doing this thing that I should?
Why do you want to ...?
Why do you ...?
Why do you ...?
Why ...
Now restate the answers as “In what ways can I ....”
Mind map and negative mind map
The idea is to see the problem from a negative perspective and strengthen the positive.Do a mind map of the problem.
Now do a mind map of the opposite of the ideas. I.E. opposite of fitness is sloth.
Random words
The idea is to look at the problem from differnt perspectives.“In what ways can I ________________?”
Choose a random verb.
Explore the relationship between the sentence and your subject and then explore the non-relationship between the sentence and your subject.
Thursday, July 15, 2010
Random Number Generators and Slot Machines
Has this ever happened to you: you're playing your favorite slot machine for nearly two hours, hoping to get that big jackpot but never really winning it. You take a break for lunch and come back an hour later just to see someone else playing your machine hit the big one. Is your first thought, "That's my jackpot! If I had only stayed I would have won it all.” Don't believe it. Slot machines are based on a sequence of pseudo-random numbers and, in a way, the timing of your play.
An slot machine is a computer (Electronic Gaming Machine or EGM actually) and computers can't really create random numbers, but can generate sequences of numbers that mimic randomness - Pseudo Random Numbers which are widely known as PRNs. These PRNs are pretty good: they're exercised with battery of tests run against the output to ensure the numbers are statistically random. The most common algorithm, the linear congruent method (LCM) which generates numbers such that same sequence of numbers won't occur until about 2 billion numbers have been generated. Many EGMs use variations of the LCM that have cycle periods close to the number of molecules in our galaxy! You can't guess the sequence even if you know the algorithm.
As a rule, EGMs generate a random number continuously, not every time you drop in a coin. It's not unusual for EGMs to generate over 1000 numbers in the sequence every second. Only when you place your bet does the machine capture the next 'random' number. Knowing the algorithm isn't of much help since you'd have to drop your coin into the machine and bet at the exactly right 1/1000th of a second in order to get the number you were counting on.
Once the number is generated, the computer compares the number to a payout chart. All games have a payout table referred to as the PAR (Percentage Average Return) chart. Each EGM has it's own individual PAR chart, usually ranging from 99% to 81%.
Every game (even if they look the same) has a different PAR chart and the chart is usually held as confidential by the casino. The payout rate advertised on the machine or in the casino usually portrays an average of all the games taken together. Since each game is a separate entity with its own random number generator, it is not uncommon for one game to have a payout of say 95% and the one next to it, with the same game title having a payout of 86%.
To further complicate matters, PAR charts are usually different depending on the amount of the bet. Maximum bet has the highest return rate while smaller bets typically have a lower payout rate.
Once the payout (or loss) is determined, the slot machine spins the spinners with a command from the computer to land on a certain display. The spinners really have NOTHING to do with the actual play, it's all handled by a random number generator and a table. Even the 'bump' of the spinners is pre-determined based on the random number and table. Sorry to take the fun out of it.
The bottom line is that gaming is truly random. If you are at the right place at the right time with max bet you too could win a sizable jackpot on an electronic gaming machine. The fun part is the anticipation of the win and the many little wins along the way that make slot gaming fun regardless of whether you win or loose.
An slot machine is a computer (Electronic Gaming Machine or EGM actually) and computers can't really create random numbers, but can generate sequences of numbers that mimic randomness - Pseudo Random Numbers which are widely known as PRNs. These PRNs are pretty good: they're exercised with battery of tests run against the output to ensure the numbers are statistically random. The most common algorithm, the linear congruent method (LCM) which generates numbers such that same sequence of numbers won't occur until about 2 billion numbers have been generated. Many EGMs use variations of the LCM that have cycle periods close to the number of molecules in our galaxy! You can't guess the sequence even if you know the algorithm.
As a rule, EGMs generate a random number continuously, not every time you drop in a coin. It's not unusual for EGMs to generate over 1000 numbers in the sequence every second. Only when you place your bet does the machine capture the next 'random' number. Knowing the algorithm isn't of much help since you'd have to drop your coin into the machine and bet at the exactly right 1/1000th of a second in order to get the number you were counting on.
Once the number is generated, the computer compares the number to a payout chart. All games have a payout table referred to as the PAR (Percentage Average Return) chart. Each EGM has it's own individual PAR chart, usually ranging from 99% to 81%.
Every game (even if they look the same) has a different PAR chart and the chart is usually held as confidential by the casino. The payout rate advertised on the machine or in the casino usually portrays an average of all the games taken together. Since each game is a separate entity with its own random number generator, it is not uncommon for one game to have a payout of say 95% and the one next to it, with the same game title having a payout of 86%.
To further complicate matters, PAR charts are usually different depending on the amount of the bet. Maximum bet has the highest return rate while smaller bets typically have a lower payout rate.
Once the payout (or loss) is determined, the slot machine spins the spinners with a command from the computer to land on a certain display. The spinners really have NOTHING to do with the actual play, it's all handled by a random number generator and a table. Even the 'bump' of the spinners is pre-determined based on the random number and table. Sorry to take the fun out of it.
The bottom line is that gaming is truly random. If you are at the right place at the right time with max bet you too could win a sizable jackpot on an electronic gaming machine. The fun part is the anticipation of the win and the many little wins along the way that make slot gaming fun regardless of whether you win or loose.
Wednesday, June 30, 2010
How much worth is the man
Do you put a dollar on the value your epics deliver to the business? If not you should; it will help you determine epics’ prioritization and give the the business owners an idea of value the project is delivering.
Consider this example: your software is used by 75 sales people and your changes save an average of 2 hours a week per person, you save 2 hour * 75 people or 150 hours a week which translates to 7,500 hours a year (50 weeks). That's 3.75 people's time.
If those people have an average salary of $40 an hour, that's a cost savings $300,00 a year (not bad). If on the other hand each person produces $250,000 in new sales over a year (hopefully you expect staff value is more than their salary) you free up the 250K * 3.75 = $937,500. In the one case you save $300,000 by reallocating people and not growing the business, in the other case you can potentially grow the business by nearly a million.
Next time you’re calculating what a feature is ‘worth’, look at not only the cost savings side but the opportunity side - a perspective that many people miss.
Monday, May 24, 2010
Agile Story Examples
Story Basics
The basic thing about a real story is that it's a metaphor for the work being done. It is not a requirement but a reminder to collaborate about the topic of the story - in other words in agile development (good agile at least), the documentation is secondary to the collaboration. So the story doesn't make you agile, it's the underlying philosophy.
Invest model for good stories
A good story, from our perspective uses the invest model –
- Independent – reduced dependencies = easier to plan
- Negotiable – details added via collaboration
- Valuable – provides value to the customer
- Estimable – too big or too vague = not estimable
- Small – can be done in less than a week by the team
- Testable – good acceptance criteria
But a story is really driven (or perhaps scoped is a better way of saying it) by the acceptance criteria. In other words we try to determine how we'll know when we have satisfied the story before we put any details in it – and we mean actually enough details that we can test the story.
Examples of good stories:
Story:
Generate an Emergency Department ReferralDescription:As a provider, I want the option to generate an Emergency Department Referral (EDR) when I close a visit note so that I can share pertinent medical information with other IHE community members.
Acceptance Criteria:
Assumptions:
An IHE Community interface has been configured.
The interface can be configured to send an EDR automatically to the IHE Community.
The interface can be configured to send and EDR to an referral specialist or office staff member.
The interface can be configured to indicate who to send the EDR request.
Acceptance Criteria:
When a user closes a visit note, provide an option on the Visit Checkout screen to generate an EDR. This option will indicate that the provider intends to create an ED Referral.
Story:
Strip special characters from policy fields before creating electronic transmission claim file.Description:
As a front desk/billing user, I would like to be able to scan insurance cards through OCR and not have to go back and edit certain fields due to dashes in the policy IDs.
In addition, I would also like this information to be formatted correctly for my electronic transmission so that I do not get claim rejections.
Acceptance Criteria:
Provide the ability for dashes to be removed from the member ID and group ID when creating the file for electronic transmission. This process was also necessary by interfacing products to remove dashes from policy IDs to prevent rejections. Investigation may include researching how other products accomplished this task.
Also, users should be able to utilize OCR scanning without having to edit patient information manually (removing dashes).
Story:
Need a way to print multiple patients on a label sheetDescription:
As a System user I would like to be able to print multiple patients on one label sheet so that I don’t have to look at multiple pages.
Acceptance Criteria:
At least 6 patients print on one label sheet.
Critique of bad stories:
Story:
Add capability to select the Welch-Allyn Exercise ECG TestDescription:
This requirement was requested during the W-A certification demo 2/17/09.
***Description doesn’t specify who or why this is important. What needs to be done? Can’t tell.
Acceptance Criteria:
***missing
Story:
Cursor should default in assign to field instead of patient field when creating a new procedure task message in FNC.***Could be shortened to “Default cursor to assign” The rest can be in the description. Overall this may be TOO small to be a story and could be rolled into another related piece of work.
Description:
As a System user, I would like the cursor to default in the assign to field instead of the patient field when creating a new procedure task message. The patient name is already in the field since I'm creating the message, so I would prefer the cursor to default in the assign to field.
***Could shorten this to:
As a System user, the cursor will default to assign field when creating a new procedure task message so that I can be more efficient.
Acceptance Criteria:
***missing. Can add this:
When creating a new procedure task message, the cursor will default to assign as opposed to patient name.
Demonstration must be to the satisfaction of Dr. Lohindez of Rogue Wave software (he has requested this functionality).
Monday, May 17, 2010
Some Good Resources for Agile
A few great books:
• Applying User Stories – Mike Cohn
• Agile Estimating and Planning – Mike Cohn
• Collaboration Explained – Jean Tabaka
• Lean Software Development – Mary Poppendieck
• Agile Project Management – Jim Highsmith
• Agile Project Management with Scrum – Ken Schwaber
• Managing Agile Projects – Sanjiv Augustine
• FIT For Developing Software – Rick Mugridge, Ward Cunningham
• Agile and Iterative Development – Craig Larman
• Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans
• Working Effectively with Legacy Code – Michael Feathers
• Refactoring To Patterns – Joshua Kerievsky
• Fearless Change: Patterns for Introducing New Ideas – Linda Rising, Mary Lynn Manns
• Product Development for the Lean Enterprise – Michael Kennedy
Online Resources:
http://www.agilealliance.org/
http://www.theagileblog.net/
http://www.rallydev.com/
http://www.mountaingoatsoftware.com/
http://www.stickyminds.com/
Yahoo! Groups:
scrumdevelopment
agileprojectmanagement
agiledenver
extremeprogramming
agiletesting
• Applying User Stories – Mike Cohn
• Agile Estimating and Planning – Mike Cohn
• Collaboration Explained – Jean Tabaka
• Lean Software Development – Mary Poppendieck
• Agile Project Management – Jim Highsmith
• Agile Project Management with Scrum – Ken Schwaber
• Managing Agile Projects – Sanjiv Augustine
• FIT For Developing Software – Rick Mugridge, Ward Cunningham
• Agile and Iterative Development – Craig Larman
• Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans
• Working Effectively with Legacy Code – Michael Feathers
• Refactoring To Patterns – Joshua Kerievsky
• Fearless Change: Patterns for Introducing New Ideas – Linda Rising, Mary Lynn Manns
• Product Development for the Lean Enterprise – Michael Kennedy
http://www.agilealliance.org/
http://www.theagileblog.net/
http://www.rallydev.com/
http://www.mountaingoatsoftware.com/
http://www.stickyminds.com/
scrumdevelopment
agileprojectmanagement
agiledenver
extremeprogramming
agiletesting
Tuesday, May 4, 2010
New Article Published
I've just had an article published that compares traditional requirements, use cases, and user stories.
Wednesday, March 24, 2010
Six Weapons of Influence in action
The following is an example I created to convince people that retrospectives are useful. I used the six weapons of influence as a guideline.
Recently, team members have questioned the benefit of certain aspects of the agile, specifically retrospectives. [Acknowledge the problem to gain alignment with the audience]
In regards to retrospectives, certainly each of us wants to improve our on the job performance [setting up consistency]. Retrospectives are specifically intended to improve individual and team performance each and every sprint [pointing out the inconsistency of not holding retrospectives]. Numerous studies and experts agree that retrospectives are a potent tool for performance improvement when executed well [Authority or Directed Deference]. Reflecting on how to become more effective and tuning behavior to maximize effectiveness [consistency] is so important that the originators of agile development list it as one of the twelve principles behind the agile manifesto [Authority or Directed Deference].
As a group, we have committed to following agile development through the scrum process [social proof]. Retrospectives are an important part of the process – one that we all need to improve upon in order to better see the benefits [social proof and consistency].
We realize that retrospectives are not easy and take time. It’s no simple task to ferret out good retrospective items and put them in a form that can be actionable [align with audience].
In order to better support retrospectives, upper management will commit to allow time to work on retrospective items during sprints if the retrospective items are written as actionable stories [Reciprocation]. We also commit to providing, upon your request, retrospective coaching for individuals or groups, and will share examples of good and bad retrospective items. In return we ask for your willingness to continue retrospectives and your support in working with us on improving efficiency/quality/delivery [Reciprocation].
Sunday, March 7, 2010
The Inverse Peter Principle?
We all know the developer hero who works for 30 or more hours straight when a crisis comes up and walks away solving the problem. The classic firefighter mentality of software development. But what kind of manager does this hero make?

Star developers often rise to management because of their ability to program under pressure and, in many cases, their software fire fighting ability, not necessarily the ability to plan, track, motivate, and manage a project.
If the corporate culture rewards a hacker mentality - time savings and emergencies over strategy and planning, developers who rise to management may never be exposed to long term thinking and may not even be told that management is all about planning, managing risks, monitoring, and most importantly reflecting on the future. Do star firefighters have the key ability to plan, see strategy, and organize large groups of people - I would say not always.
So what do we do about this problem? How about promoting people to management for their tendency to over design, over plan, and not necessarily just hack? This is an inverse of the peter principle. Imagine programmers who are mediocre by firefighting standards being promoted to management. We might just be better off in the industry.
Then companies could proudly proclaim “we promote the mediocre” – ah, maybe not.

Star developers often rise to management because of their ability to program under pressure and, in many cases, their software fire fighting ability, not necessarily the ability to plan, track, motivate, and manage a project.
If the corporate culture rewards a hacker mentality - time savings and emergencies over strategy and planning, developers who rise to management may never be exposed to long term thinking and may not even be told that management is all about planning, managing risks, monitoring, and most importantly reflecting on the future. Do star firefighters have the key ability to plan, see strategy, and organize large groups of people - I would say not always.
So what do we do about this problem? How about promoting people to management for their tendency to over design, over plan, and not necessarily just hack? This is an inverse of the peter principle. Imagine programmers who are mediocre by firefighting standards being promoted to management. We might just be better off in the industry.
Then companies could proudly proclaim “we promote the mediocre” – ah, maybe not.
Sunday, January 10, 2010
Sorry Spock, logic isn't always the best motivator
Influence
A big part of my job is to influence people to perform tasks and behave in a particular way that they're not used to; and I often have no direct control over those who I must motivate. Being a bit of an academic, I thought about and subsequently researched the best way to influence the herd of cats to go in the direction I'd like them to.Logic
As a classically trained software engineer, my first thought was that through brute force logic I could convince even the most stubborn naysayer of anything, as long as the conclusion and reasoning is logical. With a little research, you too can find interesting articles on formal logic and reasoning. But if Dr. Phil asked “how’s that working out for you?” my answer, with a hint of frustration, would have to be “not always very well”. Surprise! People don’t always respond to logic – if so there’d be no smokers, heavy drinkers, or suicide bombers.
Influencing people involves not only logic (what you’re trying to convince people of), but invoking their emotions (how you’re convincing them) and a social aspect of convincing the right people.
Emotion
So how do you get the emotion monster involved? After reading many, many texts on the subject, the best categorization of emotional influence techniques is the six weapons of influence. I’ve used one or more of these weapons in combination with quite a bit of formal logic with success many times, but not always. Dispite the best emotional influence and carefully applied logic, some people just won’t move in the right direction.
Social Pressure
This is where the leader crowd comes in to play - some people need to be lead, either explicitly or implicitly. So you have to convince the formal and informal leaders (the leader crowd) to support your ideas before that herd of cats begins heading in the right direction. To influence the leader crowd, the first step is to identify the right people – something that is situational and beyond what I can blog about today. Do make sure to identify the informal leaders though - they're the people who, when they speak in the meeting, never have to raise their voices because everyone seems to listen. The second step is to use logic, emotion, and social pressure to convince the leader crowd. You’ll find that the lead crowd has its own, smaller leader crowd which in turn has a smaller leader crow and so forth. The deeper you get into the leader crowd, the less prominent the social pressure side of influence becomes. Eventually you’ll get to the leader crowd where you begin to influence without much of the social aspect whatsoever (think Malcom Gladwell’s tipping point). These are the independent leaders, influence them and the rest of the cats herd will be easier to manipulate.
I hope this helps you to look at influence as a bit more than just logic and has inspired you to do a little research on your own.
Subscribe to:
Posts (Atom)



