The vast majority of us work together with other people trying to achieve success. What are the factors that influence us on that path, that help us or hinder us? In this article I will keep a list of interesting theories that may influence an organization's journey to success.
Theory of Constraints
A chain can never be stronger than its weakest link. This theory helps us find and deal with the weakest links i.e. bottlenecks in our process.
This theory/law says that systems reflect the communication structure. This means that if we want to improve the systems output we need improve the communication structure in our organization.
The agile manifesto is a set of principles/recommendations based that help us produce better software faster by improving our ability to respond to change. It is based on decades of experience of well-known software engineers and scientists.
This is a way of thinking focused on the customer. What will increase the value for the customer and how to achieve it with the least amount of waste?
We all wish there was one sure recipe for success but from experience we know that is not the case. Contingency theory tells us that there is no "best way" of organization, decision making etc. instead it depends on our current context.
Coupling is a measure of how tightly coupled different parts of software are. Coupling makes sense for some parts but can be very dangerous if modules are coupled that are not supposed to be coupled.
Cohesion is a measure of how broad or narrow an individual module in software is from the perspective of its behaviour i.e. is it focused around one task (high cohesion) or is it "all over the place" (low cohesion).
One simple example of this is the 80/20 rule (Pareto Principle). This principle says that approx. 20% of effort can result in 80% of output i.e. by prioritizing what really matters you will get a much higher output compared to working on tasks that matter less. But the power law is a very general phenomena that occurs seemingly everywhere.