Monday, November 11, 2002

Development Tools: IntelliJ IDEA 3.0


Duane Fields reviews IDEA 3.0 in Java Developers Journal, Sep 2002. It supports many of the refactoring capabilities in Fowler, Martin et al. Refactoring: Improving the Design of Existing Code. Addison Wesley, 1999.

Our lead architect likes it and Duane Fields says:

"I must admit, until recently my idea of an integrated development environment was Emacs, a couple of shell windows, and a six-pack of Dr. Pepper. I had nothing against IDEs, in fact I was all for them, I just couldn't find one that worked for me, instead of the other way around. Everything I tried either didn't format code the way I liked, required the entire development team to convert to it, didn't run my build scripts, wouldn't talk to my source code control system, or otherwise forced me to bend to its will. Maybe I'm too picky, but hey ­ I like to do things my way.

"For the past several months, however, I've been developing almost exclusively with various beta builds of IntelliJ IDEA 3.0. It still has some bugs, of course, but this new IDE is so spectacular that even in its preproduction state I can't imagine coding without it. I introduced a few co-workers to the software to hear their opinions, knowing each of them already had established their own favorites ­ NetBeans, Forte, JBuilder, JRun Studio, and Visual J++. They're all using IDEA 3.0 now."

Monday, November 04, 2002

Object Technology: OOPSLA 2002 Starts Today


The biggest object technology event of the year is always the Object-Oriented Programming, Systems, and Languages conference. Key events are the preconference workshops and the Agile Alliance is sponsoring one today. You can review some draft position papers at:

OOPSLA 2002 - Agile Processes Workshop II

A particularly interesting set of slides is Agile Management: Why Agile Methods are Better for Business by David Anderson. The slide below focuses on inventory in software development. Reducing inventory is at the core of maximizing throughput in a business. It's the main reason that Dell is the number one computer company. How can we do it in software?

Many companies have more software in inventory than they have delivered to customers. Much of it becomes shelfware and is never delivered in some companies. This drastically reduces productivity. Agile processes focus on building the least amount of software possible to meet the immediately obvious requirements and delivering it in weeks, not months or years. It tries to be more like Dell and less like those other companies that don't exist any more.

For an excellent analysis of lean development, see Mary Poppendieck's contribution to the OOPSLA Workshop: Lean Development: A Toolkit for Software Development Managers.