Categories
Remote Work Theory

Computer-Supported Cooperative Work: A Useful Lens For Looking At Developer Tools

Software developers use computers not only for writing programs — they also use them to communicate and collaborate with one another. Software development is very much a social activity: collaboration and communication activities can have a powerful impact on the success of software projects.

Computer-support for these activities is not restricted to remote companies or distributed projects — even co-located teams use software that supports group communication and collaboration in their daily work.

Categories
Popular Theory

Self-determination Theory: Understanding Human Motivation for Fun and Profit

When you build software, sooner or later you’ll want to think about human behavior — most notably about what motivates humans.

I don’t mean Skinner boxes, points and ladders, variable reward schedules and the like as you might find them in “free to play but we have an in-game currency” games or in casinos.

Instead, I want you to think about human motivation in a sustainable manner that is also good for your users. Making them addicts isn’t the way.

Categories
Popular Theory

On the Diffusion of Innovations: How New Ideas Spread

If you build software products, chances are you’ve worried about adoption before.

Will anyone use what I’ve built? How can I get more people to use it? And why do people leave after a few days?