Overview The Microsoft .NET platform marks a paradigm shift in the way applications are developed for the Internet. It incorporates open standards that enable businesses to collaborate over the Internet with minimal investment. Hanu Software Solutions Inc. (HSS) is an expert in using .NET to develop solution frameworks and applications. HSS has established a dedicated Center Of Excellence (COE) that leverages the company’s expertise in the .NET platform for the benefit of its customers. The HSS COE team delivers technical excellence through improved system architectures, applications development capabilities, and reusable enterprise components, and also focuses on building business solutions using existing and emerging .NET technologies and standards. The .NET Center of Excellence at Hanu Software Solutions Background Despite all the attention given to returns on IT investments, little progress has been made in linking all the elements of IT to what a business is trying to do. Managing IT investments, and demonstrating the value of IT to a business, are more challenging than ever, and most businesses seem to be losing ground. Often, management asks CIOs to justify the very IT components that provide value to the business. This white paper describes strategies that HSS has developed to maximize its efficiency in delivering .NET solutions to our customers. As a software service organization, whose business itself is IT, HSS has learned how to align its operations on technology-centric Centers Of Excellence (COEs). What is a COE? The term Center of Excellence (COE) is a generic phrase used across many types of institutions, mainly in education, research, and healthcare. The IT industry picked up this phrase and started using it to define the collection of tools, resources, and skills used to perform specific development and maintenance tasks by a focused team working at a single location. Sometimes “COE” became more of a marketing term, with little substance behind it, for IT. This was because IT service organizations happen to be project-centric organizations with defined schedules and objectives, in contrast to other departments that may not have the vision, longevity, and resources to maintain a long-term delivery system focused along a common thread. Making Business Sense From the start, HSS has had a strategy of delivering value-added, cost-effective solutions to its customers on a continuous basis. As the company grew, HSS saw the need for a common set of processes and procedures that would allow its developers to create solutions quickly and leverage project knowledge across projects, so that the company can deliver continuously-improving services and solutions. This need also mandated that all specialized tool sets, languages, and the knowledge of how to use them be available to HSS engineers in a structured and defined system, enabling them to develop new solutions flexibly, faster, and at lowered costs. Enter the HSS Center of Excellence. The Elements of an HSS COE HSS has established a structure for all of its COEs, consisting of the following key elements: 1. Languages and Technologies 2. Tools 3. Process 4. People Languages and Technologies Each COE includes various programming languages, technologies, development libraries, and compilers related to the particular technology domain of that COE. For example, .NET COE uses the following technologies: · Languages: C#.NET, VB, VB.NET, ASP, ASP.NET, C++.NET, JavaScript, VB Script, XML, XSL, XPath, and AJAX. · Web Services: SOAP, XML RPC, and WSDL. · Distributed Technologies: COM/COM+/DCOM/CORBA, RPC, and NET Remoting. Tools The HSS development tool set is an important element of the company’s unique selling proposition, namely, its ability to deliver solutions for many different life cycles, budgets, and timelines. HSS does not believe in developing a new solution from scratch for each new project. Its tool set includes: · Engineering tools: GUI controls, reusable components, generic data access layer, SQL data scriptor, SQL schema scriptor, SQL compare, and many more. · Migration Tools: VB to VB.NET , VB.NET to C Sharp, ASP to ASP.NET, PHP to ASP.NET. · Process automation tools: defect management, VSS, dashboard, line counting, MS Project. HSS also employs tools for analysis, utilities, and controls. Process Process is important at HSS. The processes that HSS uses are documented and defined in its quality management system (QMS). All HSS development engineers follow these processes. The QMS implements industry best practices and is based on ISO quality standards and on the Software Engineering Institute’s Capability Maturity Model (CMM), and includes: · Formally documented Project Management processes, including Planning, scheduling, progress monitoring, reporting, communications, issues, delivery management and many more. · Formally documented Engineering Processes, including configuration management, requirements development, design, construction and unit test (UT), system testing, and user documentation development. · Comprehensive quantitative process measurements and control, including productivity measurement, schedule variance tracking, defect density reporting, and effort variation tracking. HSS engineers follow the following best practice during a software project lifecycle to reduce the development schedules as well as the schedule volatility: 1. Inspections - At each stage of development or maintenance, HSS performs a detailed, technical peer review of the software design and code implementation. Identifying and fixing errors at this early stage prevents bugs from entering the code, saving time and expense, and avoids bugs in the delivered software. 2. Component Reusability - HSS has developed a library of more than 100 frequently-used software components typical in .NET applications. These components are tried-and-tested, have proven designs, and are free of critical bugs. The components can be re-used without change, or with modifications. At the design phase of a new project, HSS engineers identify those components suitable for the new application. Only code unique to the application is designed and written from scratch. Building existing, high-quality software in this way into a new application saves the HSS customer time and expense, and helps ensure quality in the deployed application. 3. Change Control Board - The HSS QMS requires software developers to strictly adhere to the defined requirements for an application. On moderate to very large projects, a central control mechanism is needed to ensure that every change is properly considered and coordinated. That’s why on such projects, HSS establishes a Change Control Board. It includes the members from design, development, and test teams. It also sometimes includes the members from the customer team. Its purpose is to ensure that every baseline change is properly considered by all concerned parties and that every change is authorized before implementation. The CCB is the body that reviews all major change requests and approves it, disapproves it, or defer it for more information. Using this Board prevents “feature creep,” a typical problem in the software development industry, keeping the development schedule on track and with the features that the customer expects. 4. Nightly Software Build and Smoke Test - Each night HSS Build Group makes a new build of an application and run a series of tests that verify its basic operation. Making builds nightly enables the engineers to find and fix integration errors almost immediately. It also enables HSS to track feature implementation against the schedule, because it shows on a daily basis the features that have been implemented. 5. Risk List and Plan - As part of its QMS, HSS develops a list of the top-10 risks for each development project, together with a plan for addressing each risk should it materialize. The HSS engineers assess the risks weekly, resolving any and identifying potential new risks, minimizing impact to the schedule and to software quality. People Quality human resources are the fundamental asset in any organization. HSS staffs each COE with employees who are skilled in the set of tools, languages, and products used by that COE. The company hires engineering graduates who are experienced, trained, and certified in internationally recognized IT skill sets. For example, people on the .NET COE are certified MCPs and MCSDs. HSS recruits the finest engineering talent from the best universities and puts them through six weeks of rigorous classroom and on-the-job training. HSS also provides ongoing advanced programmer training for all staff. What this means to HSS customers is that their solutions, products, and software are developed by certified resources, so customers need not worry about the people deployed on their projects. This also means that HSS customers receive value-added recommendations for long-term planning and can develop IT roadmaps with the confidence that the recommendations from HSS are based on the latest knowledge. The .NET COE: Delivering Agile Solutions on a Microsoft Platform The HSS COE for .NET is aligned along the Microsoft platform and tool sets and provides business-critical solutions to a variety of technology and business domains. This COE has collective IT experience of 200 person-years and .NET experience of more than 75 person-years. Other key facts are: Staff 45 Started 2002 Number of executed projects 30 Location Gurgaon, India Components of the .NET COE This diagram illustrates the building blocks of the .NET COE. Central is the HSS quality management system (QMS), which controls the activities, tools, and resources of the other elements. Faster.NET – The HSS Development Framework for .NET Solutions Continuing improvement work with the .NET COE enables HSS to offer scalable, on-demand .NET solutions to customers in a variety of industries. The company calls this Faster.NET. Its key elements are: · Pre-assembled, reusable software components · A reusable engineering tool set that does not require customization for each project, thereby improving development speed · A reusable set of architectures or Solutions Blue Prints (SBP), saving the time of developing software architecture from scratch. · Qualified and certified engineers The Faster.NET framework reduces typical application development time by approximately 20% to 40%, depending on the project, its life cycle phase, and how extensively the customer wants to apply the Faster.NET development methodology. Key Process Measurements To ensure the effectiveness of the .NET COE and to be able to make continuous improvements, HSS measures the key aspects of its process. Productivity HSS measures development and testing productivity. The metric for development productivity is lines of code written per person per person day. As a typical example, for a recent project on which HSS added features to an existing application, the company averaged 80 to 85 non-commented lines of code (NCLOC) per person day. Redevelopment time is generally 25% to 30% less than for a new project, thanks to savings at the requirements phase. Estimation accuracy A critical aspect of the HSS ability to deliver projects on time and on budget is its ability to accurately estimate the code size of new projects. HSS begins with the size of the existing .NET modules, then estimates what would be needed to add the new features and functions. The company’s estimates always closely match the outcome. Review effectiveness HSS measures the effectiveness of its code reviews by counting the number of defects found during the software test phase. The review process finds most of the coding bugs, saving development time fixing bugs at the test phase. Currently, the company’s review effectiveness is 88%. Delivered defect density HSS uses the internationally accepted standard of 0.5 defects per 1,000 NCLOC to measure its delivered defect density. The company’s software consistently meet this standard. The COE Value Proposition to Customer Organizations To summarize, the Hanu Software Solutions .NET COE benefits customers by providing: · Specialized and industry-certified engineers · Improved time to market · A specialized, automated Quality Management System · Improved release management Case Studies Here are two case studies that illustrate the real-world benefits the HSS .NET COE approach to application development brings to customers. The first case study describes a project where HSS engineers had to migrate a legacy application onto a new .NET system. The second case study describes how HSS developed a fresh application for a start-up business. Case Study 1: Migrating a Legacy Application to .NET A real estate and property management company’s legacy application, written in ASP, was no longer meeting the company’s growing business needs, and required replacement. This project offered several challenges: · Provide bug fixes for the ASP system. · Develop a new version of the application in .NET with the same feature set and ability to access the existing database. · Implement new features in both systems, for a consistent feature set. · Devise a phased migration from the legacy to the .NET application, while keeping the migration transparent to the end users. To meet these challenges to the satisfaction of the customer, HSS took a long-term strategic partnership approach. At the start of the project, HSS used its ASP-to-ASP.NET migration tool to port two million lines of code successfully in less than one month. During the migration phase, the engineers implemented a significant architectural improvement by removing all of the SQL queries and replacing them with approximately 400 stored procedures. This change increased performance while making the application business layer more secure. Simultaneous with the software development phase, the system test members of the .NET COE prepared their test cases based on the features of the ASP application. This ensured that system test could begin as soon as development was completed, and that the new version would be thoroughly tested for all of the features in the original. The effectiveness of this approach became apparent to the customer when, during acceptance testing, the customer found only six bugs, which, by the way, were fixed within 24 hours. The HSS .NET COE processes enabled the customer to put the new application to use quickly. Because these processes are cost-effective, the customer was able to enhance the application with more features, increasing the customer’s competitive advantage. Case Study 2: Creating a New Application A start-up business wanted customized contact management and sales systems based on the XML RPC web-services-based client/server protocol. This project offered several challenges: · The client’s preferred technology, phpGroupWare, was not stable at that time. · Design and develop the client/server model with the client running on Windows and the server on the Linux operating system. · Develop a polished, Windows-based GUI. · Develop the application in a cost-effective way for this start-up company. To meet these challenges, HSS assigned a .NET COE team to work exclusively with this customer. This exclusivity enhanced the customer’s confidence and ensuring effective communications. Because of the instability of the early version of phpGroupWare, the COE team fixed the bugs themselves, and enhanced the phpGroupWare server with features requested by the customer. Once the client/server architecture was designed to the customer’s requirements, HSS developed a prototype in order to verify the architecture design. The prototype was implemented using an ASP.NET client and a phpGroupWare server. For the GUI, the COE chose InterSoft WebGrid, which best met the customer’s interface requirements. Once the prototype was approved, the .NET COE team started the implementation. To save time, the system test engineers wrote the test cases simultaneous with the development of the application. Once the application met the HSS QSM standards for release from system test, the customer started the acceptance test phase, with support from the .NET COE team. The HSS .NET COE processes enabled development of the new systems on budget and deployment on schedule. The application works as expected, implementing all required features. The customer and their sales people are very happy with its power and ease-of-use. HSS Develops .NET Solutions for Many Industries HSS develops .NET solutions for a wide range of industries. Some of these industries and typical applications are described below. Real Estate — HSS can help realtors develop information-rich, easily navigated Web-based portals and desktop applications enabling them, their customers, and prospects to easily access accurate, up-to-date information. Telecommunications — For telecom companies and wireless service providers, the HSS expertise in .NET technology can build reliable, scalable hosting infrastructures; integrate computer and telephony technologies; and enable consumers and businesses to efficiently access information from PCs and other devices. This enables telecommunications companies to use Web services to create new business value. Healthcare — Efficient, cost-effective integration of data from multiple sources is a necessity for organizations in the healthcare industry. HSS .NET solutions help providers and insurers realize improvements in areas such as claims payment, rate setting, pricing, marketing, care management, prescription benefits, eligibility verification, medical records management, and customer service. Retail — HSS makes it easy for merchandisers to use .NET technology to make information available to the people who need it, when and where they need it—from customers using a store’s web site to security personnel stopping fraud at the checkout to sales reps closing deals at customer sites. Entertainment and Media — Hanu Software Solutions is helping media and entertainment businesses realize the ability of .NET solutions to provide their customers with seamless media technologies, audio processing software, education industry solutions, gaming applications, and PDA-based gaming solutions. Manufacturing — With web-based information systems utilizing the .NET framework, manufacturers can integrate business and industrial processes, internally as well as with partners and customers. This integration is a real advantage in today’s competitive market. Hanu Software Solutions can help develop and deploy.NET-based solutions that deliver Web services benefits across the enterprise.
Headquarter & Onshore Technology Center - 74 Heather Ct Monmouth Jct., NJ 08852 PH: 732.668.3691 E-mail: asingh@hanusoftware.com Marketing Office - 23 Filare Street Irvine CA 92620 PH: 949.679.0778 E-mail: ltrombley@hanusoftware.com Offshore Solution Delivery Center (OSDC) - 270, Sector 17 A Gurgaon, India - 122001 PH: 011.91.124.5018494 VoIP: 1.732.658.5205 E-mail: msrivastava@hanusoftware.com