WHITE PAPER Continuous Software Quality through Technical Health Index M ost organizations evaluate the status of their software development activities on a periodic basis to ensure successful project delivery. Apart from the regular internal peer reviews of design/code, they perform periodic external audits using standard auditing methodologies to make sure that quality is high. Majority of these methodologies...
Abstract Most organizations evaluate the status of their software development activities on a periodic basis to ensure successful project delivery. Apart from the regular internal peer reviews of design/code, they perform periodic external audits using standard auditing methodologies to make sure that quality is high. Majority of these methodologies focus on macro level (eg. Focus on processes) and move away from verifying the actual quality of the software (eg. Verifying the quality of the design/code, adherence to good architecture/design principles & practices) at micro level. While a macro-level approach assumes that the process will fix majority of the micro level issues, in reality, that is not guaranteed.here, in this paper we are going to explain an audit process (followed in Aspire Systems) that computes the of a project. It uses information from team members/project documentation/software code to identify and fix problems. When it is done on a month-onmonth basis,it guarantees continuous software quality improvement Tool Audience Creating a comprehensive audit or review process / mechanism that gives micro level control is the key in successful execution of software development projects. Our project audit mechanism computes the (THI) of a project and offers an in-depth micro level indicator of the project health. What is? Scientific indicator of the health of projects;it is computed using technical parameters. As the name indicates, it is a number derived by analyzing the quality of the software from different aspects (software design, code quality, Consideration of NFR (non functional requirements) etc. The index range we follow: 0 0.5: Low, 0.51 0.74: Average, 0.75 0.95: Good, 0.96 1: Excellent. 1 Process 2 THI audits are conducted for all the development projects on a monthly basis.for maintenance projects, audits are conducted based on the need to assess certain milestones in the project. 3 Aspire s Quality Assurance team publishes all the projects along with the nominated THI auditors every 4 month. Auditors are typically experienced technical personnel such as Architects, Tech Leads etc THI auditor schedules a THI meeting with Project owner. During audit, project owner shares the details 5 of the activities done during the evaluation period. Audit happens at the battlefield (developer s cubicle) Auditors are free to choose any tasks / activities to review along with respective owner of the tasks. The task identified for review is then scrutinized against the applicable THI assessment areas to understand the project health. Continuous Software Quality through 2
Assessment Area Coverage Environment Source Code Setup Env.Setup-Dev/QA/Staging Code Synchronization Tools/Libraries/External Depen dencies Security/Access Check Requirements Requirement Analysis Implicit Requirements Non-Functional Requirements Technical Requirements Design High Level Design Low Level Design Impact Analsis Sequence Diagram Class Design DB Design Coding Coding Standards SQL Standards Code Efficiency Architecture Compliance Unit Testing Unit Test Cases Unit test Automation Release Release Procedure Implementation Versioning Deployment Packaging Distribution /Setup Automation Testing Automation Scenarios Automated Test Scripts Test Bed Regression Testing Functional Testing Functional Test Cases Negative Scenarios Integration Test Cases Test Coverage System Testing Performance Usability Other NFRs Load Security Compliance Environment Support THI is focused on achieving the following project objectives: Comprehensive requirements gathering, good design, high quality code and testing efficiency Evaluate technical attributes and artifacts (code, design docs, test plans) for all projects Facilitates adherence to Aspire s Producteering principles and practices Some of the Producteering practices reviewed in THI evaluation are: Perspective based UI design Quality of software architecture & usage of relevant design patterns Reusable components Prudent memory usage Server round trips Code quality (eg. How well exceptions are handled, how is caching done, how are sessions handled, code complexity, adherence to standards, etc.) Adherence of code to design Continuous Software Quality through 3
Unit Testing Defect Prevention practices Following picture will give the clear workflow of THI. Technical Architects from ATG perform THI Audit on every single project Findings are documented and reported through a central MIS system documented ATG Team THI Audit THI Findings Project team takes each of the findings and implement them in due course of time Any Best Practices that are followed in the project is duly captured and communicated to QA Best Practices Implementation Regular Knowledge Sharing Sessions are Conducted to create Awareness on the principles and practices THI Framework QA Team Knowledge Sharing Sessions Dashboard View of Technical Performance And Adherence to Principles & Practices THI Framework is continuously revised with new best practices to cope with changing technology and trends THI Summer Report Management Implementation & THI sample report Technical experts from Advanced Technology Group perform THI audits every month. THI audit includes the projects from all technology streams like dot net, Java, C++, PHP, Python, Delphi, etc. Action items from previous audits are reviewed to have proper closure. THI score is published in Company s intranet website http://projecthealth.aspiresys.com PM/PL act on the comments provided for correction and improvement in the THI audit every month THI score is used as a measure in the project s Monthly Status Review Meeting to get a micro level project health To make it clear, here is a report from an actual audit: Click here to download the THI Report in Microsoft Excel Spreadsheet. Continuous Software Quality through 4
Benefits Reviews are done by technical experts from other projects. Hence, it is a good mechanism to bring better/best practices from across the org THI Audit as a sampling exercise helps the project teams to improve the quality of deliverables on a continual basis Senior Management and other the Project stakeholders get a clear visibility on the quality of work THI helps in identifying the root causes of issues in the early stages of the project to address and mitigate risks in execution Enhanced customer satisfaction and continuously improving work quality Objective way of measuring quality of work is used as one of the feedback mechanism for appraisal of the project resources Teams with best THI scores are rewarded. Competitive spirit between project teams drive them enable to strive for better THI scores and hence work towards better quality. Conclusion THI in many ways brings out the best quality from project teams and offers micro level details of projects to the senior management and other stake holders. THI offers objective mechanism in evaluating the contents of technical artifacts like design documents, verifying code quality and overall execution of the project with respect to the set project objectives ABOUT ASPIRE SYSTEMS Aspire Systems is an Outsourced Product Development firm committed to helping our customers build software products better and faster. We work with some of the world s most innovative Independent Software Vendors and software-enabled businesses, ranging from start-ups to established industry leaders, transforming the way software is built. Aspire provides complete product lifecycle services, ranging from new product development and product advancement to product migration, re-engineering, sustenance and support. Our product development teams are spread between our Global Innovation Center in Chennai, India and offices in the United States. Aspire Systems India Private Limited Plot No 1/D-1, SIPCOT IT PARK, Siruseri, Tamil Nadu - 603 103 Tel : +91-44-67404000. Fax: +91-44-67404234 E-mail : info@aspiresys.com Web: www.aspiresys.com Continuous Software Quality through 5