Software development and consultancy
Security is a continuous process
Architecture-driven software development
Software architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.
Software development is often used as a synonym of writing source code in a specific programming language (e.g., Java). In many firms this is actually the case where the source code is the main (and sometimes the only) artefact. We strongly believe that such practices inevitably lead to "spaghetti" code, which become unmanageable over time. We consider software development an engineering discipline that requires an equally systematic methodology in order to create a software solution. Hence, any software solution starts from a sound architecture.
To deliver qualitative software systems we start from a solid set of technical requirements (problem space) and translate them into a software architecture (solution space). The architecture is further refined into a detailed design, from which we actually generate a substantial portion of the source code. This is feasible thanks to Prototizer that is our in-house methodology with an accompanying open-source toolset.
Business requirements analysis
Any software system (whether it is a simple webpage or an operating system for a space shuttle) eventually leads to a number of key stakeholders who have a particular interest in the system. These stakeholders are often the end customer who hire the development firm to transfer their wishes into a software system. The process of analyzing the customer's vision and specifying what the development firm actually has to built is known as business requirements analysis. While it may seem straightforward this activity is far from obvious. Despite having a clear vision the customers typically do not really know what they want. That is precisely where our firm can provide added value and help the customer systematically translate her vision into concrete technical requirements.
As opposed to common beliefs it is NOT the customer's job to know what she wants.