One of the hardest things for a company to do well is quality software development. Most professions have a very defined and well-regulated way in which they conduct business, usually because that business process has been around for many years. Software development is still new enough that best practices and new procedures are constantly being creating to incrementally improve the process.
The basic concept is there is a “value stream” that is defined as “the sequence of activities an organization undertakes to deliver on a customer request”, and the company must have a process for converting ideas into new software products or features.
There are several different ways to think about this, the easiest is basically someone comes up with ideas, developers turn the ideas into a software product, and someone takes that product and gets it sold to make money. The basic concept is usually around “water-scrum-fall”, like the process shown in this interaktco.com image.
That is really over-simplified, but the more complex view includes information to identify more of the roles and responsibilities.
Water – The business leaders and project managers identify an idea and study the ways the business can convert the idea into a product, including gaining approval from the business leaders to spend the resources required to market the finished product either internally or externally. This usually includes a complete design of what the finished product should do and what it should look like, as well as planning for who will do this work and when it should be completed.
Scrum – This could be a separate series of discussions, but the scrum methodology is also well documented and understood. The basic idea is to build a process that can be repeated, accurately and quickly, to build software with precision to produce professional quality software.
Fall – The ability of a company to verify the software performs as originally designed and studied, integrate the new product with existing business processes, and move the product into the market using a controlled and managed process.
This general concept of getting products from the “idea” phase to the “selling” phase has been adopted from the parts and pieces that are generally related to factory building widgets, and that modern process has been around since the 1940s. The Scrum part is just the most recent process for creating a software “factory” for mass producing software widgets.
If you are more interested in understanding this process and using a similar process to improve your processes, you can read more on the subject here, and here. There is also an interesting pdf available here.