Use it while you build it! -How to pitch Continuous Delivery
How can the construction of basilicas or space stations help us software developers explain the value of Continuous Delivery? Read on and be inspired!
One of the main success factors in agile software development is deploying small increments of improvements at a high rate, to take small steps often. Compared to nervous big bang releases with long periods of frustrating wait for corrections and improvements in between, the agile approach has many advantages: each deploy is less dramatic, value is added early on and continuously, feedback comes early on and continuously, priorities and time plans are easier to agree on, requirements do not need to be written in stone before any development can start, etc.
Experienced agile developers know this. But sometimes managers, users and customers don’t. Investors tend to want to know what they are buying before they spend any money. Partners sometimes want specifications and API’s fixed before they start working, etc, etc.
So how do you explain the brilliance of Continuous Delivery to decision makers? Perhaps a couple of real world examples can be inspirational.
Behold La Sagrada Família in Barcelona!
Soon after construction work began on this unique basilica in the year 1882, the architect Francisco del Villar came into conflict with the religious congregation that ordered the basilica. He was replaced by a new architect, Gaudí, in 1883.
Gaudí found himself responsible for a huge building project, and yet he completely transformed the architectural and engineering style of the already started construction. He also realized that this type of building usually take very long time to build, sometimes centuries. So he decided not to worry too much about completing the final architectural plans early, but to focus on what was most important for the near future. In 1890, after seven years of construction, he presented a first design, a blueprint that was revised several times. After Gaudí’s death 1926, work continued until interrupted by the Spanish civil war in 1936 during which Gaudí’s original plans, drawings and plaster models were partially destroyed. Construction resumed intermittently in the 1950s, and it is continuing today at a steady pace. Today, almost 140 years after construction start, even though it now is a magnificent building, no one knows how long time it will take to finish the basilica. If it ever is finished.
Not only is Sagrada Família an example of project that is successful in spite of the lack of clear cut plans and specifications at start, it is also an example of how valuable it can be to expose a project to users and customers long before the project is finalized. Already in the 1910s the basilica started to get prominent visitors, such as the President of the Mancomunitat (Regional government) of Catalonia Enric Prat de la Riba in 1914, and the papal nuncio of the Holy See Monsignor Ragonesi in 1915. Le Corbusier visited the works of the Sagrada Família in 1920. In 1952, Barcelona hosted the 35th International Eucharistic Congress, with several events held at the site.
That lead to an increasing amount of public activities at the developing basilica, and it is now a main tourist attraction as well as a revered place of religious worship in Barcelona. This in turn has lead to a change in the financing of the basilica. Originally financed by intermittent donations the annual construction budget, currently around 25 million euros, is since many decades largely financed by the entry fees that visitors gladly pay. The church was consecrated by Pope Benedict XVI in 2010 and today an international mass at the Basilica of the Sagrada Família is held every Sunday and on holy days of obligation. Not bad for a work in progress!
Who would have thought that the construction of a basilica could be an agile project ?
But surely not every construction project is suited for Continuous Delivery? For instance, building something that is to be shot up in space with a rocket before use, that must surely be done in an old fashioned, meticulously planned, one-off way? Right?
Behold the International Space Station!
The ISS is a joint project between NASA (United States), Roscosmos (Russia), JAXA (Japan), ESA (Europe), and CSA (Canada). The first module of the ISS was launched into orbit in November 1998. Two years later the first crew came and stayed for several months in the space station. The space station has since then been continuously manned, and several additions to the construction has been made, for instance the addition of the U.S. Laboratory module Destiny in February 2001, the European Space Agency’s Columbus Laboratory in February 2008 and the Japanese Kibo laboratory in March 2008.
A total of over 230 individuals from 18 countries have stayed at the space station. Since its original launch the space station has been visited by the russian Soyuz spacecraft 46 times (as of 2016) and the US Space Shuttle 37 times, as well as a number of unmanned supply spacecrafts from Europe, Russia and Japan. The latest addition to this family is the SpaceX Dragon spacecraft, which is the first supply mission provided by a private company.
The laboratories have hosted more than 2,400 research investigations from researchers in more than 103 countries. The space station has, while being used, continuously been modernized and augmented. It has survived both technical and political changes and had its lifetime expectancy extended.
New ways of financing the future of this expensive investment in the sky with a multibillion dollar a year budget are being explored. There has already been 7 commercial space tourists visiting the space station through the Russian Space Agency. Starting 2020, private astronauts are planned to go on the space station through NASA, using SpaceX’s Crew Dragon and Boeing’s Starliner spacecrafts. There is also public-private partnerships organized through ISS National Lab that engages the private sector through various research and cost-sharing arrangements. Prior to the ISS National Lab model, NASA traditionally funded all aspects of ISS research.
Those are a couple of real life, non-IT examples. So how do they help us to convince decision makers in software development to adopt Continuous Delivery? They help us by demonstrating that starting to use systems early, combined with frequent incremental improvements, makes system development more successful because:
- Business value is added early and continuously
- Constructive and accurate feedback comes early
- Development can be adapted to new circumstances during the entire lifecycle of the system
- Taking small steps often is substantially smoother and less dramatic to users and business compared to taking big steps seldomly
- Early utilization of investments is good economy and reduces financial risk
- New ways of financing further development, as well as new business opportunities, are easier to find
If you can do it with such complex construction projects, surely it must be possible to do it in software development. So go out and get your stuff deployed to production! Now!