Click here to close now.


Microservices Expo Authors: Pat Romanski, AppDynamics Blog, Liz McMillan, XebiaLabs Blog, Elizabeth White

Related Topics: Microservices Expo, Java IoT, Industrial IoT, Microsoft Cloud, IoT User Interface, Agile Computing

Microservices Expo: Book Review

Book Review: A Practical Approach to Large-Scale Agile Development

How HP Transformed LaserJet FutureSmart Firmware

I must admit that before I began reading this book I truly thought it was going to be another twisted story of an attempt at agile that failed in everyone's eyes except for those that needed to say it was a success. That is what I am used to.

It is kind of like when I am on a product reference call to CIO. The product is always great and the company who sold it is always wonderful. Why some people think the CIO is going to say they didn't do their due diligence when picking a vendor, and the product and company we are asking about sucks, is beyond me?

They never do. The same is true of almost all the agile projects I have seen. They end over budget, buggy, and pretty much the same way most projects end that use any other process, but they are always deemed a success by those involved.

I was ready to tell myself I was correct in my assumption when I got blasted on page 2 with the Agile Manifesto, but decided to give them to the end of the chapter. In the next section of the chapter they caught my attention with the last of a list of 6 topics which was their take on Agile/Lean Principles. Number 6 was practitioners should define agile/lean practices.

I find myself saying the same thing all the time on a ton of different projects. When it comes to leading large complex agile projects, if you have not come up through the ranks being mentored on successful agile projects, and learning through experience, not books, you have no business defining process and leading the project. I have met very few people who agree with this line of thought and it impressed me that the authors did.

That one line of thought pushed me to read chapter 2. Again I was pleasantly surprised with the authors discussing the need to engineer a solution. Not implement a process, but engineer a solution. By the end of this chapter the authors had done a great job summarizing where their teams use their resources now and assembled some excellent development objectives.

Another thing the authors discussed was the capacity of their organization to absorb change. This is something that is almost always overlooked when bringing in new development processes, agile or not, this is something that needs to be looked at throughout the entire organization. This is usually just isolated to the development teams, but the new processes affect every department when they are implemented correctly.

At the end of the chapter the authors list their achievements:
-2008 to present overall development costs reduced by 40%
-Number of programs under development increased by 140%
-Development costs per program down 78%
-Firmware resources now driving innovation increased by a factor of 8 (from 5% working on new features to 40%)

I am sure these seem exaggerated, and that is what I believed until I read the next two chapters. Over the course of the next two chapters the authors fully won me over. They proceeded to outline implementing a Software Product Line using their own process language. I know from my own experience that when Software Product Line Engineering is done correctly it will always produce improvements like those listed above.

The authors nail exactly what enables their ability to implement an iterative agile process, and that would be investing in the right architecture. Any sizable project that doesn't invest in the architecture and claims they are able to pull off the project in an agile way is full of crap, period.

Product Line Engineering is the process that offers the highest level of agility over all other processes. It is tailorable for different levels of ceremony and is therefore able to run lighter than Scrum given the right team and right environment.

One of the main benefits of Product Line Engineering is the ability to collect metrics and in Chapter 5 the authors identify how to take advantage of them the right way, which is not to manage by metrics, but to use the metrics to understand where to have conversations about what is not getting done. Chapter 5 also outlines their iterative process.

The book continues to cover excellent process practices throughout the rest of the book, and they are applied to a real world project which drives home their value even more. Below are all the chapters included in the book.

Chapter 1. Agile Principles versus Practices
Chapter 2. Tuning Agile to Your Business Objectives
Chapter 3. Aligning Architecture with Business Objectives
Chapter 4. How to Establish a New Architecture Using Agile Concepts
Chapter 5. The Real Secret to Success in Large-Scale Agile
Chapter 6. Continuous Integration and Quality Systems
Chapter 7. Taming the Planning Beast
Chapter 8. Unique Challenges of Estimating Large Innovations
Chapter 9. Our Take on Project Management for Large-Scale Agile
Chapter 10. Organizational Approach: Managing to Disadvantages
Chapter 11. Effective Agile Development Across U.S. and Indian Cultures
Chapter 12. The Right Tools: Quantum Leaps in Productivity
Chapter 13. Real-World Agile Results: HP FutureSmart Firmware
Chapter 14. Change Management in Moving Toward Enterprise Agility
Chapter 15. Differences in Our Perspective on Scaling Agile
Chapter 16. Taking the First Step

