| Interview
with David Hadden, President and Chief Technology Officer and W.
Boyce Byerly, PhD, Director of Research and Development of
the Durham, North Carolina-based firm New Course, a which builds
and markets ROI analytical tools for the corporate market.
java.org:
For starters,
tell us a little bit about your company and what you do.
New
Course:
Our company was founded in 1996. Our product, ProCourse, functions
as a single-source repository for all of a company's business
metrics. Though we're specifically marketing it to corporate trainers
at first,it isolates the effectiveness of any intervention and
filters out the noise. Companies can spend about 2 percent of
revenues on training. ProCourse tells a company which initiatives
are getting traction and which ones are not.
java.org:
What
kind of system have you built with Java? Is it 100 percent Java?
Is it a web-based application? ? Is it stand-alone?
New
Course:
All of the above. It is 100 percent Java. It can be deployed as
either a stand alone or in a portal mode as an application service
provider model. Or we could do it as a web-deployed application
behind a company's firewall. Currently, we are using JSP and servlets.
We are isolating all of the business logic away from the front-end
in the server. Although, we are thinking of using other Java strategies
for our next version
java.org:What
specifically are you considering for the next round?
New
Course:
We are looking at EJB, but right now we have straight JSP in the
front-end. It's a totally thin application. There are no client
pieces. A little bit of JavaScript here and there. No applets.
No Swing, although we are considering some of those technologies
for our next version.
java.org:What
would drive the move to EJBs?
New
Course:
Client activity with legacy databases and other corporate systems.
EJBs will make it easier for us to work with other products and
provide a very general way for us to hook into other people's
mechanisms.
java.org:Were
you actively shying away from things like Swing and applets and
all of that?
New
Course:
We were at first. We wanted to keep the application 100 percent
server-side because we are developing a new technology and we
didn't know how people were going to use it. We wanted the application's
deployment to be very simple, flexible, and portable.
java.org:Did
you consider platforms or languages other than Java?
New
Course:It
was pretty much a no-brainer to go with Java for our main product.
We actually tried to roll out a prototype in ASP. But it didn't
get off the ground and we ended up scrapping it early and just
focusing on the main version using Java.
java.org:How
did you hire the Java staff for this project?
New
Course:
From Monster.com and a consulting firm. We had about a 50-50 mix
between contractors and staff. The contractors were on a "contract-to-hire"
basis: we had on option to hire after six months.
java.org:What
were some of the difficulties involved in managing a software
project in a language/architecture that was basically new to you?
New
Course:
Although most of our senior staff's expertise is in C++, Java
didn't really present that many problems. It's a great technology,
it did what we wanted it to do and our issues revolved more around
specifications and scope and less around the technology.
java.org:How
much time did you spend between the initial system specifications
and first product?
New
Course:
Two months.
java.org:Two
months?!!
New
Course:
Believe it or not. All in all, let's call it three. But you know
that good software development is 80 percent planning and 20 percent
coding. And then, of course, the 10 percent testing that makes
110 percent that drives you over the deadline. But we actually
set some records for coding. The whole cycle was about 11 months.
java.org:How
often are you releasing new versions?
New
Course:
We are on the verge of releasing our first production version.
java.org:How
large was the development team?
New
Course:
Three programmers. One database guy. A project manager. A business
analyst. HTML/GUI person, and one QA manager and a couple of testers.
So ten people all told.
java.org:During
the design phase did you use UML or anything like that?
New
Course:
Actually, we used TogetherSoft. We spent a lot of time choosing
a design tool, because from the outset we really wanted the design
to be repeatable and not just floating around in people's heads
and on paper. So our senior system architect did an analysis of
Rational and TogetherSoft. We chose TogetherSoft because Rational
was kind of pushed towards Java while TogetherSoft was actually
designed with Java in mind. It did a lot of things automatically
that you had to do manually in Rational.
java.org:Did
you use their built-in requirements, tracking and use-case stuff?
New
Course:
Truth be told, we did a bunch of preliminary design work and then
wound up narrowing our scope very rapidly in the end, banded all
the design tools together and then set our hair on fire and went
off.
java.org:What
sort of server are you running on at present?
New
Course:
NT.
java.org:Will
NT handle you in terms of scale if you sell to a very large corporation
with a ton of users?
New
Course:
Probably not, but then it is a very easy migration to Linux, or
Solaris, or whatever because we're pretty platform independent.
That's one of the advantages of using Java, and one of the reasons
we are seriously thinking about EJBs for next time since they
will allow us to do attributive load balancing.
java.org:When
you consider going to EJBs, are you planning on retooling internally
or are you planning on hiring people with expertise in EJBs?
New
Course: We have those people
on board now.
java.org:Are
you planning on rewriting your previous code in your next version?
New
Course:
Yes, probably. We might be able to recycle some of the JSPs and
that sort of thing, but the guts are definitely going to get rewritten
and some of the things we have home-grown we might replace with
third-party tools in our next version so we don't have to maintain
it. It might even be more robust and have a little more functionality.
java.org:What
are some examples?
New
Course:
Our statistical processing components. We use Kavachart for graphs
and might go forward with that or use another tool like it.
java.org:There
are some companies that are Microsoft-only shops. Have you had
any trouble selling your system to these companies?
New
Course:
No, that's not even relevant. In fact, we are even giving more
business to Microsoft because we use Internet Explorer as the
client for our application and use SQL Server as the database.
Those are the only two things they have to buy off the shelf in
order to use our application and they are both Microsoft products.
java.org:Do
they manage the servers themselves?
New
Course:
Yes, if they do the deployment behind the firewall they're going
to have to manage the server themselves, but it's not that much
to do. Same with the SQL Server, it pretty much takes care of
itself. All you have to do is swap out the tape. And you would
be hard-pressed to find an IT shop that doesn't have SQL Server
running somewhere. And if the JSP version of our application gets
too big for Microsoft's shoes then we'll switch over to Oracle.
It's really not an issue because our customers don't care what
the plumbing is inside, they're buying the functionality.
September
20, 2001
|