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

salesforce development offshore software development business offshore software development company CRM java software Cloud computing apps mobile app development Big Data Analytics outsourcing web development mobile app development company C++ Big Data app development cloud J2ee IT developers IT consulting and software development Project Management developer QA Offshore development India Javascript Salesforce customization software development web consultant Software development and testing testing Android development Salesforce Cloud Services Product Development Automation Salesforce consulting Web app development Offshore development application EmployeeEngagement Joomla developers software development outsourcing risk management Salesforce development custom Evon Technologies data security Salesforce Lightning digital marketing services QA and Testing MVP Development business analysts Offshore software development services Progressive Web Apps digital marketing services india Agile Development Salesforce CRM Social Media Marketing startups Agile product Development Python Salesforce Mobile Development project management methodology Node.js iOS apps Salesforce cloud enterprise Project Manager AppExchange Marketing Automation Services hiring MVP software time tracking partner app development company QA services data Salesforce ISV marketing automation companies project management methodologies Business continuity Resource Management website Staff Augmentation DevOps Web designinng Content Management System Big data and lead generation Popular CMS mobile app testing App Development Outsourcing Higher Productivity GDPR PHP development CMS Software offshore Android apps Big Data Cloud Database & Computing |

About Us

Evon is a Software Consultancy based in India. We are a 250+ people company. We primarily service clients who want to either completely outsource a new idea or are looking to build an offshore team

Recent Tweets

Evon Technologies

How #Salesforce Sales #Cloud Boost Your #Business Performance? The essential Salesforce Sales Cloud features will… https://t.co/HFSKm5l46Y

Evon Technologies

RT @_SanjayDas: With accelerating technology innovation, Medical Devices are becoming more sophisticated and more connected. Source @IIoT_

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.