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 offshore software development CRM offshore software development company development Cloud computing software Big Data Analytics mobile app development business cloud C++ app development mobile app development company Big Data web development outsourcing apps Java Project Management IT consulting and software development IT developers Offshore development India software development J2ee Salesforce customization Javascript Progressive Web Apps Web app development Software development and testing Offshore development developer Salesforce Cloud Services Product Development Android development Salesforce consulting MVP Development EmployeeEngagement Agile Development project management methodology QA Joomla developers Agile product Development consultant Salesforce development Salesforce Lightning iOS apps digital marketing services business analysts digital marketing services india software development outsourcing Salesforce CRM Evon Technologies Social Media Marketing data security risk management Salesforce cloud Salesforce Mobile Development Python web Node.js Offshore software development services QA and Testing c++ programming AppExchange QA services consulting testing Marketing Automation Services app development company AI in mobile apps Salesforce ISV Start-ups marketing automation companies blockchain MVP software Artificial intelligence business management Web application developers partner Reactive Programming Project Manager Android app development outsourcing hiring programming project management methodologies startups task management marketing automation Web designinng PHP development data Big Data Cloud Database & Computing | DevOps services time tracking React.js Business Growth Big data and lead generation Android apps

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

#Friday is a day to finish your goals for the week. It is a day to celebrate that which you set out to accomplish a… https://t.co/BkLt8dP5Fe

Evon Technologies

Top 5 Concerns of #BigData #Hadoop Implementation- https://t.co/i6qPRP3I0t #DataScience #MachineLearning #Analytics… https://t.co/A9VzGuBU0U

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.