CALL US

  +91 8266041801

  +44 203 372 4609

  +1 408 454 6110

  evontech

Get Free Quote

Why to choose Feature Driven Development for Software Development

  • Feature Driven Development (FDD) is a software development process centred around clients and architectures to speed up development time and reduce cost. The ‘client’, as referred to in FDD, is a stakeholder or a customer of the project.

Feature Driven Development

Feature-Driven Development (FDD) has gained widespread use, especially in larger organizations. FDD is a software development process centred around clients and architectures. The ‘client’, as referred to in FDD, is a stakeholder or a customer of the project. Although introduced to the world in 1999, FDD was first applied in 1997 on a 50-people project spread over 15 months for a large Singaporean bank. The challenges during the implementation of the project led to the development of five processes—developing an overall model, and listing, planning, designing and building of features. These processes, although slightly modified over the years, have remained the cornerstones of the entire feature-driven development framework. These five FDD steps ensure that teams follow the best of engineering practices as they develop small features over 1- or 2-week iterations. These steps ensure that project development is continuous, and also that new members can be easily added to the team and made to come to speed much faster.

‘Feature’ in FDD

Features are a fundamental part of feature-driven development. They are to FDD what user stories are to scrum: small functions that are valuable to the client. An example of a feature in the FDD context could be “complete the login process”.

History

The primary architect of FDD was Jeff De Luca, who developed the methodology as a process for computer software development. The major objective behind development of such a methodology was reduction in development cost, time and efforts. Since it was developed, the FDD approach, along with its five basic steps, has been continually used to develop enterprise software because it is seen as both agile and pragmatic. FDD combines the key advantages of eXtreme Programming and Scrum with model-centric techniques such as Domain-Driven Design and modelling in colour. Moreover, it can be easily scaled to large teams, thanks to concepts such as Just Enough Design Initially (JEDI) and peer reviews and dynamic feature teams. 

Objectives of Feature-Driven Development

Its main purpose is to deliver tangible, working software repeatedly in a timely manner in accordance with the principles behind the Agile Manifesto. It works in short iterations to deliver frequent releases. The customer or the stakeholder is often involved in the initial design and iterative development reports. 

Core Principles of Feature-Driven Development 

    • Domain Object Modelling: The teams involved in a software development process build class diagrams to identify and describe the objects that are identifiable in a domain, and the relationships they might share. 

    • Development on feature-level: If a particular process or function cannot be implemented within two weeks, it should be broken down into smaller features, which can be managed more easily.

    • Individual Class (Code) Ownership: Different pieces or groupings of code (class) are assigned to different individuals. The owner takes responsibility for the consistency, performance, and conceptual integrity of the class. 

    • Feature Teams: There exist many small, dynamically formed feature teams that work on a single activity. Multiple people work on a single decision or design, before one is chosen as the final.  

    • Configuration Management: Refers to the process of keeping a record of the source codes of all the features and all the classes that have been developed to maintain a history as they are further enhanced. 

    • Regular Builds: ensure that the system is always up-to-date and always ready for client demonstration

    • Visibility of progress and results: The course of the project can be steered using frequent and accurate progress reporting from all levels of the project.

Advantages of Feature-Driven Development 

  • The five-step approach of FDD ensures big projects can move smoothly by getting work done in an easy and fast manner. 
  • Feature-driven development is centred around the standard set for the software development industry. Thus, it deploys the best practices in the industry. 
  • Feature-driven development provides well-defined progress tracking and reporting capabilities. 
  • FDD provides support for multiple teams to work together. 

 

Where Feature-Driven Development Works

Previous software project development methodologies were usually centred around small teams of skilled and disciplined developers. Although such methodologies could be scaled to bigger teams, it was not often without challenges. However, Jeff De Luca’s Feature-Driven Development is designed with the idea of making it scalable to large teams. Smaller teams of developers can be easier to manage and more likely to succeed regardless of the agile method they use. However, in larger teams, not everyone might be so skilled and disciplined. 

To ensure that FDD can be applied to larger teams, FDD uses the “just enough” technique. Under this, planners and reviewers review and modify the assignment of feature sets and classes to developers. However, not all classes are assigned at the same time -- only just enough -- and classes keep on increasing as the project grows. 

How is FDD different from Scrum

Both Scrum and Feature-Driven Development are methodologies for efficient software development. However, FDD is more focused on features rather than delivery. Features are foundational, important components of FDD that are important to clients. In FDD, a feature is delivered every 2-10 days, while in Scrum, a sprint, the equivalent of a feature in FDD, is delivered every two weeks, and sometimes, four.

Other than this, FDD gives more weight to documentation. This makes daily meetings redundant. The teams rely more on documentation, for official communication and problem solving, and do not meet a lot. On the other hand, with scrum, teams meet up on a daily basis. Also, while in FDD, the actual user is viewed as the end user, in Scrum, the product owner is usually viewed as the end user.

Why Choose Evon for Feature-Driven Development

Evon Technologies, an offshore software consulting and development company, has successfully completed several software development projects using methodologies like FDD, Scrum and Agile. By using FDD, Evon Technologies promises an iterative and incremental software development process which combines various industry-recognized best practices into a cohesive whole. Our extensive hand-on experience in software development and availability of skilled resources make us a go-to technology partner for software development. Email us at This email address is being protected from spambots. You need JavaScript enabled to view it. to share your requirements with us, our experts will analyze those and get back to you shortly with solutions best suited for your software development project.

What are the Key Practices to hire a Salesforce Co...
What to consider before Outsourcing your Salesforc...

Related Posts

SEARCH BLOG

development Salesforce offshore software development CRM business offshore software development company C++ application outsourcing software apps web java Cloud computing web development mobile app development Big Data Analytics custom app development mobile app development company cloud J2ee Big Data project management javascript IT developers website IT consulting and software development developer NodeJs Salesforce customization software development QA Offshore development India Offshore development Android development Salesforce Cloud Services Salesforce consulting Web app development Product Development Software development and testing testing consultant programming Automation offshore data security Salesforce Lightning digital marketing services Evon Technologies mobile Progressive Web Apps digital marketing services india iOS apps Social Media Marketing Salesforce CRM Offshore software development services software development outsourcing MVP Development Salesforce Mobile Development consulting Python Agile Development Agile product Development enterprise project management methodology Salesforce cloud EmployeeEngagement Joomla developers QA and Testing business analysts data Salesforce development risk management language startups Offshore development company App Development Outsourcing Higher Productivity Android apps accessibility India Findnerd business management React.js Responsive web design marketing automation data protection DevOps services Collaboration Data security breach React Native project salesforce apps Top JavaScript Libraries c++ language Web application Digital Marketing Java development tools c++ programming

Our Team

The versatile 8 in 2006 to 300+ Mavens in 2022, team Evon has paved its way into the tech world by creating some seriously cool geeky stuff. Startup or established, you got to meet our team.

Certifications

  •   CMMI - Level 3
  •   ISO 27001 : 2013
  •   ISO 9001 : 2015

Get in Touch

  +91 8266041801

  +44 203 372 4609

  +1 408 454 6110

  evontech

 This email address is being protected from spambots. You need JavaScript enabled to view it.

   A- 5, IT Park, Dehradun, Uttarakhand, India, PIN - 248001.

follow us on

×
We use cookies on our website to provide you with a more personalised digital experience and for analytics related to our website and other media. For more information, please review our Privacy Policy and Cookies Policy.