I talked recently with one of my coworkers about software management. She pointed out that we should use common sense instead of management technologies or frameworks such as Scrum, Lean, Kanban, Iterative or Waterfall. She said: “we should do things normally, just based on common sense”
Well, I disagree. Because:
Common sense is not so common.
I know I wrote recently about the processes that don’t work, but we need the good processes that help us deal with daily work in an efficient way. And to please our customers (it’s what powers the industry in the end).
At the beginning of software development, there was no real management methodology. Developers just did what they could as best as they could (or they tried to).
Then we got Waterfall. The waterfall was better than nothing. Scrum was better than waterfall. At least for implementation and deployment of the new system. There’s however lot’s of maintenance projects where Scrum isn’t working. So we can apply lean or kanban. It really depends.
The trick here is to choose the methodology matching the project and customer needs. And to introduce, assimilate and change the way of thinking about doing software before applying the framework. For example, we should be agile and not do agile (and what it actually means to “do agile” anyway?).
This is common sense for me, but as I said: Common sense is not so common. It varies from person to person because our knowledge and experiences are different. A team must apply a lot of intentional effort to develop a shared judgment. when choosing a new approach, methodology, technology, tool etc… Understand each other’s point of view. And find common ground around what makes sense for all of the team.