Technical Assessments Provide Foundation for Custom Software

Performing technical assessments on the progress of your software development is crucial to optimizing the return of your investment. A technical assessment is a method of quality assurance that helps the software development team build a product that performs optimally to the software requirements specifications (SRS).

The software requirement specifications outline the software and hardware needs to complete the build, taking into consideration the current systems and licenses held by the client. Making the build fully compatible, which can lower the amount of mistakes made and speed up deployments. Technical assessments act as a quality-check, ensuring that all of the software’s components are finished and tested before working on the next stage of the development lifecycle.

Screen Shot 2018-05-03 at 10.32.05 AM

Measuring by the Baseline

To better understand the importance of performing technical assessments, you must first understand the principles of software configuration management (SCM) and its role in quality assurance.

SCM and Baselines

SCM is a software engineering practice that is comprised of tools and processes that help teams better manage changes made to a software’s components. It is a practice that is performed throughout the entire lifespan of the software development process providing a system of progress identification through the use of baselines.

Baselines are used as reference points of a completed set of key specifications, or work products, that make up a specific release of software and have gone through an approval process. Baselines are the basis for further development, where the next phase cannot be started without completing the phase before it. After a software component has been completed and baselined, any additions or alterations made to the software must go through change control procedures.

There are five baselines, each with their own work products that must be accounted for throughout the development lifecycle:

1. Functional Baseline: Completion of SRS

2. Allocated Baseline: Completion of primary design review and interface control documentation.

3. Design Baseline: Completion of advanced design specifications

4. Product Baseline: Completion of source and executable code units, product testing, user maintenance manuals, ongoing testing plans, and reports.

5. Operational Baseline: Completion of deployment and ongoing testing, user maintenance manual versioning plans, and ongoing reports.

The Importance of Baselines

Using baselines as a reference point allow software development teams to build software with consistence. This is especially important for projects that are complex, requiring large teams. By going through a process of change control, the software development team give management clear and accurate visibility in the progress and direction of the team, saving time and money.

Technical Assessments Using the Baseline

Assessing the baseline allows management to find gaps in their software development team’s efforts that can lead to implementation or compliance issues in the future. Similar to a SRS, baselines can be assessed for gaps using the standards set by the IEEE 828.

Using the IEEE 828

The standards set by the IEEE 828 were created by the Institute of Electrical and Electronics Engineers and describes the activities of a Software Configuration Management Plan.1

  • Describes the plan’s purpose, scope of application, key terms, and baselines.

  • Identifies the responsibilities and authorities for managing and accomplishing the planned software configuration management activities.

  • Identifies all activities to be performed in applying to the project.

  • Identifies the required coordination of software configuration management activities with the other activities of the project.

  • Identifies the tools and physical, human resources required for execution of the plan.

  • Identifies how the plan will be kept consistent with the SRS while in effect.

The IEEE 828 standards are a complete outline that assigns responsibilities of management and procedures to ensure that the team is performing optimally, and consistently. If the standard is in question, then it should be addressed at the baseline to assess whether the proper procedures were followed for the baseline’s accuracy. If there is ambiguity in the team’s procedures to the IEEE 828 standards, then corrective action is needed to ensure that the baseline is accurate and reliable for any future changes.

Maintaining high standards for accurate baselines is crucial to the completeness of future work. With each baseline is a new foundation to build from. Assessing the baseline allows teams to maintain the integrity and traceability of their efforts for efficient development.

Performing technical assessments to the baseline is a key quality assurance step used by software developers to ensure that development is happening efficiently and to the SRS. Tiempo development uses quality assurance measures throughout the development process, using Agile methodologies to create cost-effective software by using performance indicators established by the needs of the client. For more information about Tiempo Development’s use of quality assurance in Agile methodologies for high-quality software, read our whitepaper about the Tiempo Quality System.

About Tiempo Development

Tiempo’s nearshore business model has become hugely successful because we have been able to leverage the talent Mexico is fostering, making software development easier and more affordable. Our Mexico software development teams engineer powerful technologies that align with the goals and strategies of our customers for both their internal and public-facing development initiatives using our product lifecycle management framework called Tiempo Quality System or TQS. This proven combination of resources, process, technology knowledge, industry expertise, and strong leadership provides our customers with cost-effective solutions delivered quickly from a pool of highly successful Mexican STEM graduates and experienced engineers. Our technical focus includes Microsoft infrastructure and security such as .NET and MSSQL; Java, LAMP and mobile application development. Find out more about outsourcing software development by contacting Tiempo today.

YouTube video