System Development
We have worked with many different companies in different industries, and development requirements vary by application sector and by customer. NIP accordingly does not follow a single System Development Life Cycle, but our experience covers both highly structured environments (e.g. systems validation and formal project management methodologies) and very fluid prototyping structures.
...a full quality system... doesn't itself guarantee a quality solution or a useable one, so we place equal importance upon responsiveness and continuous improvement
Our approach to developing software is generally governed by balancing the following:
- Innovation with stability - e.g. use of "agile" development approaches alongside more traditional software quality approaches
- Flexibility with standardisation - e.g. trying to make aspects of our solutions configurable wherever possible
- Perfection with pragmatism - e.g. whilst we have a full quality system, this doesn't itself guarantee a quality solution or a useable one, so we place equal importance upon responsiveness and continuous improvement
We deliver appropriately documented and tested applications to meet our customers' requirements, but although the development process can be further reinforced by following a validation cycle if needed, this is not a primary focus for us (even though a lot of our work is done in the pharmaceutical industry).
We have a small team of developers that remains in constant communication, and - in general - we work without named departmental units, in flexible groups, to deliver solutions on time, within budget and to specification. This often includes an initial exploratory/iterative prototype phase to give users "hands-on" experience of the system (and to reduce later design and development costs) as customers understandably frequently don't have a clear or complete idea upfront of what they want.
Overall, we believe our approach to be the most effective way of balancing the contrasting demands of needing to innovate with the need to provide stable, quality solutions. It also means that we don't enforce only one way of working on our staff, or on our customers. This ability to work both flexibly or rigidly - and any combination in between - supports us in our rare ability to satisfy customers from very different industries, and with very different software risk profiles.

