Tools and Methodologies Nudge Us
Nudge theory, influencing behaviour without coercion, is an important part of how our work environment is created - especially in startups.
In startups, things that appear to be gospel truth frequently turn out to just be nudges. This early paper on lean startup gives the example of Blue River Technology that very quickly learned that robotic lawn mowers for golf courses were not a viable market and an automated way to kill weeds without chemicals was.
With the advantage of seven years hindsight two things are obvious:
- Robotic lawn mowers for golf courses are a market.
- Blue River Technology builds targeted automation to kill weeds with chemicals.
Blue River really just responded to various nudges while talking to potential customers.
From the nudge theory point of view software developers are surrounded by nudges:
- Language selection - ultimately one can do anything equally in Java and Python with enough effort. However a language with a HotSpot compiler is going to nudge towards larger, more permanent servers.
- CI/CD tools are a nudge towards quicker deliver cycles.
- Remote work technologies are a nudge towards other work style options
- Software methodologies - its become clear that there is no one size fits all solution
Some nudges are the result of mostly external factors but some involve deliberate choices.
Since tools and methodologies are a nudge under our control everyone in software development should pay extra attention to them. Too often teams adopt off the shelf methodologies or tools simply out of the convenience of avoiding real decisions.
The thought is well so many others are doing or using X so how bad could it be? Pretty bad actually.
Look at the recent very heated debate on the usage of remote work technologies. The cost of commute and maintaining buildings is huge but companies will pay if they believe in office work nudges employees the right way. Others are equally convinced of the benefits of remote work.
Just as is happening now with remote work technologies its vital to make conscious choices on the methodologies and tools a software development team adopts.