Impactful Software. Business-driven Refactoring, Platforms and Ecosystems by Jan Bosch

A colleague recommended me to read “Impactful Software: Business-driven Refactoring, Platforms and Ecosystems” by Jan Bosch. And I have not been disappointed.

The book revolves around the ‘Three Layer Product Model’ (3LPM). The model divides software components in three categories: commodity, differentiating and innovative. From there it assigns some properties and desired status and investment to each one of them.

The model ties together two needs. The architecture has to be split apart in components with different functionality and change rate. Business needs to invest in differentiating and innovative features, while lowering cost on commodities. We will find not only a good model to segregate components, but also different strategies on how to work afterwards. From using Open Source to business partnership, the author analyses the different options to work with each of the different layers.

If you need to create a business case for an architectural refactoring, this book will help you to align the technology and business needs. If your software is already in good shape, you can still get better understanding on how to work with each of the layers.

3/5 ★★★☆☆

“Impactful Software. Business-driven Refactoring, Platforms and Ecosystems”
by Jan Bosch
Release Date: February 10th 2018
ASIN: B079R4PYDS

Game Engine Architecture, Second Edition by Jason Gregory

Game Engine Architecture, Second Edition is a good introduction to game engines.

The author introduces game engines as “…contain a familiar set of core components, including the rendering engine, the collision and physics engine, the animation system, the audio system, the game world object model, the artificial intelligence system and so on. Within each of these components, a relatively small number of semi-standard design alternatives are also beginning to emerge.”

From this list I found missing account management and social media. An important topic for me, as I have worked for long with mobile games, and this is part of the core functionalities of an engine. Nowadays even Triple A games offer different levels of integration with social media. But game engines may include so much that the scope needs to be limited in some way.

The examples are written in C++, so C++ knowledge will help to better understand the book. Problems will express themselves another way in other languages/environments. The topics are high level enough to be useful regardless of your environment and language of choice.

It’s a must-read for anyone interested in the game industry, and even skilled developers will improve their game development knowledge.4

4/5 ★★★★☆

Game Engine Architecture, Second Edition by Jason Gregory

“Game Engine Architecture, Second Edition”
by Jason Gregory
Publisher: O’Reilly Media, Inc.
Release Date: September 2014
ISBN: 9781351605649

Crime and Punishment by Fyodor Dostoyevsky review

When I was a kid, I already have heart about Dostoevsky novels. At that time, the complexity and length of that novels hold me back. Choose Your Own Adventure series or “Call of the Wild” by Jack London were the kind of books I read. Some months back, I saw “Crime and Punishment” in a bookstore. Then it struck me that, even after decades have passed, I never revisited my original thought. What was back then out of my reach, it is now an easy read. It took me less than two weeks to finish it. I found the book very engaging.

Spoilers ahead…

Rodion Romanovich Raskolnikov also known as Rodya, Rodenka or Rodka is the main protagonist. Thankfully at the end of my edition of the book – Oxford’s Classics – there is a list of names and alias to navigate around the naming.

Rodya is a student that has fallen in harsh times. He is desperate and he is going mad. The book depicts one of the most realistic and uncomfortable madness I have ever read. I found myself thinking ‘oh! don’t do that!’. Not just at his reproachable actions, but at his attitude, the way of talking and even to what he was thinking. He is going mad, he is in pain, but he is not an evil character. Rodya has redeeming characteristics. I have not a strong opinion on the end of the novel. It follows the premise of the book’s title and that’s good enough.

The subplots on the book are interesting and help to advance Dostoevsky vision of Russian’s society. The same goes for the supporting characters.

I noticed that the style of the book changes midway. It changes from a first-person novel to an almost a theatrical play, doing some third person. It felt strange, and as I like to get more background on the books I have read. I looked for more information. I like to do it, after the fact. I’m worried that if I get too much background on a book, it will spoil the plot and I will over-interpret the text. For “Crime and Punishment”, I got confirmation on some of my own impressions. I learned about the characters name’s meaning. And more about the author himself.

Has any author’s reputation fallen further or faster than Dostoevsky’s?

Dostoevsky’s Crime and Punishment refashioned the idea of what a novel could be

4/5 ★★★★☆

Crime and Punishment by Fyodor Dostoyevsky

“Crime and Punishment”
by Fyodor Dostoyevsky
Original Title: Преступление и наказание
Publisher: August 1st 2008 by Oxford University Press Pages: 537
Release Date: first published 1866
ISBN: 9780199536368

User Story Mapping by Jeff Patton review

User History Mapping is a book about how to create value in an effective and sustainable way when developing software. To achieve this goal, it uses stories as a means to an end. Collaboration and communication between team members and stakeholders are the real reason behind writing story cards: ‘A right-sized story from a user’s perspective is one that fulfills a need’; ‘A right-sized story from a development team’s perspective is one that takes just a few days to build and test’; ‘A right-sized story from a business perspective is one that helps a business achieve a business outcome’. There are different perspectives, and all of them are right.

Teams should not focus on maximizing output, but to minimize it. Teams build less. The focus should be on maximizing outcome and impact with the less possible effort.

Scope creep is seen from a new perspective. Where an increase of work is not caused by scope creep, but it’s caused by a growth in understanding. In the end, the real goal of using stories is shared knowledge so, the team learns how to get to the outcome faster. This fast outcome is achieved by solving the right problems, building less, working incrementally and using each iteration as a learning experience.

The book offers insights on the advantages and downsides of using templates like “As a [type of user] I want to [do something] So that I can [get some benefit]”. But there are better books if you are looking for receipts that you can use directly on your SCRUM day to day. The author offers a high-level understanding of the process so you can get to the details of the methodology by yourself.

These ways of working will allow for a more predictable outcome, as ‘the best estimates come from developers who really understand what they’re estimating’. All the advice is practical and tries to move away from dogmatisms. The author warns agile practitioners about the risks of trying to be perfect, and focusing too much in methodology instead of understanding. To do a good enough job, to learn from mistakes, and to sustain a collaborative environment is the good way forward.

4/5 ★★★★☆

User Story Mapping: Discover the Whole Story, Build the Right Product by Jeff Patton, Peter Economy

“User Story Mapping: Discover the Whole Story, Build the Right Product”
by Peter Economy, Jeff Patton
Publisher: O’Reilly Media, Inc.
Release Date: September 2014
ISBN: 9781491904909