zaterdag 11 januari 2020

The books I've read in 2019

Introduction

This blogpost is about the books I've read in 2019. I started the year 2019 with a lot of reading about data modeling, I followed some courses on data modeling and studied a lot on the principles of data modeling and time in databases. I switched to reading about DevOps and the principles of DevOps later.

Fully Communication Oriented Information Modeling 

This book is written by Guido Bakema, Jan Pieter Zwart and Harm van der Lek. They write about the method of data modelling based on the work of Nijssen and it is about a formalized process starting from analysing the area of interest and deriving a data model. The one thing I learned from the book (and the course) is that we can phrase data and their relations in sentences (which is called verbalization), then we can create a conceptual model from it, derive a data model and test whether the data model is correctly modelled by regenerating the sentences from the model. I like the way the method is applied and how the model is derived and I think it is a pity that this method is not very broadly used.


Datamodeling made simple

This book is a hands-on book on Powerdesigner in combination with data modelling. The book helped me a lot with understanding Powerdesigner. Although I worked in a couple of projects with Powerdesigner there are always things to learn about the subject. It is such an extensive system. The book is well written and helps you get started but it is also for the more experienced data modellers a helpful book. It is one of the few books on Powerdesigner that is so widely used in the data modelling world.







DevOps handbook

I bought this book for a certification in DevOps (EXIN). It is an informative book and an introduction to DevOps. It covers some of the highlights of DevOps. The book tells you more about what DevOps is and what the fundamentals of DevOps are. Oleg writes that DevOps is the logical next step of Lean and scrum development. It explained to me that building IT solutions is like adding value to a stream (just like in a factory) and this is also true for Data warehousing, BI, Analytics, data science and building other data platforms. Although the book is informative, it is written from an operations viewpoint and not from a developers viewpoint. But, I learned a lot.





The Phoenix project

This book reads like a roman. It tells the story about a project in a company that starts with all kind of problems with delivering software to customers. The book is written by Gene Kim, Kevin Behr and George Spafford. And they did a tremendous job writing the three principles of DevOps in a novel like this. It all starts with delivering software inflow, release software in smaller steps and try to reach a consistent flow. The next step is about feedback about the code that is deployed (as early as possible) and the last step is learning and experimentation is built and release management. Try different things to deliver faster or with better quality. This book is a must-have for anyone interested in DevOps.






The Unicorn project

This is the next book by Gene Kim and is about the Unicorn project. This is the successor of the Phoenix project, but you can read it separately from the Phoenix project. Again it is a novel about a fictitious person that is involved in a project with all kind of problems, starting with not able to build a complex project and trying to gather all kind of information from different people and managers, walking in recognizable issues in an organization. It's a very educational and entertaining book and it helps to set focus on delivering software in an agile way, reduce the wastes, solve bottlenecks (Goldratt) and gradually deliver software faster and of higher quality. Again a must-read book about DevOps!





The DevOps handbook

What a comprehensive book about DevOps! This book is truly a handbook of DevOps and covers all of the basics and advanced topics about DevOps. This book is based on the three ways principle of The Phoenix project: The principle of flow, the principle of feedback and the principle of continual learning and experimentation and these are the true principles of DevOps: establish a continuous flow of releases, gather feedback and by experimentation and learning improve the value chain. This book, together with the Phoenix project, explains the true nature of DevOps.






Continuous delivery

This book is a must-read, just like "DevOps Handbook". It's written by Jez Humble and David Farley and I think it is one of the first well-written books about DevOps. It is a bit outdated because it is written in 2009, but still, a lot of topics are described that are very interesting. For instance, the book taught me that release branching is the preferred way to do branching. It is advisable to have one trunc/master and check in every (working!) code in the master and make sure that the trunc/master branch is always deployable. A lot is written about unit testing and why unit testing is not the only thing that is needed; you need other tests too. Although outdated and written for 'normal' IT projects (I mean: not written for data platforms) there is a huge amount of aha's in there.




SQL Server 2019 Revealed

The book is written by Bob Ward and it is, of course, about SQL Server 2019, the latest version of SQL Server on-premise. This book is all about the new stuff of SQL Server 2019. The new features are well explained and clearly written. One of the important topics is the big data cluster that is a huge leap in the big data with SQL Server. SQL Server is no longer a DBMS but a data platform. There are chapters about Linux (that was a couple of years ago an April 1st joke), Kubernetes, Polybase and lots and lots more. A must-have book when you want to know more about SQL Server 2019.







Agile Data warehouse design

I wanted to sharpen my requirements skills with this book and although I bought it a couple of years ago, I never read the book in detail. This year I decided to read it. This book is based on gathering requirements for dimensional modelling (data warehouse) by using (what Lawrence calls) Modelstorming. It is about the 7Ws (Whom What, When, Where, how many and how). This book goes one step further in the requirements phase than Kimball. In the data warehouse toolkit, the requirements phase is not very broadly described and probably was not the focus of the book.






Final Thoughts

2019 was a year that shifted my attention to Azure and DevOps. The focus on projects is more and more on delivering data platforms agile in the cloud (Azure). Methods like Datavault together with DevOps enables to deliver faster and more high-quality data to the users.


Hennie