CIOs Need To Embrace Agile, Gartner Finds - InformationWeek
IoT
IoT
IT Leadership // CIO Insights & Innovation
Commentary
7/2/2015
09:05 AM
Larry Loeb
Larry Loeb
Commentary
100%
0%

CIOs Need To Embrace Agile, Gartner Finds

A new Gartner report finds that CIOs need to embrace agile development, and the firm offers 10 principles to guide this change.

20 Great Ideas To Steal In 2015
20 Great Ideas To Steal In 2015
(Click image for larger view and slideshow.)

Changing markets and technologies are offering enterprises new ways to approach projects and develop the tools they need to succeed. Specifically, agile development is seen as a way for CIOs adjust to this new way of doing business, and Gartner believes IT leaders and executives need to adopt this approach as quickly as possible.

In a report released July 1, the research firm is not only strongly recommending adopting agile, but offering CIOs several principles they can follow and adopt.

Nathan Wilson, a research director with Gartner, notes that if executed well, use of agile methods have the capability to transform IT-business relationships as well as have a positive effect on IT value delivery. However, Wilson writes that the value will be delivered only if the CIO and the entire IT management team are dedicated to the culture change that is necessary for success.

"Done badly, agile development will create a lot more problems than it solves," Wilson writes in the report's summary.

So, what is agile development all about?

Gartner's research finds there are 10 guiding principles. First is that agile is not just one thing alone. There are different approaches for different problems. Another is that you can't just pick and mix certain aspects of agile, but must use them all in a continuous stream to gain success.

(Image: joreks/iStockphoto)

(Image: joreks/iStockphoto)

The entire business needs to be on board for agile, not just IT. This approach will require them to work in new and different ways as well. Of course, going slow on the first agile efforts seems obvious but is not always followed.

Agile is also focused on continuous learning. Every project has lessons that can be analyzed in order to facilitate the next one. That is how you learn to do something better.

People are organized into small teams with time-variant populations in agile. Because of this, physical location of the personnel of the teams plays a bigger role than in other software development techniques.

The concept of technical debt looms large in agile.

This is the difference between the current state of software and where it should be. All development creates technical debt. The difference with agile methods is that technical debt is recognized and added to the backlog, not ignored. Ruthless refactoring and the elimination of technical debt are crucial for agile development.

[Read how PayPal stay ahead of the competition.]

If third parties are involved in development efforts, it is obvious they have to be on board. That may take special efforts on your department's part, especially considering how teams need proximity to other parts of the business.

Supplemental hiring may need to replace off-shore outsourcing.

Agile methodologies need continuous engagement with business managers and users. This implies the delivery of a continuous stream of new and modified software into the operational environment.

Finally, never forget that agile development is one approach to solving problems. Other methodologies may better suited to a problem, and should not be rejected out of hand.

These principles can help a CIO or the IT staff to understand and implement the changes in development and corporate culture necessary to use the agile development techniques of adaptive planning, evolutionary development, early delivery, continuous improvement, and a rapid and flexible response to change.

Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek. He has written a book on the Secure Electronic Transaction Internet ... View Full Bio
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
jagibbons
50%
50%
jagibbons,
User Rank: Ninja
7/6/2015 | 3:15:04 PM
Re: The problem with Agile
As one working in a very productive agile shop, I don't agree that agile means there is no quality. I do agree that some kinds of software development, where precision can make the a life or death difference, agile software development frameworks like Scrum or XP don't make sense.

Agile developers, at least in my company, focus on quality and speed. If there is a tradeoff to be made, it will come with input and final guidance from the non-developers, or the product owners, who may be willing to give up some quality or functionality in order to get part of the product out the door faster.

Agility is much broader than just a framework for development. It is about making decisions faster. It is about having the most knowledgeable (sometimes lower-paid front-line staff) make decisions or recommendations. It is about not being married to any one project, software or process if there is a need to make it better. There is trial and error involved. More importantly, there is learning involved.
larryloeb
50%
50%
larryloeb,
User Rank: Author
7/6/2015 | 9:52:35 AM
Re: The problem with Agile
Again, what you see as quick trial-and-error, I see as a code-learn-burn-recode stream.

