4-page Case Study - Posted 11/21/2007
Views: 1750
Rate This Evidence:
New Tools Help Solution Developer Deliver Richer Web Applications, Raise Productivity
MethodFactory, a developer of Web applications for organizations of all sizes, is always looking for ways to enhance solution development. The company’s move to Microsoft® Visual Studio® 2008 is making it easier to deliver rich Web applications, which in turn is leading to a better end-user experience and increased client satisfaction. In addition, developers are more productive when coding and debugging, especially when working with JavaScript, Asynchronous JavaScript, and XML (AJAX), or data sources. Collaboration also has improved because MethodFactory now has a centralized repository for all project data and deep visibility into all aspects of the application lifecycle.
Situation
Founded in 2000, MethodFactory has helped hundreds of organizations of all sizes use the Web more effectively. The company’s services cover all phases of the application lifecycle, including discovery, planning, software development, deployment, and ongoing support. MethodFactory also operates a tier-one facility for hosting mission-critical customer solutions.
All MethodFactory solutions are based on the Microsoft® .NET Framework and run on Microsoft software. Prior to July 2007, developers used the Microsoft Visual Studio® 2005 Professional Edition development system and Visual Studio 2005 Team Foundation Server for source-code control. Although the development environment and tool set provided many benefits, it left room for improvement. Specific areas of functionality that MethodFactory was looking for included:
- Asynchronous JavaScript and XML (AJAX) development. MethodFactory was an early adopter of AJAX, as a way to facilitate more efficient client-side execution and thus deliver a more responsive end-user experience. However, AJAX support was a separate download for Visual Studio 2005. Even then, the productivity-enhancing features and advanced debugging capabilities in Visual Studio 2005 did not fully support AJAX, thereby limiting developer productivity.
- Data access. Many MethodFactory solutions are data driven. Developers had to use different methods to access that data depending on where it resided, such as in a Microsoft SQL Server™–based database or XML document. Required code syntax and programming models differed from those used for the rest of an application, preventing developers from using their preferred C# programming language and object-oriented design techniques.
- Managing the development process. Although MethodFactory used Visual Studio 2005 Team Foundation Server for source-code control, the company was not using its other features. Instead, developers used a SharePoint® site to track bugs, and developer tasks were managed and tracked using Microsoft Office Project Professional 2007. Having information in several different places made it hard to track project status and increased the difficulty of tasks such as testing and debugging because people had no easy way to determine which files were changed when implementing a new feature.
“As a developer of mostly Web-based solutions, we’re always looking for ways to deliver richer and more responsive Web applications, enhance developer productivity, and improve application lifecycle management,” says Jonathan Carter, Technical Lead at MethodFactory. “As a result, we’ve always been early adopters of new technology.”
Solution
MethodFactory improved all aspects of the software development process by adopting the latest products and technologies in Microsoft Visual Studio Team System, an integrated solution comprising tools, processes, and guidance to help all members of a development team improve their skills, be more productive, and work together more effectively. Specifically, MethodFactory is taking advantage of:
- Visual Studio Team System 2008 Team Suite, which provides developers with full support for debugging and IntelliSense® technology when using JavaScript and AJAX. (Visual Studio Team System Team Suite combines features of the various role-based editions of Visual Studio Team System, which is useful for MethodFactory developers, who often play multiple roles within a team.)
- Visual Studio Team System 2008 Team Foundation Server, which gives MethodFactory a centralized repository for all project data and deep visibility into all aspects of the application lifecycle.
- New features in the .NET Framework version 3.5 and the C# version 3.0 programming language, which developers are using to write cleaner, more understandable code.
Ease of Adoption
The company started to use Visual Studio Team System 2008 Team Suite in mid-2007, when MethodFactory was six months into the development of a Web-based budgeting application for a government client. “We had been building the application with Visual Studio 2005 and version 2.0 of the .NET Framework,” says Carter. “Upon evaluating Visual Studio 2008 Beta 1, we saw that it was more than stable enough—and that moving to the latest technology would provide several advantages.”
 |
Even with the upgrade to Visual Studio 2008 in the middle of the project, we still finished early. If it had been available at the start of the project, we would have finished even earlier. |
 |
