Software Development Process

To ensure excellent software quality, we use well-defined development processes which are based on modern and established frameworks. Using agile methodologies - like Scrum or Scaled Agile Framework (SAFe) - allows flexibility in projects, so that the end goal is moldable and becomes more clearly defined during the project. This enables efficient and easy adaptation on changing conditions and prerequisites.

Our Philosophy And Culture

Continuous attention to technical excellence and good software design

high quality software - automated testing

Ensure high quality – do automated testing and make it measurable

Individual responsibility and clearly defined roles

User centric approach

User centric approach

Transparency to the customer

Transparency to the customer

Quick response time

Quick response time

Usage of agile processes

Usage of agile processes

Continuous improvement

Continuous improvement

High Quality Standard

Continuous improvement of processes and tools speeds up the development and deployment. To be able to ensure and keep high quality standard, it is mandatory to make it measurable. Therefore we continuously use tools for static and dynamic code analysis as well as for evaluating test coverage.

The diagram below shows the timelines of test coverage and complexity of an Inaris core component (Service Manager). Although the complexity (number of conditions) is more than doubled, the condition/decision coverage of the unit test is kept on a high level - and even increased.

Software Development Tools

What Our Customers Say

It is a real pleasure to work with the experts from TARA Systems. Beside of the technical skills in DVB & AndroidTV, they have always been fully engaged and reacted fast in a very professional manner to challenges and changes during the ongoing project. They are driven by passion and high responsibility to meet our expectations in quality, feature set and timeline. It is a very homogeneous team which I pretty much like to work with. I am looking forward to cooperate also in the future.

Thomas Prinz
GPL for Quickline - Dietzel Consulting GmbH

Read Success Story »

We really appreciate to work with TARA Systems as an integration partner for our client devices. We can rely on getting high-quality software on time.

Hans Kühberger
CEO - Ocilion

Read Success Story »

TARA's framework of guidelines, processes, methods and tools for embedded software engineering constitutes an enormous advantage over its competition.

Conplement
About TARA Systems after assessing our development process

Our Agile Software Development Process

  • Understand customer expectation
  • Define project scope, goals and schedule
  • Collect and analyse requirements, specifications and standards
  • Identify stakeholders
  • Evaluate feasibility
  • Detect project risks
  • Define Proof of Concepts (PoC)
  • Detect system / legal constraints
  • Create list of working packages
  • Create Sprint backlog or Gant chart
  • Prioritisation of working packages and tasks
  • Involve the customer
  • Do resource planning
  • Ensure specification process before implementation starts
  • Define design patterns
  • Modularity to improve testability and scalability
  • Portability (using HW and OS abstraction layer)
  • Coding standard unifies sources (tools ensure its observation)
  • Use simulation to reduce dependencies (e.g. for reception of live-data)
  • Continuous adaptation of descriptions and changelogs
  • Documentation generated from source code to ensure synchronicity
  • How-to documents for customer side integration
  • Defined responsibilities for test applications (separate from implementer)
  • Automated testing established
  • Regression testing on multiple platforms
  • Traceability: verification based on requirements
  • Continuous test improvement (code coverage, bug fix verification)
  • Static code analysis
  • Own test environments for embedded software development
  • Defined release process
  • Packaging of Software, Documentation and Test Reports
  • Fully reproducible and archived release packages
  • Release usage: Examples, code snippets, reference applications
  • Release notes with change log
  • Hand over training (optional)
  • One face to the customer
  • Guaranteed response time
  • Frequent synchronization with the customer
  • Align bug tracking process
  • Incremental releases
  • Monthly status reports

Copyright © 2018 TARA Systems GmbH | GTC | Imprint | Privacy Policy | Contact | Download