These days everyone is building software :).
For some people software is art, for others is pure science, for some people software means a strong need for engineering while for others is just pure craft and so on.
Development, Architecture, Testing process, Delivery, Release Cycles, Refactoring, Operations, Capacity Planning, Monitoring, Config Management, Requirements Engineering, DevOps, ….do you want more of such names?
So we are in this industry that apparently gets more complicated (or just complex?) day by day and is natural to question the status–quo and wonder if are we going in the right direction?
Is software creation today an efficient/cost controlled activity ?
Lean software development teaches that is important to optimize the whole,
so all those names above plus others needs to be seen in a holistic way,
a way that ties together every part of the software creation and all the people involved in it with the purpose to deliver value as quick as possible to those that sponsor software creation efforts.
I don’t want to talk here about the traditional way of releasing software (even) in Agile (yes, Agile is already a tradition that has its own failures
mostly because we adopted Agile processes but did not change our mindset accordingly ): Alpha-Beta-GA-Gold releases and why a lean approach
of a Minimum Viable Product that is as good as possible from the first release and where every check in leads to a potential release.
There are tons of blog posts and books about this,
The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses for the business part
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation for the process part
are both mandatory readings for everyone that is involved in a transition toward a lean approach.
I know you are busy, so if you do not have time or simply the motivation to read 400 pages about Continuous Delivery,
I am sure you will find 2 minutes for this short video on YouTube that introduces the concept of Continuous Delivery in a great way. Enjoy !