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 costomers (it’s what powers the industre in the end).
In the begginings of software development there was no real management methodology. Developers just did what they could as best as they could (or thay tried to).
Than we got Waterfall. Waterfall was better than than nothing. Scrum was better then waterfall. At least for implementation and deployment of the new system. There’s however lot’s of maintenace projects where Scrum isn’t working. So we can apply lean or kanban. It really depends.
The trick here is to chose the methodology matching the project and customer needs. And to introduce, assimilate and change the way of thinking about doing software before applying the framweork. 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.