|
Jonathan Carter Technical Lead, MethodFactory |
|
|
The code migration wizard in the Visual Studio 2008 development system allowed Carter to migrate the entire application—all 250,000 lines of code—to run on version 3.5 of the .NET Framework in just a few minutes. “The process was quick and painless,” he says. “There were absolutely no errors, and the application functioned at 100 percent.”
MethodFactory finished the last three months of development using the most recent versions of Visual Studio and the .NET Framework. “Even with the upgrade to Visual Studio 2008 in the middle of the project, we still finished early,” says Carter. “If it had been available at the start of the project, we would have finished even earlier.”
Today, all MethodFactory developers are using Visual Studio Team System 2008 Team Suite, even on projects that run on previous versions of the .NET Framework. “Developers traditionally had to use tools that were bound to a single version of a runtime platform,” says Carter. “With the multitargeting capabilities of Visual Studio 2008, we can all use the same tool set while targeting versions 2.0, 3.0, or 3.5 of the .NET Framework. Now we all can benefit from the enhancements in the new tool set without necessarily having to migrate our application code.”
Improved Web Development
After migrating to the latest development environment, which provides full support for AJAX, MethodFactory developers were able to more easily write and debug the AJAX pages used in the budgeting application. (In version 3.5 of the .NET Framework, support for AJAX is included in Microsoft ASP.NET 3.5, which is the collection of classes in the Framework 3.5 for the development of Web applications.)
Other new features in ASP.NET 3.5 that MethodFactory took advantage of on the project include:
- The ListView control, which combines the capabilities of other list controls (such as DataGrid and Repeater) while providing greater control over the HTML markup generated.
- The DataPager control, which extends the ListView control with paging capabilities. (One advantage of a separate control is that it provides greater flexibility with respect to the control’s appearance and where it can be placed on the page.)
- The LinqDataSource control, a new data source control (like the ObjectDataSource and SQLDataSource controls in ASP.NET 2.0) that makes it easy to declaratively bind ASP.NET user interface controls to “LINQ to SQL” data models. (LINQ is discussed below.)
Easier Data Access
Another feature of the .NET Framework 3.5 that MethodFactory took advantage of on the budgeting application was Language Integrated Query (LINQ), which allows developers to more easily work with disconnected data sets by using the C# and Microsoft Visual Basic® programming languages to write syntax similar to that of Structured Query Language (SQL). In particular, MethodFactory used LINQ-to-DataSet as a way to query application data. (The .NET Framework 3.5 includes LINQ provider assemblies for .NET Framework collections, SQL Server–based databases, Microsoft ADO.NET data sets, and XML documents.)
“In my opinion, LINQ is the single greatest feature in Visual Studio 2008 because it allows us to work with data in a consistent way, regardless of its type,” says Carter. “Data access is now much easier and more intuitive, requiring about one-third the code that it used to take and enabling me to interact with data as objects and take advantage of features like IntelliSense technology. I’ve already written thousands of lines of code using LINQ and haven’t had one problem.”
Language Enhancements
Developers also are taking advantage of enhancements in the C# 3.0 programming language to write better, cleaner code. A few of those enhancements include:
- Extension methods, which allow developers to add new methods to the public contract of an existing .NET Framework common language runtime type, without having to subclass it or recompile the original type.
- Lambda expressions, which enable developers to declare method code inline instead of with a delegate function. In this way, they can use a more concise syntax than is possible with the anonymous methods feature introduced in C# version 2.0.
- Anonymous types, which provide the flexibility to create an instance of a class without having to write code for the class beforehand. (When used with LINQ, anonymous types enable developers to easily query arbitrary structures of data at run time.)
More Than Just Source-Code Control
When MethodFactory upgraded to Visual Studio Team System 2008 Team Suite, the company also upgraded to Visual Studio Team System 2008 Team Foundation Server and expanded its use beyond just source-code control to include bug tracking, the management of work items assigned to developers, and the management of unit tests and load tests, all of which are stored in the same repository for easy access, correlation, and reporting. MethodFactory plans on using the agile software development methodology template provided in Team System Team Foundation Server as a starting point for enforcing its own project lifecycle methodology. Called MethodFactory Development Method, that methodology is designed to ensure that delivered solutions meet both technical requirements and end-user business needs.
“Today we have 25 projects in Team Foundation Server,” says Carter. “Using it to manage and track work items has helped a lot because we can now easily associate a work item with checked-in code, and its reporting features give us great real-time visibility into project status. Although we’re just starting to explore the capabilities of Team Foundation Server, we’re already getting a lot out of it.”
Benefits
With its new software development environment and tool set, MethodFactory is delivering enhanced Web experiences, handling data more smoothly, writing less code, and improving application lifecycle management. In turn, those capabilities are leading to increased client satisfaction, enhanced developer productivity, more effective collaboration, and an improved ability to take advantage of other Microsoft software as an application platform. “Visual Studio 2008, the .NET Framework 3.5, and C# 3.0 all provide significant advantages over previous versions,” says Scott Auer, Project Manager at MethodFactory. “Not only are we now delivering better Web applications, but we’re also delivering them faster and more consistently than ever before.”
Richer Web Applications
MethodFactory is taking advantage of improved AJAX support to deliver richer, more responsive Web applications, which in turn lead to a better end-user experience and increased client satisfaction. “As a technical lead, I’m much more likely to recommend the use of JavaScript because it’s now far more predictable to write, de-bug, and maintain,” says Carter. “Similarly, now that AJAX is easier to use, we’re taking advantage of it whenever we can.”
Improved AJAX support also makes it easier for developers to deliver more secure applications, as the company did on the government budgeting application. “We had a Web form with 50 fields,” says Carter, “and if one field changed, we had to recalculate several others. For security purposes, we didn’t want to put the business logic for those calculations in JavaScript, which would have made it visible within the browser. We used AJAX to call the Web server and do the calculations there, where end users can’t view the business logic.”
Increased Developer Productivity
MethodFactory developers now are more productive—able to solve complex business problems faster and with less effort. “New features such as LINQ, AJAX support, JavaScript-compatible IntelliSense and debugging, and C# language enhancements are making individual developers at MethodFactory at least 40 percent more productive,” says Carter. “Today, developers not only spend less time thinking about how to develop a solution to a problem, but also have to write less code to implement that solution and expend less effort on debugging it. We’re now pulling in estimates for current and future projects because of the enhanced developer productivity we’re now seeing.”
The government budgeting application is a good example of how developers are more productive because they have to write less code. “As soon as we could, we started rewriting the application to use LINQ-to-DataSet because it reduced the amount of code, thereby making the application more maintainable,” says Justin Kroush, Software Developer at MethodFactory. “On one piece of logic that calculates the entire budget, using LINQ reduced the number of lines of code from 3,100 to 2,100.”
Improved Team Collaboration
Having a central repository for all project data has significantly improved collaboration, as have many of the features in the .NET Framework 3.5 and C# 3.0. “Features such as LINQ and the new language enhancements in C# 3.0 make it easier to understand code you didn’t write,” says Carter. “It’s now much easier to jump in and lend a hand if someone falls behind, or to debug someone else’s code.”
Having all project data in one place also is improving team collaboration by helping to keep everyone informed of project status—and making it easier for people to move between projects now that source-code control, work item tracking, and bug tracking are consistent across all projects. “Add the collaboration benefits provided by Team Foundation Server to the increase we’re seeing in individual developer productivity,” says Auer, “and our overall team output is at least 60 percent greater.”
Support for the Latest Platforms
The company’s use of Visual Studio 2008 is also making it easier for MethodFactory developers to take advantage of other software in their tool set—namely, Microsoft server products such as the Windows Server® 2003 operating system, Microsoft Office SharePoint Server 2007, Microsoft Commerce Server 2007, and SQL Server 2005 database software. “Visual Studio 2008 accelerates our development of solutions on Microsoft software and allows us to more fully and easily take advantage of its strength as an application platform,” says Carter. “For example, we have several Web sites based on SharePoint Server 2007 currently in development, and the new SharePoint Designer in Visual Studio 2008 is making development a lot easier.”
2008 Launch Wave
Windows Server 2008, SQL Server 2008, and Visual Studio 2008 provide a secure and trusted platform for creating and running your most demanding applications. Combined, the products provide a solid foundation for next-generation web applications, broad support for virtualization technology, and access to relevant information. Advanced security technology, developer support for the latest platforms, improved management and web tools, flexible virtualization solutions, and access to relevant information from throughout your organization enable a broad array of technology solutions.
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234 in the United States or (905) 568-9641 in Canada. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
www.microsoft.com
For more information about MethodFactory products and services, visit the Web site at:
www.methodfactory.com