We are designing the software based on the FDD (feature driven development). Our architecture is microservice. I want to know that microservices are demonstrated by the feature set? In other words, is each feature set considered as a microservice? As I know the feature set in FDD is the same as epic in Agile. so if this statement is true then is each epic considered as a microservice in agile?

I have seen this question: Should I consider microservice as an epic or a project in TFS?

  • You will have to define what "feature" means. If by feature is "creating something into a database" then they are not. If a feature is "allowing customers to register, login and change credentials" then sure, they are. The key is looking at each MS as a company business capability. Business capabilities are activities through which the company can obtain some profit (economic, strategic, etc). Which one suits better with your definition of feature? – Laiv Mar 20 '19 at 13:17
  • thank you for your comment, the features are based on your second definition. what is MS? do you mean master story? – Nastaran Hakimi Mar 22 '19 at 18:20
  • Micro Service – Laiv Mar 22 '19 at 18:27

Microservices, like any other architecture, should help you and not burden you. Things that change together should stay together. So if one of the features change leads to modifications in others, they should stay together. From my experience that rarely happens.

Another point to consider is whether you know your business or not. If it's a new project where you are not certain about business logic and things are changing all the time, please don't do microservices. It will make your life hell.

Finally, take your time to understand the concept of Bounded Context. This is IMHO the best way of thinking in microservices. Find boundaries between your teams and others, and use that information to figure out which features go where.

  • I understand your concern, but my question is actually related to writing the feature set. I want to know if I should group the feature based on in-dependabilities because these groups will be considered as microservice or I should group the feature based on the improvement the understanding of the software system – Nastaran Hakimi Feb 18 '19 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.