The Microsoft .NET platform marks a paradigm shift in the way applications for the Internet are developed. It contains open standards that allow companies to collaborate via 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 on the .NET platform for the benefit of its customers. The HSS COE team delivers technical excellence through enhanced system architectures, application development capabilities and reusable business components, as well as building business solutions using existing and emerging .NET technologies and standards.
The .NET Center of Excellence at Hanu Software Solutions
Despite all the focus on ROI on IT investment, little progress has been made in linking all elements of IT to what a company is trying to do. Managing IT investments and demonstrating the value of IT to a business is more challenging than ever, and most businesses seem to be losing ground. Often, management asks CIOs to justify the IT components that add value to the business.
This white paper describes strategies that HSS has developed to maximize efficiency in delivering .NET solutions to our customers.
As a software services organization whose business is IT itself, HSS has learned how to align its operations with technology-focused Centers of Excellence (COEs).
What is a COE?
The term Center of Excellence (COE) is a general expression used in many types of settings, mainly in education, research, and healthcare. The IT industry has picked up on 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 in one location.
Sometimes “COE” became more of a marketing term, with little meaning, for IT. This was because IT service organizations are project-oriented organizations with defined schedules and objectives, unlike other departments that may not have the vision, longevity, and resources to maintain a long-term delivery system focused on a common thread.
Provide business insight
From the beginning, HSS has had a strategy of continuously delivering cost-effective value-added solutions to its customers. As the business grew, HSS saw the need for a common set of processes and procedures that would allow developers to quickly create solutions and leverage project knowledge across projects so that the company could deliver continuously improving services and solutions. This need also required all specialized tool sets, languages and the knowledge to use them to be available to HSS engineers in a structured and defined system, allowing them to develop new solutions flexibly, faster and at a lower cost. Enter the HSS Center of Excellence.
The elements of an HSS COE
HSS has set up a structure for all its COEs, consisting of the following main elements:
1. Languages and technologies
Languages and technologies
Each COE contains different programming languages, technologies, development libraries and compilers related to the specific technology domain of that COE. For example .NET COE uses the following technologies:
Web services: SOAP, XML RPC and WSDL.
Distributed Technologies: COM / COM + / DCOM / CORBA, RPC and NET Remoting.
The HSS development toolset is a key element of the company’s unique sales proposition, namely its ability to deliver solutions for many different life cycles, budgets and timelines. HSS does not believe in developing a new solution for every new project. The tool kit includes:
Engineering tools: GUI controls, reusable components, generic data access layer, SQL data scriptor, SQL schema scriptor, SQL comparison and much 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 count, MS Project.
HSS also uses analysis tools, utilities and controls.
Process is important in HSS. The processes used by HSS are documented and defined in the quality management system (QMS). All HSS developers follow these processes. Implementing industry best practices, the QMS is based on ISO quality standards and the Software Engineering Institute’s Capability Maturity Model (CMM), and includes:
Formally documented project management processes, including scheduling, scheduling, progress monitoring, reporting, communications, issues, delivery management and much 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 practices throughout the life cycle of a software project to reduce development schedules and schedule volatility:
1. Inspections – At each stage of development or maintenance, HSS conducts a detailed technical peer review of software design and code implementation. Identifying and fixing errors at this early stage prevents bugs from entering the code, which saves time, costs and prevents bugs in the software provided.
2. Reusability of components – HSS has developed a library of over 100 commonly used software components typical of .NET applications. These components have been tried and tested, have a proven design and are free of critical bugs. The components can be reused without change or with modifications. During the design phase of a new project, HSS engineers identify those components that are suitable for the new application. Only code unique to the application is designed and written from scratch. By building existing, high-quality software into a new application in this way, the HSS customer saves time and costs and the quality of the implemented application is guaranteed.
3. Change Control Board – The HSS QMS requires software developers to strictly adhere to the defined requirements for an application. Medium to very large projects require a central control mechanism to ensure that any change is properly considered and coordinated. That is why HSS sets up a Change Control Board for such projects. It includes the members of design, development and testing teams. Sometimes it also includes the members of the customer team. The goal is to ensure that any baseline change is properly considered by all parties involved and that each change is authorized before it is implemented. The CCB is the body that reviews all major change requests and approves, rejects or postpones for more information. Using this board prevents feature creep, a typical problem in the software development industry, by keeping the development schedule on track and with the features that the customer expects.
4. Nightly Software Build and Smoke Test – Every night, HSS Build Group creates a new build of an application and runs a series of tests that verify its basic operation. By creating builds every night, the engineers can detect and fix integration errors almost instantly. It also allows HSS to track the implementation of functions according to the schedule as it shows the functions that have been implemented daily.
5. Risk List and Plan – As part of its QMS, HSS develops a list of the top 10 risks for each development project, along with a plan for addressing each risk if it occurs. The HSS engineers assess the risks on a weekly basis, resolve any new risks and identify potential new risks, minimizing the impact on planning and software quality.
Quality human resources are the fundamental asset in any organization. HSS staffs each COE with employees who are proficient in the set of tools, languages and products used by that COE. The company hires engineers who are experienced, trained and certified in internationally recognized IT skills. For example, people on the .NET COE are certified MCPs and MCSDs.
HSS recruits the best technical talent from the best universities and delivers six weeks of rigorous classroom and on-the-job training. HSS also provides ongoing advanced programmer training for all staff.
What this means for HSS customers is that their solutions, products and software are developed from certified sources, so customers don’t have to worry about the people who go into their projects. This also means that HSS customers receive value-added recommendations for long-term planning and can develop IT roadmaps with confidence that HSS’s recommendations are based on the latest knowledge.
The .NET COE: Deliver Agile solutions on a Microsoft platform
The HSS COE for .NET is aligned with the Microsoft platform and toolsets, providing business-critical solutions across a variety of technology and business domains. This COE has a collective IT experience of 200 person years and .NET experience of more than 75 person years. Other important facts are:
Started in 2002
Number of projects implemented 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
Continuous improvement work with the .NET COE enables HSS to offer scalable, on-demand .NET solutions to customers in various industries. The company calls this Faster.NET. The main elements are:
Pre-assembled, reusable software components
A reusable engineering toolset that does not need to be customized for every project, improving development speed
A reusable set of architectures or Solutions Blue Prints (SBP), which saves you time developing software architecture from scratch.