Software Is An Opinion

Software is just an opinion about how certain business processes should work. This thesis is another great thought from the book There’s No Such Thing as an I.T. Project by Bob Lewis and Dave Kaiser. Software is simply the codifying and automation of business processes. And in the journey of systematizing the way that the business runs, the software simply is a structured opinion on the steps that should be taken to make the business successful. 

Remembering that software is just an opinion of the way that processes should be carried out helps us deliver better projects in a few ways: 

  1. If you are a business analyst or developer, you must remember that the software that you are designing or developing reflects your opinion of how the process should be carried out. To be most effective, you should find the most knowledgable or competent business stakeholders and listen carefully to their opinion of how the process should be carried out. Then go code that. 
  2. Since the software is just an opinion of the way that a process should be carried out, you must design it and implement it in such a way that it can be easily changed and updated. Opinions can change with new information or insight. Different leadership or stakeholders can come along with different views. Understanding that the ideas behind the processes can change helps us design flexible systems for now and into the future. 
  3. Develop your solution for the core opinions that won’t change. If you are implementing a new employee management system, start by working on the payroll side. Everyone wants to get paid on time. That is an opinion that isn’t going to change whether you are the CEO or the temporary employee who is there for two weeks. And whether you have been there for two days or twenty years, your desire to be paid on time isn’t going to change either. Start by developing or implementing the parts of the solution where everyone has an opinion that they agree on. 

Software is an opinion of the way that your business is supposed to run. As a developer, project manager, or business analyst, be humble and listen to other people’s opinion to understand what the best solution will be.