Is it not feasible to use Domain-Driven Design working alone?

10

I have studied a lot about DDD and I have this question that has been bothering me since I started reading about "strategic design". I have been working with programming since 2009 and most of the time I have always worked alone. I have already developed software with a closed scope, a specific client and everything. But at the moment I am working on some software as a service projects developed to be sold afterwards, that is, without any specific clients waiting for the software for his company.

Of course, to be able to model things correctly I have available domain experts who provide the requirements and everything. The fact is, I do not have a team. I have read that if I work alone I have to forget DDD and find another way to work and this worried me a bit, because several problems I have already seen that without using the DDD are extremely complicated.

When I first read about "strategic design", about subdomains and bounded contexts, this seemed to me to be very useful. In fact, several problems I had in previous developments seemed to be much simpler using these ideas. The problem is the fact that when reading about it I see a lot of focus on teams: "allocate a team to each bounded context."

This is clearly impossible to do on my own, but I still do not think I can apply the ideas of "strategic design".

So, what I want to know is this: taking all this into account and mainly working on projects that do not have a deadline or a closed scope, it is possible for me to take advantage of DDD ideas, "? If so, how can I do this?

    
asked by anonymous 15.02.2015 / 14:51

2 answers

9

I believe that this question does not have an objective answer but I will give my opinion anyway.

More than the size of the team, the choice of application architecture is more related to the size and complexity of the problem / domain / model being implemented and the estimated lifetime of the application.

It is necessary to put in the balance the effort in executing DDD versus the frequency and complexity of the maintenance of the application. The effort will not always be rewarded.

On the other hand, I would not want to discourage anyone from trying DDD when possible. Whether you want it or not, a very decisive factor will always be the developer's desire to learn something new that promises to make his life easier in the long run.

    
15.02.2015 / 21:26
1

I would recommend using DDD even if you are programming alone, unless the project is small, and you do not have complex business rules. The DDD forces you to understand more of the domain, and this understanding is essential for producing good software.

    
11.08.2017 / 08:10