Software development has come a long way in the last 30 years. I remember when you could manage the software development life cycle (SDLC) on your own computer. You could write code, debug it, build it, and ship it all from your desktop. Source would be stored on a file server and managed by saving a zip file at the end of every day. If you used a source control tool at all, it was CVS or SVN with a central server that made branching and merging a real challenge. Releasing software meant sending a “gold” floppy disc to a manufacturer who physically shipped the software to stores and catalog vendors.
Today it’s both easier and more complex. Most new software is delivered by the browser. Teams of remote developers manage large codebases using sophisticated central code repositories. They coordinate work with issue tracking and communication tools and they do continuous integration and continuous deployment with tools designed specifically for that purpose. The SaaS delivery model allows teams to release new features instantaneously whenever they want.