American Electric Power's (AEP) 400 software developers weren't stranded on separate desert islands. It just seemed...
like they were because they had no way to share software code.
Developers working in different offices in different states -- no matter how common their problems -- would write code to address problems as if for the first time, never having a chance to take advantage of their colleagues' past efforts.
"Everybody was always reinventing the wheel," said Joel Zinn, a senior IT consultant in AEP's application services department in Tulsa, Okla.
Zinn knew the company had to improve the software development process. He wanted to custom build a knowledge management software application from the ground up, and he believed Visual Studio .NET and its object-oriented programming language would be the right tool.
He'd read about Microsoft's .NET technology and was intrigued by the promise of improved debugging and user control features. Previously, Zinn and the AEP's application services department had little experience with object-oriented programming, but this Visual Studio .NET project would steep them in the language.
Zinn shared his problem and proposed solution with Microsoft, and in mid-2001 Microsoft assigned a consultant to AEP. The consultant worked onsite with AEP two days a week for three months, Zinn said.
During the past 12 months, AEP has created and slowly grown the developer subscriber base for a browser-based online knowledge management system. Two hundred developers in Tulsa and Columbus, Ohio -- half of the company's developers -- have created six of what Zinn calls "communities of practice," serving engineers working with Java, Visual Basic, Visual Studio, project management, mainframe and mobile computing. The application includes a calendar and allows for document sharing. It also allows engineers to set up private, temporary development teams. The application runs on SQL Server 2000, is inside the firewall and uses NT authentication.
After having had the benefit of some Microsoft handholding, Zinn is pleased with the custom application.
"Visual Studio .NET came with a very quick, low learning curve," Zinn said. "It's been a positive experience."
Visual Studio .NET brought more than full-fledged object programming to AEP. Microsoft's .NET technology allowed the utility company to do several things it couldn't previously.
The biggest impacts of .NET were in debugging and user controls, Zinn said. "Debugging was available in Visual Studio 6, but it did not always work," he said. "And you could not really debug across projects in a solution. In Visual Studio .NET, debugging works every time and allows cross-project, cross-language debugging."
Visual Studio .NET's addition of user controls allowed AEP to create a portal-like application so that subscribing developers can dynamically change content in certain areas of a Web page.
AEP has 11 utility companies in 11 states supported by 400 developers, the majority of which work on mainframes. But as the company grew through acquisitions, developers were working more often with other languages, such as Java and Visual Basic. The need for developers to share information reached critical mass, Zinn said.
The idea for a custom-designed knowledge management application evolved during the past few years.
Beginning in 1999, AEP's IT department tried to custom design a portal to allow developers to share software code components and tips. But Zinn and his colleagues couldn't dynamically deploy the applications, meaning AEP had to re-deploy the application every time the software was modified.
Zinn wanted to design a flexible application that would allow AEP developers to change their customized layout, options and features on the fly without having to re-deploy the application when finished.
Zinn and IT architect Chris Adams began working with Visual Studio .NET in May 2001, nine months before Microsoft released version 1.0. Neither IT pro had any formal training in .NET or object-oriented programming, but they did have experience with Microsoft Visual Basic and Visual InterDev.
They walked through Visual Studio .NET tutorials, and two weeks later they felt comfortable enough to start developing software. "You can be productive knowing just a little bit," Zinn said. "Once you make the leap to object-oriented programming, the rest are follow-on skills."
When Microsoft released Visual Studio .NET 1.0 in February 2002, Zinn recompiled the custom application without problems.
Still, adoption of the knowledge management system has been slow. Since it went live in November 2001, only half of AEP's developers have signed up, with the largest group forming around Visual Basic.
Mainframe developers are the hardest to persuade because they're not used to going to the Web for code information, Zinn said.
A knowledge database is only as good as the contributions it gets, and building momentum with hundreds of developers isn't easy. Zinn hopes the custom-designed application increasingly saves developers from writing the same software code over and over.