Unlike a lot of books I have read on implementing agile practices on large scale projects I believe the results of this project were reported accurately.

I also believed the results were achieved with an iterative agile process. They are honest about the issues they ran into and they hammer on prototyping for architectural issues, which is definitely the way to go.

The author's writing styles make the book an easy read and the story that is told along the way is a very interesting one. I did not get bored with even one page of this book.

This book is a must read for any CIO, Enterprise Architect, Software Architect, Project Manager, or other IT roles in charge of or involved with large scale initiatives that they are hoping to pull off in an agile way. The book tells the story of how to achieve success based on a real world success, not a made up fictional case study.

A Practical Approach to Large-Scale Agile Development: How HP Transformed LaserJet FutureSmart Firmware

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

@MicroservicesExpo Stories
SYS-CON Events announced today that G2G3 will exhibit at SYS-CON's @DevOpsSummit Silicon Valley, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Based on a collective appreciation for user experience, design, and technology, G2G3 is uniquely qualified and motivated to redefine how organizations and people engage in an increasingly digital world.
If you are new to Python, you might be confused about the different versions that are available. Although Python 3 is the latest generation of the language, many programmers still use Python 2.7, the final update to Python 2, which was released in 2010. There is currently no clear-cut answer to the question of which version of Python you should use; the decision depends on what you want to achieve. While Python 3 is clearly the future of the language, some programmers choose to remain with Py...
“All our customers are looking at the cloud ecosystem as an important part of their overall product strategy. Some see it evolve as a multi-cloud / hybrid cloud strategy, while others are embracing all forms of cloud offerings like PaaS, IaaS and SaaS in their solutions,” noted Suhas Joshi, Vice President – Technology, at Harbinger Group, in this exclusive Q&A with Cloud Expo Conference Chair Roger Strukhoff.
Opinions on how best to package and deliver applications are legion and, like many other aspects of the software world, are subject to recurring trend cycles. On the server-side, the current favorite is container delivery: a “full stack” approach in which your application and everything it needs to run are specified in a container definition. That definition is then “compiled” down to a container image and deployed by retrieving the image and passing it to a container runtime to create a running...
Clearly the way forward is to move to cloud be it bare metal, VMs or containers. One aspect of the current public clouds that is slowing this cloud migration is cloud lock-in. Every cloud vendor is trying to make it very difficult to move out once a customer has chosen their cloud. In his session at 17th Cloud Expo, Naveen Nimmu, CEO of Clouber, Inc., will advocate that making the inter-cloud migration as simple as changing airlines would help the entire industry to quickly adopt the cloud wit...
As the world moves towards more DevOps and microservices, application deployment to the cloud ought to become a lot simpler. The microservices architecture, which is the basis of many new age distributed systems such as OpenStack, NetFlix and so on, is at the heart of Cloud Foundry - a complete developer-oriented Platform as a Service (PaaS) that is IaaS agnostic and supports vCloud, OpenStack and AWS. In his session at 17th Cloud Expo, Raghavan "Rags" Srinivas, an Architect/Developer Evangeli...
Culture is the most important ingredient of DevOps. The challenge for most organizations is defining and communicating a vision of beneficial DevOps culture for their organizations, and then facilitating the changes needed to achieve that. Often this comes down to an ability to provide true leadership. As a CIO, are your direct reports IT managers or are they IT leaders? The hard truth is that many IT managers have risen through the ranks based on their technical skills, not their leadership ab...
Apps and devices shouldn't stop working when there's limited or no network connectivity. Learn how to bring data stored in a cloud database to the edge of the network (and back again) whenever an Internet connection is available. In his session at 17th Cloud Expo, Bradley Holt, Developer Advocate at IBM Cloud Data Services, will demonstrate techniques for replicating cloud databases with devices in order to build offline-first mobile or Internet of Things (IoT) apps that can provide a better, ...
Despite all the talk about public cloud services and DevOps, you would think the move to cloud for enterprises is clear and simple. But in a survey of almost 1,600 IT decision makers across the USA and Europe, the state of the cloud in enterprise today is still fraught with considerable frustration. The business case for apps in the real world cloud is hybrid, bimodal, multi-platform, and difficult. Download this report commissioned by NTT Communications to see the insightful findings – registra...
Application availability is not just the measure of “being up”. Many apps can claim that status. Technically they are running and responding to requests, but at a rate which users would certainly interpret as being down. That’s because excessive load times can (and will be) interpreted as “not available.” That’s why it’s important to view ensuring application availability as requiring attention to all its composite parts: scalability, performance, and security.
SYS-CON Events announced today that HPM Networks will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. For 20 years, HPM Networks has been integrating technology solutions that solve complex business challenges. HPM Networks has designed solutions for both SMB and enterprise customers throughout the San Francisco Bay Area.
There once was a time when testers operated on their own, in isolation. They’d huddle as a group around the harsh glow of dozens of CRT monitors, clicking through GUIs and recording results. Anxiously, they’d wait for the developers in the other room to fix the bugs they found, yet they’d frequently leave the office disappointed as issues were filed away as non-critical. These teams would rarely interact, save for those scarce moments when a coder would wander in needing to reproduce a particula...
All we need to do is have our teams self-organize, and behold! Emergent design and/or architecture springs up out of the nothingness! If only it were that easy, right? I follow in the footsteps of so many people who have long wondered at the meanings of such simple words, as though they were dogma from on high. Emerge? Self-organizing? Profound, to be sure. But what do we really make of this sentence?
As we increasingly rely on technology to improve the quality and efficiency of our personal and professional lives, software has become the key business differentiator. Organizations must release software faster, as well as ensure the safety, security, and reliability of their applications. The option to make trade-offs between time and quality no longer exists—software teams must deliver quality and speed. To meet these expectations, businesses have shifted from more traditional approaches of d...
Information overload has infiltrated our lives. From the amount of news available and at our fingertips 24/7, to the endless choices we have when making a simple purchase, to the quantity of emails we receive on a given day, it’s increasingly difficult to sift out the details that really matter. When you envision your cloud monitoring system, the same thinking applies. We receive a lot of useless data that gets fed into the system, and the reality is no one in IT or DevOps has the time to manu...
Last month, my partners in crime – Carmen DeArdo from Nationwide, Lee Reid, my colleague from IBM and I wrote a 3-part series of blog posts on We titled our posts the Simple Math, Calculus and Art of DevOps. I would venture to say these are must-reads for any organization adopting DevOps. We examined all three ascpects – the Cultural, Automation and Process improvement side of DevOps. One of the key underlying themes of the three posts was the need for Cultural change – things like t...
It is with great pleasure that I am able to announce that Jesse Proudman, Blue Box CTO, has been appointed to the position of IBM Distinguished Engineer. Jesse is the first employee at Blue Box to receive this honor, and I’m quite confident there will be more to follow given the amazing talent at Blue Box with whom I have had the pleasure to collaborate. I’d like to provide an overview of what it means to become an IBM Distinguished Engineer.
I’ve been thinking a bit about microservices (μServices) recently. My immediate reaction is to think: “Isn’t this just yet another new term for the same stuff, Web Services->SOA->APIs->Microservices?” Followed shortly by the thought, “well yes it is, but there are some important differences/distinguishing factors.” Microservices is an evolutionary paradigm born out of the need for simplicity (i.e., get away from the ESB) and alignment with agile (think DevOps) and scalable (think Containerizati...
The cloud has reached mainstream IT. Those 18.7 million data centers out there (server closets to corporate data centers to colocation deployments) are moving to the cloud. In his session at 17th Cloud Expo, Achim Weiss, CEO & co-founder of ProfitBricks, will share how two companies – one in the U.S. and one in Germany – are achieving their goals with cloud infrastructure. More than a case study, he will share the details of how they prioritized their cloud computing infrastructure deployments ...
DevOps Summit at Cloud Expo 2014 Silicon Valley was a terrific event for us. The Qubell booth was crowded on all three days. We ran demos every 30 minutes with folks lining up to get a seat and usually standing around. It was great to meet and talk to over 500 people! My keynote was well received and so was Stan's joint presentation with RingCentral on Devops for BigData. I also participated in two Power Panels – ‘Women in Technology’ and ‘Why DevOps Is Even More Important than You Think,’ both ...