Coding, Configuration, Integration, and Validation Services

DSA can provide end to end coding, configuration, validation, and integration services through one of our North American sites or via our low cost Development Office in Bangalore India.
  
Configuration and Coding:
1. From Detailed Designs, Use Cases and Process Flow Diagrams, DSA will begin the Development work by deriving a first draft
     of the Unit and Integration Tests. This front-end loading of test planning has proven to dramatically increase the Developers
     understanding of the Design/Requirements and in turn, increases Configuration and Code yield
2. During the Configuration and/or Coding work, the Developers will often identify two or more ways to configure the
     application. In these situations, the Developer will work collaboratively with the relative Solution Architect to conduct a DFx
     session to ensure, Fit for Purpose, Useability, Application Performance, Maintainability, and Upgrade-ability
3. A Continuous Integration Server is deployed to enable all developers to deploy all configurations and custom code to a single
     test environment to enable cross-functional testing in real time. The practice of continuous integration serves two primary
     objectives:
       - minimize the duration and effort required by each integration episode
       - be able to deliver a product version suitable for release at any moment
     In practice, this dual objective requires an integration procedure which is reproducible at the very least, and largely
     automated. This is achieved through version control tools, team policies and conventions, and tools specifically designed to
     help achieve continuous integration.
4. We practice Test Driven Development which refers to a style of programming in which three activities are tightly interwoven:
     coding, testing (in the form of writing unit tests) and design (in the form of refactoring).

     It can be succinctly described by the following set of rules:

       - write a "single" unit test describing an aspect of the program/configuration
       - run the test, which should fail because the program configuration lacks that feature
       - write "just enough" code or configure just enough functionality, the simplest possible, to make the test pass
       - "refactor" the code until it conforms to the simplicity criteria
       - repeat, "accumulating" unit tests over time
 
Expected Benefits
       - many teams report significant reductions in defect rates, at the cost of a moderate increase in initial development effort
       - the same teams tend to report that these overheads are more than offset by a reduction in effort in projects' final phases
       - although empirical research has so far failed to confirm this, veteran practitioners report that TDD leads to improved design          - qualities in the code/configuration, and more generally a higher degree of "internal" or technical quality, for instance
          improving the metrics of cohesion and coupling
 
Integration Services:
  - Data integration functionalities, including bi-directional data transfer and data synchronization using job management tools,
  - Process integrations are driven by PLM or ERP workflows, supporting end-to-end release and change processes,
  - Data federation, enabling PLM users to query and view live data,
  - Flexible configuration reflecting business processes and data models, and
  - Extensibility to integrate other enterprise applications like manufacturing execution systems (MES).
 
Validation Services:
  - Functional testing: End-to-end functional testing across the lifecycle starting from requirement analysis, planning, design and
    development to execution and reporting
  - User Acceptance Testing: Confirm the fit for Purpose across all affected processes and process conditions. Additionally and
    simultaneously validate the Fit for Purpose of your Training Materials
  - Performance testing: Measure the response time of the application under different conditions and analyze results to ensure
    that applications run at optimum performance. In conjunction with performance tuning, we also help increase the application
    performance levels
  - Automation testing: Custom test scripts built on industry standard automation platforms helps automate configuration and
    functional testing activities – improving delivery quality and saving testing time and costs