Feedback Help Login
Feedback Help Login
Government  |  Agile  |  Portfolio Management  |  Program Management  |  Project Management   
 
 Search
   
 Advanced Search
 
 
 September 07, 2010. Members: Login now.  Not a member?  Become a member -- it's free!
Article  
5Qs on Agile with Steve McConnell
Posted: August 12, 2007
 

Readers of Software Development magazine once named Steve McConnell one of the three most influential people in the software industry. The CEO and Chief Software Engineer at Construx Software, Steve has generously agreed to kick off our “5Qs on Agile” feature by answering the following five often-asked questions about Agile development.

Q1: Why use Agile methods?
Agile methods focus on shorter iterations, in which the software is brought to a releasable level of quality fairly often, usually somewhere between weekly and monthly. Short iterations provide numerous technical and management benefits. On the technical side, the main benefit is reduced integration risk because the amount of software being integrated is kept small. Short iterations also help to keep quality under control by driving to a releasable state frequently, which prevents projects from accumulating a large backlog of defect correction work. On the management side, the frequent iterations provide frequent evidence of progress, which tends to lead to good status visibility, good customer relations, and good team morale.

Agile methods also usually treat requirements as more dynamic than traditional methods do. For some environments that's a plus and for some it's a minus. If you're working in an environment that doesn't need a lot of long range predictability in its feature set, that can save a lot of detailed requirements specification work and avoid the "requirements spoilage" that often accompanies trying to work through a lengthy backlog of detailed requirements.

Q2: What is the biggest challenge when implementing Agile methods?
The biggest challenge we see in our consulting and training business is walking the walk. You can't just say you're doing Agile. You have to follow through with specific actions. Of course that's the same problem we saw years ago with object oriented methods, and before that with structured methods, so that problem isn't unique to Agile.

The most common specific challenges we see are simply the challenges of "turning the battleship" in a large organization to overcome the inertia of entrenched work practices and expectations and getting reoriented to do things in a different way. You have to muster the resolve to actually work in short iterations. You have to build frequently, at least every day, and you have to develop the discipline to keep the build healthy. You have to push each iteration to a releasable level of quality even if that's hard to do at first.

Q3: In what environments will Agile be most successful?
Some of the details will of course be dictated by the specifics of the contract you're working under, but some pieces of Agile/Scrum can succeed virtually anywhere. Scrum is mostly a management practice that applies at a detailed level that's below the visibility of whoever is overseeing the contract. The biggest area that usually has contract-level visibility is the requirements. In that case, you might find that you need to spend more time defining the requirements backlog in detail, and you might not have as much freedom in defining when you implement specific requirements compared to some other Scrum environments. But those constraints don't affect most of the other Agile/Scrum practices, and you can still get a lot of the technical and management benefits I mentioned in response to Question 1 from all the other practices.

Q4: What is the future of Agile?
Agile has largely become a synonym for "modern software practices that work," so I think the future of Agile with a capital "A" is the same as the past of Object Oriented or Structured. We rarely talk about Object Oriented programming anymore; it's just programming. Similarly, I think Agile has worked its way into the mainstream such that within the next few years we won't talk about Agile much anymore; we'll just talk about programming, and it will be assumed that everyone means Agile whenever that's appropriate.

Q5: Can you recommend a book, blog, podcast, Web site, or other information source to our readers that you find interesting or intriguing right now?
I'm most excited about the Software Development Best Practices discussion forum that we launched a few weeks ago. That's at http://forums.construx.com . I also started blogging recently, and you can read my blog at http://blogs.construx.com/blogs/stevemcc/default.aspx . Feel free to contact me by e-mail at stevemcc@construx.com .

About the Author

Steve McConnell is CEO and Chief Software Engineer at Construx Software where he writes books and articles, teaches classes, and oversees Construx's software engineering practices. Steve is the author of Software Estimation: Demystifying the Black Art (2006), Code Complete (1993, 2004), Rapid Development (1996), Software Project Survival Guide (1998), and Professional Software Development (2004). His first two books won Software Development magazine's Jolt Excellence award for best programming books of their years. In 1998, readers of Software Development magazine named Steve one of the three most influential people in the software industry along with Bill Gates and Linus Torvalds, and he is also past Editor in Chief of IEEE Software magazine. He can be reached at stevemcc@construx.com .

Related Content  
Member Options  
   Back to Top About     Feedback     Contribute     Contact     Advertise

Copyright © 2010 Robbins-Gioia, LLC. All rights reserved.     Terms of Use     Privacy Policy     Site Map