Monday, March 17, 2014

Agile Software Architecture Edited By Muhammed Ali Babar, Alan W. Brown and Ivan Mistrik; Morgan Kaufmann

This book is a collection of 14 articles from 33 contributors (which is not stated in the description of the book) about agile software architecture. Most of the articles are about 20 pages long.

Some articles are really hard to read and many articles have a short introduction in agile development, explain some parts of the agile manifesto and/or introduces scrum which get really annoying after a few articles.

The Book is organized in 4 Parts.
Part 1 contains fundamental information of agile architecture including a small introduction in DCI, an introduction into refactoring of architectures, an article on how to discover and prioritize architecturally significant requirements (ASR) with the help of architecturally savvy personas (ASP) and an article where the authors constructed the Triple-A Framework for assessing the architecture decision process. Further the authors examined different projects that changed their architecture decision during the project and that the successes and failures of the projects were influenced by the shifts that were made.

Part 2 is about managing software architectures in agile projects. The first article from this part shows how adaptable and flexible software architectures can be achieved through the integrating of agile paradigm and variability at the architectural level. The second article is about continuous software architecture analysis and comes to the conclusion that continuous architecture evaluation in agile processes remains an open research question. Next is an article about lightweight architecture knowledge management (AKM) for agile software development. The authors show how AKM can be part of agile processes (like Scrum) without much overhead and costs. The last article is about bridging user stories and software architecture. It explains agile architecting and describes a tailored Scrum for agile architecting.

Part 3 shows agile architecting in specific domains. These specific domains are testing for security and development and deployment in the cloud.

Part 4 shows industrial viewpoints on agile architecting. This part is more practical than the others. It includes an article about agile architecting in complex agile system development projects. The authors show that strong architecture and agile practices mutually reinforcing in complex agile development projects. The next article “Building a Platform for Innovation” focuses largely on agile with architecture rather than agile versus architecture. The author considers both technical and nontechnical factors in building a platform for innovation. The third article “The Opportunities, Threats and Limitations of Emergent Architecture” deals with the claim of emergent architecture “that executing the implement-and-refactor cycle over and over again, using some design principles like the SOLID principles for guiding the refactoring, will result in a complete architecture—without doing any explicit architectural work”. The last article “Architecture as a Key Driver for Agile Success” focuses on the experiences of Aviva UK during their transformation journey from waterfall to agile.

There is not much new information in this Book but some articles are interesting to read.

IMHO the most interesting articles in this Book are: From Part 1: Chapter 3: Refactoring Software Architectures, Chapter 5: Architecture Decisions: Who, How, and When?

From Part 4: Chapter 12: Agile Architecting: Enable the Delivery of Complex Agile Systems Development Projects Chapter 13: Building a Platform for Innovation: Architecture and Agile as Key Enablers Chapter 14: Opportunities, Threats, and Limitations of Emergent Architecture Chapter 15: Architecture as a Key Driver for Agile Success: Experiences at Aviva UK

I give it 3 out of 5 stars.

You can find the book here.

Monday, March 3, 2014

Google Now Launcher for Nexus 7 2012 Edition (aka Grouper)

I read in the news that the new Nexus 5 launcher is available in the Play store for the Nexus devices that have Android 4.4.

I tried to download it for my Nexus 7 but couldn’t find it in the play store. I went to the play.google.com website and search for the new launcher and found it, but it said that it is not compatible with my Asus Nexus 7. Hmmm…. Strange since I installed the update for Android 4.4.2 some time ago.

After some research I found out that you need the newest google search installed on the device in order to be able to install the new launcher. I checked for app updates on my device and it seemed that everything (including google search) is up to date.
I went back to the google play website and searched for the Google-Search app. According to the website it was installed on my device. I clicked on the install button (just to see what will happen) and to my surprise I got a message that it will be installed on my device.

During the installation on my nexus 7 I got an error message that, because of my content filters, the app could not be updated.

I looked in the playstore settings and saw that I had some content filters enabled (only "Everyone" and "Low maturity" rated apps where allowed).
After I enabled "Show all apps" some app updates popped up (Google Maps, Google Hangout, Google+) and after I installed these updates I finally was able to install the new Google Now Launcher.

So if you can’t see the new Google Now Launcher in the Play Store, check if you have enabled content filtering in the Play Store settings.