Software Development Methodology

accenda's software developers follow a framework to structure, plan, and control the process of developing a software application.

The three basic patterns in software development methodologies are Prototyping, Spiral and Waterfall.

accenda typically works using prototyping or Agile methodologies but is happy to discuss with the client which basis best suits the project. Agile Software Development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organising cross-functional teams.   It follows the Rapid Application Development (RAD) software development methodology, which involves iterative development and the construction of prototypes applying the following basic principles:

·         The key objective is for fast development and delivery of a high quality system at a relatively low investment cost.

·         It attempts to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process.

·         It aims to produce high quality systems quickly, primarily through the use of iterative Prototyping (at any stage of development), active user involvement, and computerised development tools. These tools may include Graphical User Interface (GUI) builders, Computer Aided Software Engineering (CASE) tools, Database Management Systems (DBMS), fourth-generation programming languages, code generators, and object-oriented techniques.

·         Key emphasis is on fulfilling the business need, while technological or engineering excellence is of lesser importance.

·         Project control involves prioritising development and defining delivery deadlines or “timeboxes”. If the project starts to slip, emphasis is on reducing requirements to fit the timebox, not in increasing the deadline.

·         It generally includes Joint Application Development (JAD), where users are intensely involved in system design, either through consensus building in structured workshops, or through electronically facilitated interaction.

·         Active user involvement is imperative.

·         It iteratively produces production software, as opposed to a throwaway prototype.

·         It also produces documentation necessary to facilitate future development and maintenance.

·         Standard systems analysis and design techniques can be fitted into this framework.