Before embarking on any software development project, it is worth bearing in mind that software development is a high-risk activity. Neumann [1,p904] quotes the following from a US DOD memo:
The DOD, in conjunction with numerous private and academic institutions, has been spending millions of dollars trying to solve the software dilemma — 30% of all projects are outright failures, 55% lack major required functionality, and are grossly over-budget and over-schedule. Almost all are seriously flawed. The pressure is real — billions of dollars are at stake.
We are proud to say that our clients have not had this experience of software development, but no development is entirely risk free. Anyone who asserts otherwise is a fool, a liar, or both.
Netrogen offer software development services to client organisations using a wide variety of technologies. Development can be undertaken on a “time & materials” or fixed cost basis. For a given development, the “time & materials” basis is, in general, less expensive, since the client bears the entire risk of additional expense due to unforseen delays and problems.
Small Scale Developments
Small-scale projects do not, in general, warrant the use of methodologies intended for large-scale systems. Take, for example, a script to automate the generation of some report that is particularly tedious to prepare. It might take two days to write. Sure, we could stretch it out by adopting a formal development procedure, but it's quicker, cheaper, and not significantly riskier to “just get stuck in and do it”.
Larger Formal Developments
After establishing, usually by telephone, that the proposed development may be within our capacity (if we can't do it, we'll tell you up front), fixed-cost development often proceeds along the following lines:
- Initial Consultation: Generally consists of a few hours to establish the scope of the project and allow you to get to know us. Culminates in an estimate of the effort, timescale, and cost of requirements analysis. This is, almost always, cost free.
- Requirements Analysis: Anything from a few days to a few months, depending on the expected size and complexity of the project, of analysing needs in detail, formulating a strategy for solving the problem, identifying potential problem areas, and outlining potential solutions. Culminates in a requirements analysis report, which forms the basis of our estimate of effort and timescale for the development, and the specification to which the development is to be conducted. If you decide not to proceed with us, this can be very useful in dealings with other development companies. In the past, this has cost clients between a few thousand and forty thousand euros.
- Development: The development proceeds along the lines of the requirements analysis. This culminates in successful user acceptance test.
- User Acceptance Test: You, or your appointed agent, tests that the system conforms to the agreed specification and “signs off” on the development.
- Trial Period: During this period, of agreed duration, you identify minor “sticking points“ and we fix them.
The material on this page is provided solely for the purpose of helping you understand the manner in which software development generally proceeds. It does not constitute a contract, warranty, guarantee, agreement, or understanding of any kind nor shall it be interpreted to form part of any past, contemporaneous, or future contract, warranty, guarantee, agreement, or understanding between you and Netrogen, its suppliers, agents, or employees.
1: Donald E. Neumann, An Enhanced Neural Network Technique for Software Risk Analysis, IEEE Transactions on Software Engineering, September 2002.