Its sort of instituionalized as a method to get the rest of the business used to it.
Li Tan
50%
50%
Li Tan,
User Rank: Ninja
7/6/2015 | 6:44:05 AM
Re: The problem with Agile
For Agile, the key point is controlling the development pace and reacting fast to feedback/changes. It also provides possibility for quick trial and errors, which is an important methodology in modern software development.
larryloeb
50%
50%
larryloeb,
User Rank: Author
7/5/2015 | 6:50:29 PM
Re: The problem with Agile
You seem to have given the matter some long and deep thought.

While I do not with to gloss over agile's quirks; it does seem to have an aspect that is useful. And that is trying to treat software development as a continuous process, not a series of starts and stops.

Quality can also come from deriving mistakes, learning what to do about them and correcting those errors.

 

 
Uplift_Humanity
100%
0%
Uplift_Humanity,
User Rank: Strategist
7/5/2015 | 5:57:46 PM
The problem with Agile

The roots of the Agile methodology come from rapid prototyping. It started under the RAD (rapid application development) style, an early development model for very quickly prototyping a concept, so you could show users something and get their feedback. You take their feedback and iterate.  This is still the core of agile, rapid iterative experimentation/evolution.

The other problem is, agile is not really defined. It's elusive, hard to explain, and thus hard to do. In fact, agile is intentionally 'agile' (elusive). If management can't understand the methodology, staff can't be held to it. Or staff can simply say "management never really understood it, and never really implemented it". It's a cop-out, yes. But the problem is, it's designed this way intentionally.

The article says it best "...there are 10 guiding principles. First is that agile is not just one thing alone."

This says agile is basically undefined, a mishmash. Not a good position to start from.  If the adherents can't decide or agree on what it is, how can the rest of us?


Next the article says "you can't just pick and mix certain aspects of agile, but must use them all in a continuous stream to gain success."

Really?  How so?  If you can't define agile's parts, how do we use them "all"?

The article mentions "technical debt". This concept creates the "rapid" push in agile work. But it's also its achile's heel.  Technical debt is how far you are from your goal.  When technical debt is largest (i.e., at the start of a project), the greatest is the pressure to do something.  To take risks... to try something experimental, to skip prudence, to cut corners, to ignore quality, to just so something.  Anything.

This is the serious problem with agile.  It eschews quality-based controlled development over rapid delivery/development. It pushes developers to deliver something quickly, rather than to deliver quality.

I work in the medical device field, where software has a critical role.  Sometimes life-critical.  Software must be failsafe, faultless, and validated to ensure with high statistical certainty a patient (or clinician's) health will not be compromised.  EVER!  And agile is NOT good in my industry.  The medical device industry relies on quality as a cornerstone, but agile is in conflict with quality.

Agile is good for some industries, mainly consumer industries where coding errors, mis-designed software, inefficienct code, etc. are tolerated or even desired in order to reduce the net cost to the consumer.  Examples are Game development, consumer apps (those that don't process financial, health, or critical data), and in instances where users accept buggy software (freeware/shareware).

In my experience, agile teams succeed only when they include very good developers who previously learned quality when they were earlier on non-agile project teams.

Agile is flawed because it doesn't embrace that software, especially complex software, requires ways to tackle and increase quality.

Agile also requires star developers who've learned quality skills from prior non-agile experiences.  Developers who've never worked outside of agile don't embrace quality (they might say they do).  Because agile doesn't embrace quality.

Agile is good when software quality isn't important.

How Enterprises Are Attacking the IT Security Enterprise
How Enterprises Are Attacking the IT Security Enterprise
To learn more about what organizations are doing to tackle attacks and threats we surveyed a group of 300 IT and infosec professionals to find out what their biggest IT security challenges are and what they're doing to defend against today's threats. Download the report to see what they're saying.
Register for InformationWeek Newsletters
White Papers
Current Issue
IT Strategies to Conquer the Cloud
Chances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.
Video
Slideshows
Twitter Feed
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.
Flash Poll