The Art of Software
We have expertise in several areas and consider that the true understanding of a client's needs is in proposing a solution tailored specific to them. We know that every project needs to be approached with an open mind and willingness to work in different frameworks.
Our expertise includes the complete development cycle of software solutions using:
- MS SQL Server, Windows Azure
- Visual Basic, C#, C++
- Java, Flex, Flex Builder, Flash
- PHP via several frameworks (Cake, Smarty, Zend)
- Ruby of Rails using MySQL, Postgre SQL or SQLite
- HTML, Java Script, Jquery, Silverlight
- Perl and Python
- Customized Sharepoint Services
You Have the Power
You can choose our level of participation. We can take a single part of the process, or we can execute the complete development cycle.
Requirements Analysis
One area that often gets neglected is requirement analysis. Many times the focus is placed on how things should look instead of solving the problem at hand. Other times the challenge is in translating business requirements into documents that a development team can work with.
At OS5 we take the time to make sure the requirements are well understood and agreed upon so there are no surprises at time of delivery. This works on traditional models where all requirements are well understood before going into the actual development phases, as well as agile models where the customer is deeply involved in the development process and change is likely to occur.
If you want OS5 simply for requirement analysis, we can produce:
- A document that lists all of the requirements to be given to a development team for a quote.
- A Requirements Traceability Matrix (RTM), which is used for verifying that every requirement is actually met and demonstrated with at least one test case.
- A document containing OS5's development approach for your particular project so you can have a baseline for comparing against other companies.
Software Architecture
This area of software engineering gets mixed feelings on the industry depending on who you ask. At OS5 we believe that software architecture defines one of the most important things in the entire process. Namely, context. When we understand the context of a solution, we know why it needs to have certain functionality and what external interfaces may be required. Granted some systems grow and new requirements are added.
The experience that OS5 executives and engineers bring, give your organization the assurance that an idea is turned into a scalable solution that can adapt to changes without complete system overhaul.
Pioneers in the process and architecture industry, Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman define architecture as:
“Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”
Software Development
the development phase deals with the implementation of the design as defined through the requirements analysis and the architecture.
At OS5, we have the ability to look at a design established elsewhere and implement the software base on the requirement specifications. Our expertise in different disciplines give us the flexibility to adapt quickly and produce a solution that adheres to your needs.
Depending on the organization and the model used, the development phase can be broken into more manageable areas, including:
- Quality Assurance and Review conducted ins OS5 through peer reviews to ensure the software not only does what is intended, but done in the highest quality of work.
- Unit, Functional and integration testing to ensure the code is able to handle circumstance considered out of the norm.
- Deployment of the software either as an executable with copy of the source, or by hosting it on the cloud.