Roedan can provide a range of support for any embedded system projects, our core services include:
Roedan specialises in Embedded Systems, we have extensive industry experience coupled with the skills required to take a concept and create a production quality system.
Our team of engineers have full lifecycle experience so they are able to understand the importance of each of the project stages and how they interact. This also enables us to be effective if we are tasked to just perform a part of the project.
Developing embedded systems requires a multi-disciplined approach, on a typical project we will design hardware, create embedded software, create software and hardware test harnesses and develop some server software or PC applications. We need to utilise software skills ranging from very efficient assembly language to php and C#.
We understand the need to ensure that a project is fully scoped before any development work is undertaken. Ensuring that all stakeholders of a project fully understand the exact requirements means that there are no surprises and significantly reduces project risk.
Roedan can help you to capture stakeholder, system and design requirements and store these in a requirements capture tool. Capturing requirements in a tool allows subsequent design, implementation and testing artifact to be fully traced to the requirement that drives that functionality.
Providing traceability can help with the acquisition of safety and quality compliance in later stages of a project, for example IEC61508.
System Design Process
The designs will then be subject to design review, both internally and then externally where the design can be described and elaborated upon if required.
Once a design has been approved our change control process is used to ensure that all changes are documented and managed effectively. We always try to ensure that any design is flexible where needed to enable any future enhancements. All design artifacts are traced to their driving requirements to help ensure design coherency and consistency.
Design and Implementation Methodologies
Even if a full requirements capture process is not required, we perform a basic requirements capture process before any work commences. This ensures that we fully understand your needs and we all understand the project deliverables.
The design team is experienced in many design methodologies we can fit in with your company processes or, if you do not have a preference we will select the best one for the project.
- Waterfall: A tried and tested method of creating a product, we find that this gives an efficient way of working on a project where all the requirements can be captured and the implementation has few unknown dimensions and low risk. The project can be planned and tracked easily and a lot of small and well understood projects have been successfully delivered using this process. Each phase of the project (requirements, design, implementation, test, delivery) are executed sequentially and we hold gate reviews at each of the transition points.
- Iterative Development: This methodology takes many forms and names and is inherent in RUP and agile processes, the key benefits are to minimize risk through evolutionary development and to allow part-featured releases to be tested or deployed early. It also gives an opportunity for feedback to be gathered after a release and the project optionally refocused. It is important with this model that the system architecture will facilitate the stakeholder requirements and that future enhancements and features are not compromised.
- Agile Methods: Where the exact requirements of your project can not be defined, in flux, or you need to release staged features then an agile approach may be more applicable. The system is broken down into a series of “User Stories” or feature sets and a priority is assigned to each one. A number of iterations are then planned with a number of user stories assigned to be completed. At the end of the iteration the product is demonstrated to the stakeholders and the feedback assessed before staring the next iteration. Using this methodology allows you to see real physical progress early on in the project and can help with developing prototypes which can be then evolved into production systems.
At the conception of a project there is usually a set of valid technical solutions, we have for many clients, been able to suggest more elegant and efficient solutions. We can do this because we have a wide ranging view of the available technologies and current techniques within the wider embedded system marketplace. We can also produce feasibility studies and prototypes to help elaborate the technical options and de-risk your project as much as possible. Even if you then utilise your in-house development team for the actual implementation, we are happy to provide a different viewpoint of your project.
Limited resources with a fast approaching deadline?
Roedan can offer support and extra resources for most types of software project. Our team has expertise in all modern languages, operating systems and hardware architectures. We have domain knowledge in Telecommunications, Automotive, Industrial Control and Power markets. We have experience with most embedded processors and their tool chains. In our experience we can get our software developers integrated with your team and producing quality code very quickly.
The Roedan team can quickly integrate with your existing software team following existing processes or if you require can provide the whole software team for your project advising on best practices for software development.
All source code and documentation is held on our secure version control system, or we can integrate with your systems as required.