Are you nimble enough? That seems to be the new buzzword in the Internet world. Nimble. Nimbleness. Nimbler. My development team is nimbler than yours. Being nimble is the name of the game today. It's not enough to be good developers, we've got to be quick developers.
What's driving this? What's wrong with the way we've been doing business? I can name that tune in two words the Internet. The sensationalism surrounding each new dot.com IPO has created a market in which the business plan is to be first at any cost. Many of the companies going public nowadays have a business plan that calls for them to lose money for several years in order to gain market share.
I'm not a strategist, but some of my colleagues who are assure me that there are precedents for this that are too important to ignore. It's almost always the first person in a market that controls the market share. Sometimes there's a significant financial barrier to switching. But often it may simply be inertia people tend to stay with what they know. Better the devil you know than the devil you don't.
Another contributor is the knowledge that in six months someone can completely rearrange a market with an innovative site. It was pointed out to me that 18 months ago, if you'd walked in to a hotel, or the office of an airline, and told them that today they would be selling their surplus to customers at a price the customer set, they'd have laughed in your face, if not tossed you out into the street and called the guys with the white coats. Today priceline.com is quietly laughing. All right, maybe gloating is a better word. "I told you priceline would be big, really big!" Beam me up, Scotty.
So what we have is an environment in which market share matters more than profitability, and one in which six months is an eternity. Web time. We're all now on Web time.
And that leads us to the "nimble" question. It's one thing to go in and do business analysis for several months prior to starting development with a company that already has a going business and looks at the Net as a way to either grow that business or fend off online competitors. Companies like Merrill Lynch could afford to hold back and get their sites down pat. They had the business, although the DLJs of the world were hurting them.
But to companies that have no business, every day is an eternity. You can add up the opportunity cost, then toss in the development costs, and begin to understand the pained look in the eyes of every prerelease CEO. The Internet has removed a number of barriers to entry in the marketplace, and anyone can build a site in their garage that can impact the world. Time is not of the essence. It is the essence.
And that makes development really interesting. Just like that old Chinese curse, "May you live in interesting times." Welcome to "interesting," population unknown.
So how do we accomplish "nimbleness"...or is it "nimbility"? I've got a set of answers that I think works, but it comes down to the same old answer to the question "How do you get to Carnegie Hall?" practice, practice, practice.
One of the first keys to nimbledom, to my mind at least, is having a team that's worked together before. Not necessarily everybody; there's room for newcomers on every project. But a core team that's jelled as a unit is a real jump start.
Another key to being nimble is familiarity with the tools, languages and paradigms used to do development. Use what you know; know what you use. When developers know the tools, they can focus on the project rather than on the environment.
Add tools that are complementary, not competitive. Look at your current toolset when selecting a new product. For example, several commercial personalization engines are available, some Java-based, some not.
It's a lot more difficult to integrate the ones that aren't sometimes speed-to-market should drive the technology decision, not marketing hype.
Develop, or buy, frameworks to increase productivity then learn them. My team has a framework that we spent a great deal of time perfecting, but it saves us months of development time every time we hit a new project. That's because we know how we're going to build it, and at least a quarter of the project code is already built because of the framework.
The value we can bring to the business world by achieving nimbleness is almost incalculable, but the true essence of nimbledom is speed. Web time waits for no one. In the time it took me to write this article and get it to press, someone nimble developed and built a new e-commerce site. And someone else is still in the planning stages.
Good luck, and stay nimble.
Sean Rhody is the editor-in-chief of Java Developer's Journal. He is also a principal consultant with Computer Sciences Corporation
where he specilaizes in application architecture particularly distributed systems.
He can be reached at: [email protected]