Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should programmers be domain experts? [closed]

Tags:

dns

What, in your opinion (although I would highly appreciate articles / books on related issues), should be the the level of the programmers knowledge of the domain?

(This related question didn't quite answer my question / had a reference to something I can use)

like image 438
Kaiser Soze Avatar asked Dec 02 '22 06:12

Kaiser Soze


2 Answers

If programmers were domain experts, they would not be programmers. :-)

For example, I do a lot of software development for archaeologists. If I knew as much about archaeology as the users I work for, I would be digging and surveying in the field rather than programming. Which makes no sense.

Having said this, I think that programmers need to be knowledgeable about the domain, and as much as possible, but without losing track of priorities.

If you need domain expertise, bring a domain expert into the team.

like image 184
CesarGon Avatar answered Dec 18 '22 18:12

CesarGon


Yes and no.

As Kyle pointed out, programmers are often changing domains on every project and this pretty much precludes you becoming an "expert" in any given domain. On the other hand, you need to understand the problem well enough to a) craft a solution, and b) test that it actually solves the problem at hand.

One reason for not claiming domain knowledge is so that your customers are forced to take ownership of this part of the project. The best way I have fouond of forcing them is to require a clear overall description of the project (no more than a couple pages long) plus a ton of User Stories ... written by the users. You can lead them through the process of how to write US's, but they will not truly own the end solution unless they were intimately involved in creating it.

Having US's and using them both for design and testing puts project ownership where it ultimately belongs -- in the hands of the users of the system.

like image 31
Peter Rowell Avatar answered Dec 18 '22 18:12

Peter Rowell