Many times Tech departments struggle on how to make technical decisions. Usually the manager or a central department are responsible to take decisions, creating a slow and demotivating process for product teams.
When we talk about scaling Agile in companies and giving teams autonomy, the best approach would be to have a more decentralized way to take those decisions. With that said here is a suggested framework in 5 steps:
- New idea: You start this framework whenever there is a new idea. A new idea could be: new technology, new development practice, a design decision and so on...
- Talk to experts: Talk to the experts that could cooperate in moving your idea forward. What is the internet community opinion? Who are the experts in your company and what are their opinion on the subject? If there is no one with the knowledge, it is on you and your team to become the experts.
- Check Impact: Talk and align with people that might be impacted by your decision. It is also recommended to follow these questions: Are you trying this new idea in an isolated case? If it fails, do you have a fallback or can you easily rollback it? Are you thinking about the long term?
- Try it out: Try it out, document your findings and share the learnings with the potential impacted people.
- Adopt or put it on Hold: Now it is time to make a decision to Adopt the new idea or to put it on Hold. Remember to communicate and document it!
For trying out new ideas, exploration days are a very good practice. For communication and documentation, a Technical Radar, such as the one from Thoughworks is also recommended. Below you can see a simple infographic of the 5 steps:
What do you think about Technical decision making? Would you do it differently?