Concepts
Software becomes important part of our human civilization: it empowers businesses, science and societies. The problems become more complex and interesting as we are building systems for unending people needs and push limits of what is possible for computers. Our civilization becomes hooked on software more than on oil, gas and coal. And this blog goal is to understand fundamental forces of software creation.
Understanding Software Development
What is Software Development?
Human Forces and Software Creators
Economic Forces and Software Genesis
System Forces and Software Evolution
Is Software Development Empirical or Rational?
Principles
What are the core principles behind building software systems?
Software Development is The Flow of Ideas. The Rest is Secondary
The Secret of Building Effective Software Systems
How a beautiful software system becomes Frankenstein
The Wisdom of Crowds. Making the Best Decisions
Parallels
What can software development learn from outside areas of knowledge and complex systems?
Evolutionary Software Architecture or Why Developers Are Not Janitors
Comparing Intelligent Software Evolution to Chaotic Biological Evolution
What can Software Development learn from Biological Evolution?
Collapsing bridges and Software Development