Welcome!

Microservices Expo Authors: Derek Weeks, AppDynamics Blog, Jason Bloomberg, Aruna Ravichandran, PagerDuty Blog

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
Wow, if you ever wanted to learn about Rugged DevOps (some call it DevSecOps), sit down for a spell with Shannon Lietz, Ian Allison and Scott Kennedy from Intuit. We discussed a number of important topics including internal war games, culture hacking, gamification of Rugged DevOps and starting as a small team. There are 100 gold nuggets in this conversation for novices and experts alike.
In a crowded world of popular computer languages, platforms and ecosystems, Node.js is one of the hottest. According to w3techs.com, Node.js usage has gone up 241 percent in the last year alone. Retailers have taken notice and are implementing it on many levels. I am going to share the basics of Node.js, and discuss why retailers are using it to reduce page load times and improve server efficiency. I’ll talk about similar developments such as Docker and microservices, and look at several compani...
The notion of customer journeys, of course, are central to the digital marketer’s playbook. Clearly, enterprises should focus their digital efforts on such journeys, as they represent customer interactions over time. But making customer journeys the centerpiece of the enterprise architecture, however, leaves more questions than answers. The challenge arises when EAs consider the context of the customer journey in the overall architecture as well as the architectural elements that make up each...
Much of the discussion around cloud DevOps focuses on the speed with which companies need to get new code into production. This focus is important – because in an increasingly digital marketplace, new code enables new value propositions. New code is also often essential for maintaining competitive parity with market innovators. But new code doesn’t just have to deliver the functionality the business requires. It also has to behave well because the behavior of code in the cloud affects performan...
Admittedly, two years ago I was a bulk contributor to the DevOps noise with conversations rooted in the movement around culture, principles, and goals. And while all of these elements of DevOps environments are important, I’ve found that the biggest challenge now is a lack of understanding as to why DevOps is beneficial. It’s getting the wheels going, or just taking the next step. The best way to start on the road to change is to take a look at the companies that have already made great headway ...
In 2006, Martin Fowler posted his now famous essay on Continuous Integration. Looking back, what seemed revolutionary, radical or just plain crazy is now common, pedestrian and "just what you do." I love it. Back then, building and releasing software was a real pain. Integration was something you did at the end, after code complete, and we didn't know how long it would take. Some people may recall how we, as an industry, spent a massive amount of time integrating code from one team with another...
Many private cloud projects were built to deliver self-service access to development and test resources. While those clouds delivered faster access to resources, they lacked visibility, control and security needed for production deployments. In their session at 18th Cloud Expo, Steve Anderson, Product Manager at BMC Software, and Rick Lefort, Principal Technical Marketing Consultant at BMC Software, will discuss how a cloud designed for production operations not only helps accelerate developer...
I have an article in the recently released “DZone Guide to Building and Deploying Applications on the Cloud” entitled “Fullstack Engineering in the Age of Hybrid Cloud”. In this article I discuss the need and skills of a Fullstack Engineer with relation to troubleshooting and repairing complex, distributed hybrid cloud applications. My recent experiences with troubleshooting issues with my Docker WordPress container only reinforce the details I wrote about in this piece. Without my comprehensive...
From the conception of Docker containers to the unfolding microservices revolution we see today, here is a brief history of what I like to call 'containerology'. In 2013, we were solidly in the monolithic application era. I had noticed that a growing amount of effort was going into deploying and configuring applications. As applications had grown in complexity and interdependency over the years, the effort to install and configure them was becoming significant. But the road did not end with a ...
Struggling to keep up with increasing application demand? Learn how Platform as a Service (PaaS) can streamline application development processes and make resource management easy.
As the software delivery industry continues to evolve and mature, the challenge of managing the growing list of the tools and processes becomes more daunting every day. Today, Application Lifecycle Management (ALM) platforms are proving most valuable by providing the governance, management and coordination for every stage of development, deployment and release. Recently, I spoke with Madison Moore at SD Times about the changing market and where ALM is headed.
The goal of any tech business worth its salt is to provide the best product or service to its clients in the most efficient and cost-effective way possible. This is just as true in the development of software products as it is in other product design services. Microservices, an app architecture style that leans mostly on independent, self-contained programs, are quickly becoming the new norm, so to speak. With this change comes a declining reliance on older SOAs like COBRA, a push toward more s...
Small teams are more effective. The general agreement is that anything from 5 to 12 is the 'right' small. But of course small teams will also have 'small' throughput - relatively speaking. So if your demand is X and the throughput of a small team is X/10, you probably need 10 teams to meet that demand. But more teams also mean more effort to coordinate and align their efforts in the same direction. So, the challenge is how to harness the power of small teams and yet orchestrate multiples of them...
SYS-CON Events announced today that Peak 10, Inc., a national IT infrastructure and cloud services provider, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Peak 10 provides reliable, tailored data center and network services, cloud and managed services. Its solutions are designed to scale and adapt to customers’ changing business needs, enabling them to lower costs, improve performance and focus inter...
Much of the value of DevOps comes from a (renewed) focus on measurement, sharing, and continuous feedback loops. In increasingly complex DevOps workflows and environments, and especially in larger, regulated, or more crystallized organizations, these core concepts become even more critical. In his session at @DevOpsSummit at 18th Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, will show how, by focusing on 'metrics that matter,' you can provide objective, transparent, and meaningfu...
In the world of DevOps there are ‘known good practices’ – aka ‘patterns’ – and ‘known bad practices’ – aka ‘anti-patterns.' Many of these patterns and anti-patterns have been developed from real world experience, especially by the early adopters of DevOps theory; but many are more feasible in theory than in practice, especially for more recent entrants to the DevOps scene. In this power panel at @DevOpsSummit at 18th Cloud Expo, moderated by DevOps Conference Chair Andi Mann, panelists will dis...
If there is anything we have learned by now, is that every business paves their own unique path for releasing software- every pipeline, implementation and practices are a bit different, and DevOps comes in all shapes and sizes. Software delivery practices are often comprised of set of several complementing (or even competing) methodologies – such as leveraging Agile, DevOps and even a mix of ITIL, to create the combination that’s most suitable for your organization and that maximize your busines...
Digital means customer preferences and behavior are driving enterprise technology decisions to be sure, but let’s not forget our employees. After all, when we say customer, we mean customer writ large, including partners, supply chain participants, and yes, those salaried denizens whose daily labor forms the cornerstone of the enterprise. While your customers bask in the warm rays of your digital efforts, are your employees toiling away in the dark recesses of your enterprise, pecking data into...
You deployed your app with the Bluemix PaaS and it's gaining some serious traction, so it's time to make some tweaks. Did you design your application in a way that it can scale in the cloud? Were you even thinking about the cloud when you built the app? If not, chances are your app is going to break. Check out this webcast to learn various techniques for designing applications that will scale successfully in Bluemix, for the confidence you need to take your apps to the next level and beyond.
With DevOps becoming more well-known and established practice in nearly every industry that delivers software, it is important to continually reassess its efficacy. This week’s top 10 includes a discussion on how the quick uptake of DevOps adoption in the enterprise has posed some serious challenges. Additionally, organizations who have taken the DevOps plunge must find ways to find, hire and keep their DevOps talent in order to keep the machine running smoothly.