Five Writers and a Publisher

Posted by Fernando Villalba on Jul 18, 2017 10:00:00 AM


 

 

Explaining DevOps practices with a simple analogy

Screen Shot 2017-07-17 at 15.41.05 copy.png

At ECS Digital, we increase the velocity of delivery lifecycles, encourage greater innovation within organisations and reduce manual waste through the adoption of DevOps software engineering practises. 

But, if you’re not working in DevOps yourself, these principles can be confusing. Continuous Delivery and Continuous Deployment may be similar in their meanings, but they are two different concepts.

So, using the analogy of writing a book, I’ve explained some of the most common principles:

Waterfall Model

Five writers get together with a publisher to write a book. Together, they decide on the topic and storyline of the book, based on what they feel their consumer wants.  The planning process is extensive and covers ways to go about writing the book, including their goals.

The writers then split the book into five sections and each go off for a while - let’s say six months - to work on their respective sections with minimal communication amongst them. 

At the end of the six months, the chapters are given to an editor. The editor’s job is to piece together all of the individual pieces of work.  They inevitably find many conflicts - needing to make some patchwork edits and some potentially severe cuts to the work, to make sure it makes sense and is publishable. 

This method considerably delays publishing and, in the meantime, developments on the topic of the book may have made the content obsolete or irrelevant. The end result is handed over to proof readers, who make final suggestions and changes, delaying publishing further.

 

Agile 

Five writers get together with a publisher to write a book. They set some primary goals together, before getting to work. They then take their work away, but collaborate often.

They review and discuss their goals with the publisher, every single day. This way, goals can shift or be adjusted.

 

Continuous Integration

Five writers get together with a publisher to write a book. They set some primary goals together, before getting to work. They then take their work away, but collaborate often.

Every day, the writers send their work on to the editor (sometimes, multiple times a day). The editor pieces it together, keeps tracks of changes and errors, and then hands it over to the proof-readers to make sure it flows. If it does, a versioned copy gets saved. If not, it’s sent back to the writers to fix.

The totality of the work may be incomplete, but it makes cohesive sense. It also enables goals to be adjusted every day with the publisher.

 

Continuous Delivery

Five writers get together with a publisher to write a book. They follow a continuous integration process, whilst also ensuring that they review their work regularly for validity and integrity.

The book is in a state to be published, at any given point, if desired. Revisions can be made incrementally as needed.

  

Continuous Deployment 

Five writers get together with a publisher to write a book. They follow a continuous integration process, but in place of Continuous Delivery, the book is automatically published after the editor verifies integrity and validity of the work.  

 

Other related terms:

 

Test-Driven Development

During the writing process, one of the writers sets predefined goals. These goals could be around act endings, the storyline, or the way the book is written.

If the writers fail to reach these goals at any point, their material is rejected.

  

Version Control 

During the writing process, the editor keeps track of every single edit or change.

This means that the writers can go back to any point in the history of their work, and see who did what.

 

  

If you’re looking to understand DevOps - what it entails and some of the different approaches to implementing it – take a look at our Introduction to DevOps course. Our two-day training aims to provide students with a solid understanding of what DevOps is and how to implement common practices.

Topics: DevOps