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
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.
“Impactful Software. Business-driven Refactoring, Platforms and Ecosystems”
by Jan Bosch
Release Date: February 10th 2018
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
“Game Engine Architecture, Second Edition”
by Jason Gregory
Publisher: O’Reilly Media, Inc.
Release Date: September 2014
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
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
The subplots on the book are interesting and help to advance
Dostoevsky vision of Russian’s society. The same goes for the supporting
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
“Crime and Punishment”
by Fyodor Dostoyevsky
Original Title: Преступление и наказание
Publisher: August 1st 2008 by Oxford University Press
Release Date: first published 1866
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
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.
“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