Better design for better classes is only possible with a ‘better amount of care and attention to detail’.
In many organizations ‘Design’ has come to obtain somewhat of a ‘pejorative quality’ which many people don’t like to hear about or discuss.
As a result ‘design’ has often come to be associated with things like ‘tedious maintenance’, or ‘reading learning instructions’ and ‘building in somebody else’s set of classes’.
In larger organizations though, design tasks are often delegated and handed-off to ‘designers with less experience’ who will then move on to ‘more tedious design work’ once ‘something goes wrong’ or ‘someone goes missing’. This is because designing for any two groups of classes and one set of people may be relatively hard work and difficult to enjoy, while adapting to two new sets of people and two new groups of classes can be relatively easier to enjoy.
In many ways, design is a more difficult job than development. The designer must always be able to ‘see’ what they are looking at while imagining ‘who they are designing for’ and remaining cognizant of other people’s lists of functions, variables, methods, principles, classes and learning instructions.
It is not surprising then, that ‘developers’ will often reserve for themselves the somewhat easier job of ‘designing and building’ while leaving to design and designers the relatively dirty work of ‘cleaning up somebody else’s set of classes’.