Editor's Note: Launching the new SearchWinDevelopment.com means expanding the breadth and depth of the topics that...
SearchVB.com covered. That, in turn, means providing helpful articles, tips and tutorials to a larger and more diverse audience.
In order to gain insight into what matters most to .NET developers and architects, we recently surveyed readers of SearchVB.com and sister site TheServerSide.NET. We asked a wide range of questions about existing and emerging technology, pain points in the software development life cycle and general trends in the IT industry.
The compilation and interpretation of survey data that follows blends intriguing data points with commentary from .NET programmers and industry analysts. We feel that it offers poignant insight into the issues that we will cover and the IT professionals to whom it will apply. If you want to share your thoughts with us, drop us a line. --Brian Eastwood, Site Editor, SearchWinDevelopment.com
A recent survey of more than 625 .NET developers and architects indicates that these IT professionals continue to grapple with the age-old challenges of requirements, testing and security, while simultaneously easing into new Web 2.0 technologies along with the latest lineup from Microsoft.
The findings of the SearchWinDevelopment.com reader survey show that not all .NET technologies are created equally. The ASP.NET AJAX framework, along with the concept of collaboration as embodied by SharePoint 2007 and Visual Studio Team System, appear to be gaining traction. The .NET Framework 3.0 tools, particularly Windows Communication Foundation, are not.
Before discussing those tools, however, we will first look at something with which all programmers are familiar -- the software development life cycle.
The many steps of the SDLC
"Requirements are difficult because people tend not to define the scope of what they want very well," said Gerry Kopelman, president and owner of SEP Associates Inc., in Northbrook, Ill., a software consulting and Web development and hosting company. "And by the time they get to testing, people are sometimes bored with the project and don't put all they have into it and tend to get a little careless."
In the area of testing, performance testing raises the biggest challenge, according to Mike Veitch, a technical designer for a company that develops email systems in the U.K.
"Functional testing is relatively easy because it's provable; performance testing, not so much," Veitch said. "You can define response times, you can prove something works and works well, but it's difficult to provide that information in a format a customer will fully understand. There's no easy way to define it."
For Scot Derrer, a senior programmer/analyst at Blue Cross of Idaho, the differences between a test environment and a production environment also raise issues. "The ultimate test comes when you move to production. You run into things can't anticipate until you get there." To help with that issue, Derrer's organization is using virtual servers to create a replica of the production environment.
Respondents also indicated that whether they're building client-based applications or Web apps, the issues of performance, scalability and security are top of mind. "Security is always a concern," Derrer said. His organization addresses security with "due diligence," which includes external audits and manual testing.
Security is the number one challenge for Veitch's organization, and he cites a lack of tools as a problem. "There don't seem to be very many decent ways or tools to test security. If you're running a product you've written in ASP.NET and want to test it across the board, I haven't seen anything."
Veitch also said developers can get too reliant on their frameworks: "There is a tendency to lean on the development framework to help safeguard you against making typical security-based mistakes."
Warming up to Ajax
In addition to dealing with longstanding issues like security, readers are stepping up to new technologies. More than one-third of respondents said they now use ASP.NET AJAX, Microsoft's Ajax framework.
"That almost perfectly mirrors some findings I did, [surveying] developers in late summer," said Jeffrey Hammond, a senior analyst at Forrester Research. Hammond said his base was half Java, half .NET developers. "Ajax is one of hottest trends overall. The benefits are easy for users to see and react to."
Interestingly, though, when managers were asked about Ajax adoption, the rate was lower, Hammond said. "It looks like it's quickly becoming a developer tool of choice, even though managers don't know that's happening. To some extent there's no purchase decision involved. They see results in terms of enhanced usability and better web ability, and they don't ask what's under the covers." In terms of ASP.NET AJAX, he said, "if you're already in the .NET space, it's natural to go in this direction vs. [bolting] something else on top."
Kopelman's shop is using the .NET Framework and is now looking at Ajax, albeit sparingly. "Some things Ajax would be good for, but for a lot of stuff we don't need Ajax. We would use the Ajax framework for the basic programming."
Although there is buzz around Ajax, Melinda Ballou, program director for application lifecycle management at IDC, said organizations should be cautious as well.
"It's easy to start doing something, but the challenge is in managing the complexity of graphically rich applications," Ballou said. "You need to test and change-manage these applications differently, which is only coming to the forefront now. Users need to think carefully about the lifecycle implications."
Collaboration with VSTS, SharePoint catching on…
In addition to with Ajax, also hot are team development and agile methodology, the top two development trends that survey respondents are keeping their eyes on. Along those same lines, a little more than a year after its introduction, roughly 25% of readers are using Visual Studio Team System, or VSTS, with another 15% intending to use it.
An adoption rate of 25% is "decent," said IDC's Ballou, but she questioned how deeply VSTS is being used.
"It's easy to underestimate how challenging it is for people to change their behavior," she said. "My question is: how consistently is it used across the lifecycle? My expectation is they're probably using one aspect, like test, where it may be readier for adoption. Microsoft developers are not used to using tools to combine these [lifecycle] pieces with modeling."
Along the lines of collaboration, more than one-fifth of readers are using SharePoint 2007, and another 15% are strongly considering a SharePoint 2007 deployment. It's an adoption rate Forrester's Hammond said seems about right. "The technology is little different than what people are used to. Folks who are thinking Web 2.0 and sharing, [they] naturally drift to SharePoint if they're in the Microsoft space. But a lot are still figuring out Web 2.0, so I expect to see more gravitating toward SharePoint.
Doug Rossi, an IT and network manager for a manufacturing company in Ohio; said his company will likely deploy SharePoint 2007 in the second quarter of next year. He said he anticipates using SharePoint to better organize historical company documents, calendars and HR features like a vacation lottery.
Veitch said there is definitely a market for SharePoint, and his company is developing around it for customers. "It appeals to our customers. There's quite a bit of buzz around the product, and there's very little else in that space."
…but not so for Web services with WCF
Moving a bit slower in terms of uptake is Windows Communication Foundation, which roughly 15% of respondents have adopted. Although Microsoft may have hoped for more, Hammond said that adoption rate, a little more than a year after the release of the .NET Framework 3.0, "is perfectly acceptable."
Hammond continued: "The biggest thing, which goes to .NET 3.0 in general, is that folks are relieved the upgrade from .NET 2.0 to 3.0 is much less problematic. A lot of folks are still gun shy after migrating from VB 6 to VB .NET, then from NET 1.0 to 2.0."
Gun-shyness aside, all developers today are "beleaguered," according to IDC's Ballou. With distributed development, complex sourcing and compliance initiatives, "there is a push on the part of developers to more closely manage what they're building," she said. Add to that Web 2.0, SOA and offshore outsourcing, and there is "a perfect storm of disruptive factors driving developers to focus more."
A shift toward agile helps, Ballou said, along with breaking projects into smaller chunks to get business benefits faster and improve quality, and managing better from a lifecycle perspective -- which speaks to the VSTS uptake. To that end, she added, the relationship between VSTS and SharePoint, and their interconnectedness, will be interesting to watch.