søndag den 14. august 2011

Working Title: Organisational/Social antipatterns


M. Sc. Software engineering - Aalborg University


Employment: 7 years at SSE, 2,5 years piloting software @Trifork


1) This is NOT science. It is based on my 10 years of experience as a developer in the Danish IT business.

2) I'm no better. I've done most of the things mentioned here.


Present some ways (not?) to do software engineering and/or to behave in mutipeer-social relationships.

Real purpose:

To get revenge ;-) of all the times I've been hurt, ridiculed or even worse struck on my alpha-male wannabe ego :-)


  1. Introduction
  2. Some Org. Anti-patterns
  3. Side-tracks: Programming paradigms vs. human stereotypes (WIP)
  4. Conclusion

Conflict creator aka. Firestarter

Illustration: 1) Overskyet …. lyn …. frisk blå himmel. 2) To elefanter der slås.

Idea: Let the others take the fight, then you can concentrate on the job at hand. OR Clearing the thick air of despair by a nice fight.

(Examples: Predator vs. Alian Predator. long bath...)

References: Alpha male theory? Organisational Elephants crossing [snapler]


OLD NEWS!!!: Work harder not smarter


Illustration: ?

Idea: Deadline ahead - plan not ok - lets put more people into the project. Or even worse: lets put 1 person from another country, another part of the organization, and with a different language one (mythical) man month before deadline.

Examples: Red weeks in a wellknown big company....

Reference: Mythical Man Month. Cope, study: perfect work week 16 hours


More hats, more productivity


Illustration: En jonglør der er ved at tabe den 6. bold

Idea: Get more productivity out of smart people by giving them multiple roles.

Examples: A promising young employee is making good progress on a team. Overtime lets make him: Teacher, Part Development knowledge leadership, test manager and lead developer.

References: Men multitasking. Context-switching. Pleasing everybody is pleasing nobody.


Everlasting impression


Idea: Make a negative or positive everlasting impression. Then you will never be forgotten in an organization. Backfire: - Nagging and ridiculed because of funny stories.

Examples: The Fight of the Red Screwdriver. Get really drunk after 14 days on your first ever IT-job, at the company summer party. (Simon Spies)

Relatives: Bad publicity is better than no publicity.

Conclusion: Antipattern? I don't think so, but it is a dangerous strategy that can backfire. OOOPs wait a minute - that is the definition of an antipattern.


More deadlines, more productivity:


Illustration: Agurk der skærres i tynde skiver.

Idea: Short iterations, short-terms goals, more productivity

Problem: Stress. Employers never able to have a day of non-productivity at work will get stressed out. First experiences with Scrum The big welknown company: Employer citation: "You have to get used being in hurry all the time"

A.k.a: Agility gone bad?


Punish Manager


Origination: Team christmas party. Drunk Simon: "When someone makes serious bad things with the codebase they should be physically punished."

Illustration: Video youtube - HMM.

Idea: Have a crumpy old man which knows the product very well punish fresh green developers each time they make the tiniest small mistake.

Problem: Green developers escape the project and/or company and all their nice new University knowledge is not exploited.

Examples: "You just use SVN-update? Man, you must be crazy you will get your sandbox polluted with all the green developers bad code - Use SVN-synchronize",




Illustration: Nød der bliver til egetræ.

Idea: Lets as a group select one individual in the group who will be the scapegoat. Could be: The slowest coder. This way we can all feel above him and when anythings goes wrong, we can implicitly insinuate that it was his fault.

Problem: Instead of using this talent we misuse it.

Examples: Hi-knowledge consultants meets crumpy old developers.

Solution: After 35 years of living, I know that the following is not entirely true, but I used to believe the following: "Everyone has a talent. The hard part (for some people) is to figure out which talent". A person can't be all bad. If you give her a bit of confidence, she might very slowly evolve into a decent or even invaluable employee. A metaphor: Try treating other people as plants. If you give a plant (sun, varmth, water and attention) it will grow into a nice flower.


Create an enemy:


Idea: Lets make a common enemy. The one we are fighting against. This will make good team spirit.

Problem: Backfires when people interact with enemy.

Candidates: Customer. other subcontractor, other division of same organization, other team on the same project.

Examples: "The customer does not understand why the system is not performing well"


Career paths:


Illustration 1): En gruppe kodekvæg der kigger på en mark med forskellige blomster.

Idea: Lets make some career paths to strive for. Then we can make people have titles like Senior Chief Architect or Senior Project Manager. Problem all the american companies have peoples with longer and greater titles! Solution lets upgrade all our employees with a new title. (Remember: not to mention that this upgrade has no money attached :-)

Illustration 2): En gruppe kodekvæg der kigger på en mark med kun een slags blomster.

Idea gone bad: Lets only make a project leader career path.

Problem (idea gone bad): All the bad developers become leaders. Secondary problem: All the good developers leave the company.



Antipatterns are as valuable as patterns. Because its stories about ideas that seemed like a good thing but could turn out very bad. Like building an eternity machine by digging a very big whole in the earth an putting a tea pot of water above it.

Ingen kommentarer: