Category Archives: Psychology of Programming

When Software Development Depends on Individual Heroic Efforts

It is a well-known fact that many software projects fail. Thus it is natural to ask: what is the main contributor for the success of software projects, the processes or the people? In other words, we may ask who has … Continue reading

Posted in Efficacy, Psychology of Programming | Tagged , | 3 Comments

On Anzeneering, Pride and the Definition of Done (DoD)

The concept of Anzeneering was created by Joshua Kerievsky, CEO of Industrial Logic and author of the book “Refactoring to Patterns“. It is derived from the Japanese word “anzen” which means “safety”. According to Joshua: “Anzeneers protect people by establishing … Continue reading

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 2 Comments

To document or not to document? An exploratory study on developers’ motivation to document code

Last week at Stockholm, Sweden, at the Conference on Advanced Information Systems Engineering (CAISE’15), my colleague Yulia Shmerlin presented our paper at the Workshop on Cognitive Aspects of Information Systems Engineering (COGNISE). This is joint work with Prof. Irit Hadar and Prof. Doron … Continue reading

Posted in Psychology of Programming, Research, Technical Debt | Tagged , , | Leave a comment

The Psychology of Agile Software Development

Why is Agile so successful? It is a fact that Agile methods have many enthusiastic practitioners, who are firm believers that the adoption of Agile processes has revolutionized the way they build software systems, making them much more productive and … Continue reading

Posted in Agile, Psychology of Programming | Tagged , | 6 Comments

Agile Practices and Social Nudges in the Workplace

In their best-selling book “Nudge: Improving Decisions About Health, Wealth, and Happiness“, Richard Thaler and Cass Sunstein propose the adoption of interventions to “attempt to move people in directions that will make their lives better.” A nudge “alters people’s behavior … Continue reading

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 2 Comments

Reducing Technical Debt

Last week I traveled to Thessaloniki to participate in the Conference on Advanced Information Systems Engineering (CAISE’14). I presented a paper at the Workshop on Cognitive Aspects of Information Systems Engineering (COGNISE). This is joint work with Yulia Shmerlin and … Continue reading

Posted in Psychology of Programming, Research, Technical Debt | Tagged , , | 11 Comments

On Technical Debt and the Psychology of Risk Taking

I recently read the following message in a developers’ forum (rephrased here): “I’m facing a dilemma. I must deliver the product by the end of this quarter, but there are still many tests I would like to execute. The product … Continue reading

Posted in Agile, Efficacy, Psychology of Programming, TDD | Tagged , , , | 26 Comments

The Psychology of Reviews: Distinction Bias, Evaluability Hypothesis and the Framing Effect

Design Reviews are one of the most important activities in the software development process. If a bad design is approved and implemented, it is very expensive to correct that afterwards. Therefore, we want to have high confidence in our decisions … Continue reading

Posted in Efficacy, Psychology of Programming, Software Architecture | Tagged , , | 10 Comments

Illusory Superiority: Are you a good programmer?

Programmers are known to be proud of their work. Some developers even feel that writing elegant code is a form of art, and thus they call themselves “software craftsmen”. I am sure that the desire to perform outstanding work is … Continue reading

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 11 Comments

Planning Poker: Avoiding Fallacies in Effort Estimates

Many years ago I was working as a software developer in a team with three other programmers. We once had a meeting in which our Team Leader said: “You are late again! All of you are late! Actually, you are … Continue reading

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 20 Comments