What Agile is NOT!

Wednesday, January 9, 2019

#Functional Safety    #Management Consulting    #Automotive Agile

There are certainly adjectives that we all want to believe describe us: intelligent, superior, attentive, humble, etc. It wasn’t until I happened upon 135 Power Adjectives for Your Resume that I confirmed “agile” is one of those adjectives, which explains why every corporation or software manager we visit says “Oh, we’re Agile” despite little-to-no understanding of what that means.

OK, OK … maybe the Agile founders caused this problem themselves. By its very definition, Agile can be reworked via Retrospectives and, therein, is somewhat amorphous. As Alex Adamopoulos correctly pointed out, “uncovering better ways of developing software” is written right in the Agile Manifesto. Nevertheless, some of the manifestations and commentaries we see out in the wild are … well … exactly that. Wild.

So rather than creating another geeky, boring article about what Agile is in a theoretical world, we thought it might be good to explain what it is NOT and, maybe in the midst of that, correct some of the misinformation posted around the world (*Wait, did I just imply that not everything on the Internet is true?!). In addition, for each of the unenlightened organizations, we shall provide a recommended, alternate adjective so they don’t continue to misuse “Agile” in public. 

Agile Is Not How Quickly You Supplant Team Members

You would think it goes without saying that no one believes your org is Agile if it dynamically allocates employees on/off a project. But when you find out that 4% of the population believes in Lizard People who masquerade as humans controlling our world, you realize that nearly nothing should be assumed. 

In fact, in a recent article in Forbes, an author listed “Dynamically [Allocating] Team Members Based On The Needs Of The Project” as one of the five leading ways to move towards being an Agile organization. “When selecting the right project team, there are three aspects of the outcome that need to be optimized…,” says the author, and suggests that efficiency, quality and the amount of skill development required should be balanced in order to gain maximum agility.

The reason this is NOT the strategic foundation of an Agile organization is that team instability leads to a lack of understanding of what can be accomplished in a sprint, which means accurate predictions and project management would go out the door (along with the employees). Intra-team comprehension of the capabilities, capacity and cooperation of a self-directed team is essential. Instead of supplanting employees, tasks should be dynamically pulled by team members based upon availability and capability, and skills development should be directed towards multiple options within the existing team for a given task. 

Recommended Alternative Adjective (*instead of “Agile”): Disjointed

Agile Is Not A Synonym for Complete Freedom

In California for tech start-ups, small development teams work on apps or features which have limited external dependencies. Therein, some mental maps of Agile suggest the team is 100% self-directed and has no reliance upon other groups. “Teams are independent of one another and no longer bound to the efforts and timeline of others,” writes a contributor to Computerworld.com. “Agile provides employees with autonomy, a clear sense of their purpose, and the ability to quickly make decisions.”

Although there is some correlation between “self-directed” and “autonomous”, it doesn’t absolutely mean an Agile team need not be part of a greater project management with dependencies and intra-team interaction. For example, organizations are rightly realizing that Agile Development isn’t just for software anymore; coordination of hardware-software projects is easier within “Scrum of Scrum” designs or Scaled Agile Framework (SAFe). Such complex team-of-team designs are more common since using different project management processes and tools within the same product creates difficulties. But to have smooth integration, early testing, milestone accuracy, etc. there must be dependencies between teams, which require inter-prioritization of Backlogs. Perfect autonomy is a fantasy.

Recommended Alternative Adjective (*instead of “Agile”): Delusional

Agile Is Not a Synonym for Marginal Quality

I know, I know … I announced in the first paragraph that people were using and abusing “Agile” since it was a positive adjective, and therefore it seems contradictory that people would say “Hey, you want to be Agile despite it being tolerant and/or correlated to many software bugs.” Yet, two articles I read in the last month – one on cybersecurity and one on Tesla’s Agile-for-manufacturing – outright stated Agile is equivalent to bug infestation. According to the first, misinformed author, “Agile development increases the output of software development projects by using a faster, more iterative engineering process. This pace also allows rapid course correction, which is great for meeting customer requirements quickly, but also makes the process inherently more tolerant of errors.” Buzz! Thanks for playing. We will have a copy of the home game for all participants in today’s episode of “The Characterization is Right”.

The confusion is somewhat understandable: many Agile adopters have made the mistake of picking and choosing parts of an Agile Methodology like Scrum and throwing out the rest.  Quality suffers when stories are poorly written, acceptance criteria is missed, or the rising mountain of technical debt is overlooked. Per The Business Value of Agile Software Methods, Agile actually results in 65% better quality in part for the reason the author stated above: early releases of code allow testing earlier. In fact, the first of the twelve Agile Principles states “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” At Kugler Maag, we use Agile methods to accelerate automotive software development while also increasing quality and compliance to Automotive SPICE and ISO 26262. Agile in Automotive necessitates a razor sharp focus on quality and functional safety.

Recommended Alternate Adjective (*instead of “Agile”): Irresponsible


Do you need to improve your automotive product development, to increase efficiency, or to comply with ASPICE and Functional Safety? You are at the right place.