Review: Agile Development: An Expert Roundtable:

 

What's in Store for the Future?

Barry: Let’s jump ahead five or ten years from now. What do you foresee happening in development practices in the long-term future? Where is agile development going? Where are the heavy-weight processes going?

David: I think you'll find people who specialize in each niche. You'll see more of what we see now, but we’ll be using different technologies along the way.

Brian: That is also where agility comes on the quadrant with a lot of technology change in a five to ten year time frame. Having a process that allows you to maneuver quickly through technological changes will help organizations succeed or fail. While the goals for CMM are noble, they’re somewhat unrealistic for all but the largest government projects that deal with stable domains. Organizations that have to deal with quicker turnaround responses to the business environment and technological changes will have to be more agile in their responses.

Fundamental to everything is the application of the approach grounded in a position of responsibility. Don’t choose a technology to improve your resume, don’t choose a technology for the hype, and don’t choose a process because you think it will improve you documentation burden. Understand how these things apply and choose wisely. If you don’t know enough about processes, find someone who does. The right technology applied in the right way at the right time is magic.

David: If you feel as if you are banging your head against the wall, stop and rethink what you are doing. There are times where you want to make some alterations to code and you end up five steps removed from the problem you solved because of some stupid dependency on some stupid build problem on some stupid files. If that’s really the way things are, stop and look at the bigger picture and try to figure out what the real solution is.

Brian: Ward Cunningham introduced the notion of technical debt. The idea is that when you are heading toward a deadline, you can’t always look at the big picture. As you head for the deadline you incur this technical debt. You hack around and do something just to make the code work. But at some point in time, you have to look at the big picture. Before the next iteration you need to stop and pay down that technical debt in some way. If you don't then, just as with a financial debt, the technical debt will compound from iteration to iteration. Things will become unmanageable to the point where you cannot afford to pay the debt.

BB: What if you don’t have time between one iteration and the next? You're involved in a project with unrealistic deadlines. What then?

David: Well that sounds like a problem. One of the first benefits that I saw when my company started moving to CMM Level 2, was having with a time-estimation process. A consultant trained us on an estimation process. Love it or hate it, the process is a way of coming up with an amount of time for a task. What was really interesting was that we could use the estimate to push back management a bit. The managers would say "How long do you think will this take? Give us an estimate.” We would come up with a number bring the number back to management.

In the old days, they would say “That’s too long. We want it done in half that time.” But with the estimation process, we can say “We followed the documented process—the process we were trained to use. When we used the process we came up with this time estimate." That was a really liberating thing.

Software process can be constraining. But people talk about software development as an art, and sometimes constraint is part of art. Lot's of people can build model ships, but if you can build a ship in a bottle, you have a whole new level of model ship building. So that constraint does not have to be viewed as shackles. Instead, a constraint can be part of your work.

Brian: People often ask me about my attitude towards process. I say my attitude depends on the organization and on the specific goals of a project. At the end of the day, you want enough process to push you forward, but not enough to slow you down.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.