Search This Blog

Wednesday, 6 February 2013

An analogy for CI–Books

Not sure what i wanted to write about but there is this crazy idea in my head about an analogy i need to pour out somewhere..

Over the years of working and practicing agile development practices in my not so big a career, I have come to find various analogies in the real world for the agile development process. I am not going to say I live and breathe Agile but I would like to think I am extremely passionate about it. Over the course of time. When I coach a team I take a lot of interest in using real life analogies and as a result have some for myself when I look at the practices I follow.

Analogy by definition is an inference or argument you draw from one particular context to that of another context, some are used to make an argument while some are used to enhance the context. The one analogy I repeatedly try to seek context from is that of a well authored book (rather published ). I may or may not be right to draw this analogy but in the context of this article for release management and deployment tools, I was hoping my analogy will allow me the emphasize the importance of release continuous integration.

The concept of a well authored book falls in line with the various parts of our agile development process.

The first step of an agile development process is release planning and management process, this is like the preamble of the book , where the author lists all the people involved in the writing of the book and anyone who has contributed to the book in terms of literature , these people can be compared to the stake holders or the users of the software being developed. The preamble gives an insight into how the book took its current form and the release management processes allows the vision of the users to manifest into working software in the agile development process.

Now continuous integration can be compared to that of the index of a book, where the index gives you a quick overview of the contents of the book, the index lists the specifications of the software , in an indexed manner and should a reader want to quickly get some information it is available in terms of the page numbers in the index.

The chapters of the book are the iterations in the development cycle, where each chapter lists the various scenarios in the software and explains the various aspects of the software being built, these are detailed specifications of the software. As a user sees the software being built in every iteration each chapter in the book is completed and finally the book takes its form as a result. The index in the mean while is continuously enriched by the key points of the chapters being written. The index is like the snapshot information of the book as it is being built, and so is the continuous integration environment for the development of software. A CI (continuous integration) environment is merely something that builds software and runs a few tests for young agile teams but as teams grow and continuously improve they start using CI for various other purposes like reporting project health, metrics and in some case also deployment. There comes the appendix Smile with tongue out just kidding .

Rightly or wrongly I drew this analogy but I dont really care at this point how meaningful this post is, I just wanted to write about this crazy analogy I had on my way home

No comments: