Approach - Methodologies - Agile Development
NIP does not follow a single System Development Life Cycle or other formal system of software development, as
requirements in this respect vary by application sector and by customer.
There is also a difference between the development of our core codebase and work on specific projects but,
in general, we embody aspects of various agile development methodologies (especially rapid prototyping).
There are various reasons why agile development principles suit us:
- We have a small team of developers that remains in constant communication
- Close collaboration drives the delivery of quality software
- A rigid development process - in our experience - can impede and not support innovation,
which is a primary concern in maintaining flexible and industry-leading applications
- Most importantly, customers frequently don't have a clear or complete idea of what they want and so, even
in validated projects, we recommend an initial exploratory prototype phase to give users "hands-on" experience
of the system, and to reduce later design and development costs
Read more about agile development methodologies here:
However, despite this commitment to flexibility, NIP is equally committed to quality:
- Our core codebase is stable, fully-documented, fully-versioned and fully-tested
- There are times when it is less appropriate to follow a rapid, iterative development model, and NIP is
able to work within extremely rigid CSV (Computer Systems Validation) parameters
We believe that our 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.
|