Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »
Webcast: In the Google Apps Cloud: How to Achieve Your Business Objectives
Dec 3rd, '09, 1 - 2 pm US/Eastern (GMT-5)
Join Council member Brent Hoag, Director, Global IT, at JohnsonDiversey, as he discusses the adoption of Google Apps which has helped meet four corporate goals; sustainability, simplification, increased employee productivity and global collaboration.
Webcast: Collaboration Initiatives: Benchmarks & Best Practices
Dec 15th, '09, 4 - 5 pm US/Eastern (GMT-5)
Join Council members Ruth Thorpe, VP & CIO at the U.S. Pharmaceutical Operations of Sanofi-Aventis, and Gary Kuyper, CIO at Bethany Christian Services, as they speak about their collaboration initiatives and experiences in how and why they chose the social networking and collaboration tools they are using and their business goals for collaboration, and facing culture change challenges.
Data Overview: Collaboration Initiatives Field Guide: Benchmarks & Best Practices
This appendix to the Council Field Guide provides an analysis which discusses benchmarks for collaboration IT implementation costs, adoption rates and payoffs. The overview identifies top IT and business goals and satisfaction rates for collaboration initiatives as well as best practices and lessons learned for implementing collaboration IT.
Learn more about the CIO Executive Council »PAGE 3
What Are the Business Reasons for Using Agile?
What Makes Agile Programming Different?
Won't I Have to Do a Lot of Extra Work?
What's Different, Besides Working in Iterations?
Won't Working Like this Change Our Corporate Culture?
When Should I Avoid Using Agile Programming Techniques?
Is There Just One Kind of Agile Programming?
![]()
There isn't a silver bullet for application development. There never is. Although Agile programming techniques can help you create great applications very quickly, these techniques don't work for every project.
For example, an organization may truly need to create a huge application that can't be broken down into small pieces, and which requires more than 20 developers. If you're creating a heart monitor application for a major hospital, you don't want to create just the part that monitors the heart and deploy it without the parts that send out alerts when a patient's heart fails. In this case, you must create the entire application and test it as a whole before deployment, or else you'll end up with a lot of dead patients (and lawsuits). Agile programming techniques aren't a good solution in this case, because the system quickly breaks down when too many people are involved.
Applications that require a distributed development don't work well with Agile programming techniques, either. If you have some developers in England and others in the United States, team members can't communicate quickly enough. Distributed teams have difficulty getting all of the benefits of Agile methods, even though tools such as instant messaging or IRC may compensate somewhat. The system can quickly bog down, and you'll find yourself devoting a lot of time to keeping individual team members updated.
You may also find it hard to use Agile programming techniques with mission-critical applications where every single piece has to work at the outset. Because Agile programming techniques work best with small iterations, you won't get a whole application put together immediately. The process requires that the organization deploy the partial application to invite comment from the organization as a whole. The goal is to fix any real bugs and usage problems quickly, not to create one monolithic application that can't be tested until the end of the project.
Some companies simply don't adapt very well to Agile programming techniques because they have a command-and-control management style. That kills the creative process required to make Agile programming work. Most experts regard the command-and-control management style as outdated and a real problem that the company should work out.
The Agile programming umbrella shelters a significant number of methodologies that you can use to accomplish your goal. The precise method you use depends on the kind of application you want to create, the customers you must satisfy and the environment within your organization.
Here are a few of the more common Agile programming methodologies:This isn't an exhaustive list. Other Agile programming methodologies, such as Crystal Clear, could have a place in your organization. The fact is that Agile programming is so useful that people are finding new ways to use it all the time. Consequently, you'll continue to find organizations that create new Agile programming methodologies.
Further Reading on CIO.com
John Mueller is a freelance author and technical editor. He has writing in his blood, having produced 73 books and more than 300 articles to date. The topics range from networking to artificial intelligence and from database management to heads-down programming. His most recent book is VBA for Dummies, 5th Edition.