When embarking on a software or application development project, a key consideration should be the development methodology to be used. Generally, the commissioning party ("the customer") will have the choice of an "Agile" or "Waterfall" style of development. The methodology selected by the customer will often depend upon whether the customer wishes to have flexibility during the development cycle, or whether it wishes to agree a detailed set of business specifications and technical requirements before the developer begins work. The choice made will of course inevitably have legal and commercial implications. These implications should be identified and addressed in a software development agreement between the customer and the developer. Some of the factors to consider in making the decision are set out below.
Agile software development methodology allows the customer to develop its requirements during the project phase in short, frequent development cycles. Agile development is flexible and scalable; it enables the scope of a project to be changed based on feedback received during these short development cycles. In short, the specifications can be changed post contract signature, without the need to follow a strict and potentially time consuming change control process. However, this does not mean that the parties should abandon recording any agreed changes to the high level specifications agreed at the very beginning of the project.
Therefore, if you are a customer thinking about using Agile you should ask yourself:
Waterfall software development methodology is focused on agreeing a detailed set of business requirements and technical specifications prior to the commencement of work. Detailed documentation is required for each project phase, including technical specifications, which set out measurable deliverables and performance criteria.
If you are a customer thinking about using Waterfall you should ask yourself:
It is also possible to use a mixture of Agile and Waterfall during the development. For example, the early scope and analyse phase of the project could be completed using Waterfall, whilst Agile development principles are applied to later or selected phases of the build. In these circumstances care must be taken to ensure that the correct contracting principles are agreed and applied at the appropriate stages of the development. For example, the point at which testing and acceptance should occur may differ depending on which methodology is used.
Although, Agile is flexible and collaborative, it does not equal "zero paperwork". It is still advisable (for both parties) to agree: a contract, project plans, interface designs and technical specification documents. After all, you would not embark on a software development project based on the Waterfall methodology without addressing issues concerning project governance, deliverables, testing and acceptance, warranties, cost and IP ownership - to name just a few. Agile is not a "free for all" in terms of scope and scope change, so organisations should still consider all of the above even when using the Agile methodology.
GDPR Article 35: Pop up Quiz! Do you know what this section of the new Regulation requires companies to do if developing new products and services (including software) could result in a "high risk" to individuals?
To find out or to arrange your free one hour initial consultation please contact us.