By Paul Hernacki
Microsoft’s .NET vision and the supporting framework, development tools, and servers mean some big changes for developers working on the Microsoft platform. So how will it affect you the first time you engage a team to build a .NET solution? Having worked with a consulting company that has deployed several enterprise solutions using .NET, I’d like to offer some insight on just what you can expect.
Scalable components become building blocks for bigger systems
.NET represents a significant shift in technology paradigms, allowing developers to build componentized, reusable functionality that is available across a network or the Internet regardless of platform. Imagine every .NET solution becoming a set of building blocks. Your developers can reuse, rearrange, and integrate these blocks easily with each successive solution. How about a workflow engine built for your call center suddenly fully leveraged for your IT help desk or your supply chain management system? Or a reporting application for specific Web browsers easily altered to be accessible via handheld devices?
If you take .NET to the next level, it becomes even easier to develop integrated solutions with partners, customers, and suppliers outside your enterprise. The very nature of the code and platform make it simpler and less costly, as I’ll describe below.
Most new technologies go through an adoption curve that gives you the opportunity to prepare slowly for their implementation. The .NET benefits I’ve seen realized from recent client projects are compelling enough that I advise you to consider speeding your pace along that curve. .NET offers a complete, well-thought-out, stable, and robust platform that's ready for prime time. You’ll serve your employer best by beginning to take advantage of it right away.
More choices for developers = education responsibility for managers
The changes .NET brings for developers are dramatic, and so is the learning curve for those developers who typically use Visual Basic COM applications. .NET languages like C# and VisualBasic.NET will give them choices they never had before.
What do these changes mean for managers? It means developer training and education is critically important to the success of your first .NET endeavors. Without a thorough understanding of the platform and framework, your team runs the risk of badly missing the mark on its first project.
In addition to providing training, seed your team, if possible, with experienced .NET architects and senior developers to help the whole team stay on track. There’s no substitute for knowledge and experience when it comes to architecture and design. .NET, with its current lack of available reference resources and third-party tools, makes this statement truer than ever.
Your first .NET project
You'll probably find that your .NET projects spend a lot less time in development than previous projects did. That's because .NET includes vast class libraries and an Integrated Development Environment that allows developers to build business logic and Web-based user interfaces significantly faster than before. However, you'll exploit this new time advantage only if you increase the time spent in analysis and design and if you rely on architects and engineers who have a comprehensive understanding of the framework.
You’ll also see your projects completed without all the workarounds you heard about in previous projects, and your team won't be forced to work weekends and nights to deal with technology shortcomings. Given proper design and planning, you will see smoother and more stable implementations. In my recent experiences, developers were actually joking that they were almost bored during the Quality Assurance phase because of the low number of issues and defects reported!
If you plan to outsource your development efforts, be certain the company you engage demonstrates .NET experience and provides references with systems that are in production. Question the company on its knowledge of current best practices, which are discovered daily.
The big picture
If you want to be a ".NET hero" in your organization, your best bet is to make the following points your top priorities:
- Spend more time thinking about enterprise reusability and how you can integrate new services with partners and customers.
- When working with your project teams, give the architects and developers the extra time they'll need for analysis and design.
- Train your developers, and seed the team with experienced .NET architects, if possible.
- Look for .NET experience when you outsource.
Remember that the real value of the .NET platform is not in delivering pigeonholed projects better, faster, and cheaper (although it can do that quite well) but in building solutions that can be easily leveraged throughout the enterprise and beyond.