Approach
At 4Front we use a Rapid Application Development (RAD) approach based on the Dynamic Systems Development Methodology (DSDM). Some general principles of RAD are:
- 80% of the solution can be delivered in 20% of the time. The team focuses on building the 80% in order to deliver business benefit much earlier than traditional approaches.
- User Involvement is key to a successful project. This must occur throughout the lifecycle at all phases.
- In a more traditional waterfall approach the premise is that the customer can articulate their requirements at the beginning of the lifecycle and this forms the fixed requirement of the project. No allowance is made for changes or misunderstandings that may result in expensive change. In RAD the principle is that it is very difficult to define the requirements fully and correctly at the start of the project. Through the production of a series of evolutionary prototypes the delivery of the right solution is achieved.
On a RAD project the time is fixed by a technique known as time-boxing which means delivery dates are sacrosanct. If things go wrong the contingency element will be the less important requirements (the bells and whistles).
Iterative Approach
By adopting an iterative DSDM approach based on prototyping that involves the users throughout the project life cycle:
- The users are more likely to claim ownership of the system.
- The risk of building the wrong system is greatly reduced.
- The final system is more likely to meet the users' real business requirements.
- The users will be better trained as their representatives will define and coordinate the training required.
The implementation is more likely to go smoothly because of the cooperation of all parties concerned throughout the development.
Benefits Of This Approach
- Improved time to market
- Systems that work from day one
- No nasty surprises
- Reduced shelf-ware
- Fit for purpose systems
- Better trained staff
- Higher quality systems
- Improved morale
- Removal of walls between IT and user
- Major improvements in productivity
- It fits the natural way of working
- Removes bureaucracy
- Drives the project issues out earlier
- Ownership by user community
- Improves maintainability of delivered system
- Better documented systems
- Better designed systems
Fundamental Development Principles
Active User Involvement
Users participate throughout the development process. If users are not closely involved in the full development life-cycle, delays will occur and they will not take ownership of the final solution that may be viewed as being imposed on them by management.
Empowerment To Make Decisions
Teams consist of both developers and users who must be able to make decisions as requirements are refined and changed. They must be able to agree that certain levels of functionality, usability, etc. are acceptable without frequent recourse to higher-level management.
Focus on frequent delivery of products.
A product-based approach is more flexible than an activity-based one. The team concentrates on products that can be delivered in an agreed period of time. By keeping each period of time short, the team can easily decide which activities are necessary and sufficient to achieve the right products.
Collaboration and Cooperation
The nature of RAD projects means that detailed requirements are not necessarily fixed when the project is begun. The short-term direction that a project takes must be quickly decided without recourse to restrictive change control procedures or bureaucracy.
|
|

