Honest Software

where did we go wrong?

the road so far

traditional ways

  • process orientation
  • clear tasking
  • step by step
  • compartmentalization
  • foreclosure

traditional results

  • not met requirements
  • insufficient resources
  • not enough time

the agile manifesto

  • individuals and interactions over processes and tools
  • working software over comprehensive documentation
  • customer collaboration over contract negotiation
  • responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

honest software

A guide for honest ways in handling IT projects.

This guide serves all members of a project. The way from feature wish to accepted and shipped product increments is full of pitfalls.

We aim on identifying and describing falsyfying factors as well as calling them to awareness.

We feel that honesty means transparency, responsibiility, truth and an open set of values.

  • information reception
  • identity
  • awareness & knowledge
  • communication
  • behaviour

information reception


reception of information has a start and end point.

the end is defined by an agreement on one common truth by all stakeholders.

implicit and explicit contents are equally important.

interpretation is part of the reception of information.

interpretation will be agreed on by all stakeholders to not falsify its spirit.


validation of information and its interpretation.

insist on completeness.

define together what is meant by a piece of information and what is not.

do not keep information. Hidden agendas do not serve transparency.


during times of pressure it is easy to let yourself being misled to knowingly misunderstand information.

misunderstand information due to means of comfort.

Ambiguities are likely to be adjusted to ones pleasure.

Fear of misunderstanding leads to withholding.

Hidden agendas and politics deny transparency.



identity is the foundation of any project.

objective aspects foster identity as much as emotional ones.

identity cannot be forced but facilitated.

is one of the most important requirements for motivation and performance.


we know who we are. there is exactly one version of our identity and no necissity to diversify or disguise.

the feelgood factor is a valid metric. we will communicate once we do not want to be part of this identity.

we work with people and inviduals, not with ressources. people provide ressources but are recognized as individuals.


it is easy to enforce behavioural patterns. this will not lead to identity but dissafection and abandonment.

identity is the sum of all participants. hereby it is easy to damage the identity of single participants towards a project by negative influences.

awareness & knowledge


knowledge about our daily work and the existence of roles and business processes are mandatory for working processes.

knowledge about our business domains and processes needs to be educated continuously.

we are aware of our actions and their impacts.


we do not know everything and do not hesitate asking or educate ourselfs.

we do not commit feeling not being informed well enough.

we use tools to gain knowledge about what we do.

we know when we are done, because we did define it.

we know that fiddling with processes has impacts.

we gain, document, share and evaluate knowledge.


the moment something is not clear, there will be mistakes.

knowledge hidden behind obstacles will not be used.

don't kill the messenger.

knowledge should be documented.

it is easy to fall behind on knowledge and education.

we can never estimate all impacts of our actions.

there is no entitlement on completeness. it is easy to be satisfied with too less.



communication happens over formal and informal channels.

a reasonable way of communication assumes that receivers and channels are chosen correctly.

communication can be synchronous and asynchronous and has to deal with dependencies on time and content.

it is a keyfactor for successful teamwork.


standups help to informally offer and get help.

status meetings are means of reporting.

the less intermediates the less blurry the information gets.

since we do not lie, we can rely on what one says.

we do not delay. communication can be categorized, there is importance.


chinese whispers can have massive impacts.

"that is known anyway" is an irrational assumption.

there are no stupid questions.

chosing the wrong medium or recipients.

it is not enough to communicate for its own purpose. those who communicate are responsible for validation of contents and the choice of direct recipients.



behaviour describes the way we act and react.

by acting we influence our environment directly.


your mouth is writing checks your ass can't cash.

we are not prone to error and aim to improve constantly.

we do not pretend half arsed jobs to be complete.

we estimate realistic scopes.

partners are treated the same kind way customers are.

our shipments are products not prototypes.

we use industry standards and best practices.


reinventing the wheel.

forgetting about our partners and vendors.

a culture of blame impedes honesty when it comes to errors and mistakes.

fear of pressure leads to false estimates.

the agile manifesto

  • individuals and interactions over processes and tools

    and we have mandatory processes and tools to control how those individuals (we prefer the term ‘resources’) interact

  • working software over comprehensive documentation

    as long as that software is comprehensively documented

  • customer collaboration over contract negotiation

    within the boundaries of strict contracts, of course, and subject to rigorous change control

  • responding to change over following a plan

    provided a detailed plan is in place to respond to the change, and it is followed precisely

  • individuals and interactions over processes and tools
  • working software over comprehensive documentation
  • customer collaboration over contract negotiation
  • responding to change over following a plan

That is, while the items on the left sound nice in theory, we’re an enterprise company, and there’s no way we’re letting go of the items on the right.



agile turbulent, high change & project focused
plan-driven stable, low-change & organization focused

customer relations

agile focused on prioritized increments, dedicated on-site customers
plan-driven as-needed customer interactions, focused on contract provisions

planning and control

agile internalized plans, qualitative control
plan-driven documented plans, quantitative control


agile simple design; short increments, refactoring assumed expensive
plan-driven extensive design, longer increments, refactoring assumed inexpensive


agile comfort and empowerment via many degrees of freedom
plan-driven comfort and empowerment via framework of policies and procedures

what about us?

  • project focused (agile)
  • organization focused (plan)
  • high change agile)
  • turbulent (agile)
  • as-needed customer interactions (plan)
  • documented plans plan)
  • quantitative control (plan)
  • extensive design (plan)
  • longer increments (plan)
  • refactoring assumed expensive (agile)