The Elements of an Hanu Software COE
HSS has established a structure for all of our COEs, consisting of the following key elements:
- Languages and Technologies
- Tools
- Process
- 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:
1. C#
2. VB.NET
3. ASP.NET
4. Web Services
5. JavaScript, VB Script
6. XML, XSL, XPath
7. and many more
Tools
The HSS development tool set is an important element of our unique selling proposition, namely, our ability to deliver solutions for many different life cycles, budgets, and timelines. We do not believe in developing a new solution from scratch for each new project. Our tool set includes process tools, engineering tools, analysis tools, utilities, and controls.
Process
HSS has developed a quality management system (QMS) that documents and defines our software development processes. Implemented by all of our engineers, our QMS is based on ISO quality standards and on the Software Engineering Institute’s Capability Maturity Model (CMM).
The key components are:
- Inspections. At each stage of development or maintenance, we perform 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.
- Code Reusability. We have developed a library of more than 100 frequently-used software components typical in .NET applications. These components are tried-and-tested, with proven designs and free of critical bugs. Our components can be re-used without change, or with modifications. At the design phase of a new project, our engineers determine which components are 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.
- Change Control Board. The HSS QMS requires strict adherence on the part of our software developers to the defined requirements for an application. We have also established a Change Control Board, a group of engineers that reviews all major requests from developers or testers to make changes to the requirements. 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.
- Nightly Software Builds and Testing. At HSS, each night we make a new build of an application and run a series of tests that verify its basic operation. Making builds nightly enables us to find and fix integration errors almost immediately. It also enables us to track feature implementation against the schedule, because we can see on a daily basis which features have been implemented.
- Risk List and Plan. As part of our QMS, we develop a list of the top-10 risks for each development project, together with a plan for addressing each risk should it materialize. Our 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. At HSS, we staff each COE with employees who are skilled in the set of tools, languages, and products used by that COE. We hire primarily 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.







