Software Full Life Cycle Development

Contract Vehicles

Contact Us

DDL OMNI has been a leader in full life cycle software development for decades.  We understand all full life cycle software development methodologies—from early Waterfall, to Iterative, to the latest Agile/Lean methods—and we are skilled in selecting the right methodology for each software development project.  We have performed all stages of software development, either as a project managed entirely by DDL OMNI or as part of a team of partners.  Our experience includes all general phases of development, including—

  • Requirements analysis―Our technical experts work with the customer and all stakeholders to develop the requirements for the application being developed.  Our team is well versed in the ability to solicit requirements and codify them.
  • Preliminary design―With all stakeholders in agreement on the system requirements, a design and architecture is developed.  Programming languages, frameworks, and toolsets are chosen to best satisfy requirements.
  • Prototyping―Depending on the complexity of the project, a prototype may be developed to demonstrate areas of particular concern.  The prototype may be a user interface mockup to allow stakeholders to “test drive” the application prior to actual implementation, or a proof of concept implementation of a specific technical issue.
  • Development―Our ISO 9001 registered quality management system helps reduce the number of bugs or other issues during the development process, ensuring the development of a high-quality application that meets all of the agreed to requirements at the onset of the project.
  • Quality assurance (QA) and testing―Prior to release, we always subject the application to a rigorous regression and QA testing process.  Specifics of each test plan are developed during the requirements analysis, but are designed to not only discover defects in coding, but test interoperability, compliance with requirements, and application stress testing.
  • Release ―DDL OMNI can assist in documentation, packaging, distribution, and installation during the deployment phase of any application.
  • Maintenance and support―While our testing procedures ensure a high-quality release, changing mission requirements and evolving technologies call for ongoing support of an application.  We stand behind our applications and have strong processes in place to ensure that knowledge and experienced gained developing an application remains available to support and maintain the application throughout its functional life.

Our long history of successful software development efforts have encompassed embedded systems, GUI application development, client/server applications, applets, and web-based applications using technologies ranging from Ada to Java.