Effective Methods for Software and Systems Integration

[article]

Software Implementation
The software implementation method assures that software engineering builds function as expected in target software and systems environments. It also  enables smooth execution for verification and validation activities. Disciplined software implementation principles, planning, and resources for systems build-up provide effective testing to be conducted in a development facility for a software and system integration environment. Software released under configuration management control is described in a defined and documented Configuration Management Plan (CMP) to provide the necessary requirements for software implementation inside integration facilities.

In the early stages of software design and development for military and aerospace programs and projects, a Development Facility (DF) is normally established for software integration activities. This facility is used for preparation of software prior to delivery to a S/SIF. Many statements or comments are made about these facilities and if they have an effective way to test traffic loads on specific work products. 

Software Integration
All software delivered or implemented by software integration or testing is processed through a configuration and controlled software library system, where the official status accounting of each delivery is maintained. The integration tasks require that the software design, development, and test processes are in place to ensure integration is ready for team troubleshooting and checkout.

Software integration provides required steps to be conducted for integration and checkout of informal software engineering builds. The software design and development team and test engineers need to develop a strategy for planning, design, execution, data collection, and test evaluation. The software integration activities are informal and flexible for software checkout to prepare for the software and systems integration phase of the work product. The strategy for software integration provides a road map that describes the steps to be conducted as part of the implementation of software to start integration activities. When a strategy is planned, then resources are required. This strategy should be flexible and it should promote an approach that results in change. Sometimes senior program and project managers need to track program and project progress and require the following characteristics:

  • Conduct effective technical reviews
  • Show different integration techniques and software approaches
  • Software designers are required to be involved from the start to the finish

Software and Systems Integration
The software and systems integration method provides a consistent approach to effective integration activities. The software units, components, and sub-systems are assembled by the software designers and test teams to ensure the software and systems elements are created properly. The integration levels and the development plan (DP) for software determine if constructed elements are ready and subject to verification or validation activities. The development plan establishes the plan for development of software during the phase of the program. This plan establishes system level engineering standards, practices, and guidelines for development of CI and non-CI system software.

The effective methods and processes for software and systems integration require disciplined software design and development practices, including test planning, test execution, configuration control, quality, and reporting to management and the customer of the work product being tested inside integration facilities. Software technology books, magazines, and articles all over the world are intended to reflect "best practices" from various integration facilities supporting software companies, military, and aerospace programs and projects. It is the responsibility of management to select effective and responsible test conductors and teams. Successful software and systems integration objectives are accomplished by:

  • Agreeing and identifying blocking issues
  • Assigning responsibility to fixing blocking issues
  • Scheduling dates from responsible teams
  • Holding periodic meetings until issues and concerns are closed out
  • Evaluating current integration facilities schedules

Software Subcontractor
The roles and responsibilities of the software subcontractor describe how a program and projects can benefit and rely on outside companies’ resources to provide required software and hardware products to be under contract and effective. A customer must understand the subcontractor’s presentation, in which the subcontractor presents his expertise in supporting the lifecycle activities and how companies can use his knowledge. During the presentation, the subcontractor should allow the customer to ask any questions in order for the subcontractor to provide answers that meet the customer’s needs for reliability and support. The software subcontractor provides the necessary support and employment that benefits military and aerospace programs and projects. The software subcontractor can be hired for program and project planning, configuration management, quality, software design and development, testing, and the execution of activities or tasks related to the delivery of software work products to customers. The activities performed are in accordance with a purchase contract and the software work products are delivered to satisfy and comply with specified acceptance and delivery requirements.

A list of requirements, expectations, and interfaces between the program and project are documented in a SOW. The goals of selected software processes are given to the subcontractor per the direction of program and project managers in order to provide plans for required tasks during a software lifecycle. This permits the software subcontractor to abide by internal software processes that require objective evidence to be reviewed and ensure goals are being accomplished.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.