FDD is one of the Agile software development methodologies. FDD or the Feature Driven Development stresses creating shorter iterations of functionality. With each functionality catering to certain features in the website. In FDD the software designing and modeling is given due importance, apart from tracking and report options as well, making it quite ideal for deployment in corporate websites. It gives more importance to the basic aspects of development, that when neglected, pose as great problems as the development process progresses. FDD is a comprehension of many organizational best practice methodologies used.
When the complexities of a web project grows, duration grows. Team-size also grows. This means a better development process for better delivery. FDD comes to resque when new ideas and changes comes in and backlog grows. FDD helps to reduce frustrations and help the team members to work with ease mind-set.
It is possible to scale down and still utilize FDD in web development. With many complex and complicated development methodologies available now, FDD is quite unique from the others. That said, FDD proves to be quite helpful in the web development arena as well.
So, a few of the key facets of FDD in terms of Web development are mentioned below:
- Efficiency on bigger projects: FDD proves to be very efficient in bigger and complicated business projects. The more difficult the project the more effective if FDD is applied. FDD helps in managing web development projects in a simpler and better way. This does not mean that if the project has a small team, say 3 – then FDD is futile. It still holds good no matter the size.
- No technology constraints: FDD is capable of being used with any technology. There are no hard and fast rules that prohibit FDD from being used with any other technology. It can be successfully applied to many web-oriented technologies as well, like ASP, PHP, Python, and the likes. If the technology used is Object Oriented, it is also freer from ambiguity. It proves to be slightly easier to apply FDD in such cases.
- Easily adaptable: Any new process involves a few confusions and hardships when tried to adapt in the beginning. However, the structure of FDD is easily adaptable and uses a common sense-using approach. If you are in web development you would find it quite comfortable. It is easy to understand and involve the whole process in your web developmental activities.
- Efficient planning and reporting functionalities: FDD provides some wonderful planning and reporting features. They prove to be useful in the web development process.
- Clear-cut and conditioned: FDD is distinct and conditioned when it comes to web development.
- Reduction of risks: FDD helps in reducing risks using shorter iterations of designing, understanding of the requirements and the system. The web apps can be developed in a clear and distinct way. With no ambiguities the needs and expectations are already understood very well.
How to begin web development the FDD way?
Whether the project is big or small or the kind of technology that the project is being contemplated to use, the first and foremost thing is to see the project from the FDD point of view. Once the web development project is seen as a set of features that need to be implemented, the greater part of the task is accomplished.
The following can be taken as the initial steps to be considered while using FDD in web development, to start the FDD way:
- Setting up a new team: Gearing a new team prepared to learn the processes involved in FDD is also required, and this proves to be not much of a challenging job as FDD is easy to understand and deploy.
- Explain the projects as a set of functions: It is always better to explain the project in terms of the functions or features that it includes. This helps to realize your requirements and removing the complexity of the project to a certain extent. Here care has to be taken that the functionalities are explained in a language that clients can understand, in order to make it more powerful, so that the importance of the functionalities sink into the clients’ understanding.
- Planning of the web development as per the functionalities: Once we have recognized the needs, others fall into place. The time frame involved, the team and the technology and programming language to be used, and the likes are discussed and finalized.
- Regular and periodic Status reviews: It is highly important to involve periodical status reviews with clients, in a regular way, in order to confirm if the progression of the project is being done as per the specification and expectation of the client. This also helps to curb problems and misunderstandings in the initial stage itself.
In a web development scenario, there are few things that do not come under the scope of the FDD process. They are:
- Collection of requirements.
- Designing the interface.
- Testing and bringing the web application to work.
It is quite a proven fact that the whole of the FDD process is very helpful in web development. FDD can be used as the basic component of the web development aspect, with inputs from your ideas and suggestions. That will provide the solution to the project.