We can create embedded software for a given hardware target, to any level of autonomy the client may require: from analysing and determining requirements, sourcing the development enviroment and designing and developing the complete system, to creating a part of the embedded system, given the client's requirements and design.
We can create Application software for pc or mobile platforms to any level of autonomy the client may require: from analysing and determining requirements, sourcing the development enviroment and designing and developing the complete system, to creating a part of the system, given the client's requirements and design.
Often there is a need to create specific applications and programs, or even an entire system, to test all or part of a software system: these are called Software Tools. We can design, document and create Software Tools either to the client's specification, or determine the requirements ourselves.
We can guide a client's project through it's entire life-cycle, liasing with the client's customer(s) to determine requirement, formulating the project Specification, overseeing the system Design and Implementation, Test Planning and Testing. Or we can advise the client's in-house management team.
We can liaise with clients to produce accurate project plans. These give elapsed time and cost predictions, and identify critical paths. When updated regularly, they measure progress and update time and cost predictions. The results can be fed back into future plans to produce more accurate plans in the future.
|Analysis and Requirements Identification
The first task carried out in a project's life-cycle, an analysis and identification of a project's requirements to feed into the subsequent System Design. It saves money by ensuring that the system design factors in all requirements, reduces time spent re-designing, and ensures that the finished product will be fit for purpose. It is also useful when a client needs to determine whether a third-party developed system can be accepted. We can analyse the client's proposed project and identify the requirements that must be met by the system that will be created.
A well thought-out software design not only identifies potential pitfalls, but also minimises time spent implementing and testing, where much of the project cost lies. We can create specifications and software designs from a set of requirements to any level: System, Sub-system, module, and are familiar with Yourdan design methodology.
A good Test Plan is essential for determining and proving that the system is not only error-free, but meets all the project requirements. This is especially useful for a client to provide evidence for acceptance of a software system created for their customer.
We can create an appropriate Test strategy for a client's project-in-development, ensuring that all features are tested, and identify Software Tools that should be created.
We can review software for management, ranging from individual modules of software development to stand alone packages or complete company products. The depth of investigation depends on the customers requirements, but will normally involve investigation of the source code, the languages used, the compilers chosen, the standards adhered to, the ability of others to understand it, and the potential for future support. We write a management report with the results, and recommend as to whether the system is fit for purpose, and advice on how it could be improved.
We can perform feasibility studies for clients, to help determine whether an approach being considered will succeed in both in hardware and software, or to identify areas requiring further investigation.
We can advise clients on any of the above aspects of project and software development.