Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Designing for change [closed]

I'm pretty sure most of us are familiar with the concept of a project's requirements changing after it starts, this becomes more and more of an issue the less the client knows about how things work and the closer you work with them.

How then can I design a system (specifically a website but general advice will probably be best here) so that smallish changes can be made, are there any programming strategies that deal with this issue?

like image 761
Teifion Avatar asked Sep 25 '08 10:09

Teifion


People also ask

What are the 5 stages of design thinking?

The Five Phases of Design Thinking The short form of the design thinking process can be articulated in five steps or phases: empathize, define, ideate, prototype and test. Let's briefly explore each of these phases in relation to a practical design process.

What is designing for change?

Design for Change is the largest movement of change - by and for children. The movement is spearheaded by a global network of passionate community leaders, social entrepreneurs, designers and educators who are committed to nurturing the I CAN belief in all children.


1 Answers

All the normal oo principles apply here, reduce coupling, increase cohesion, don't repeat yourself etc. This will make sure you have a flexible and extendible code base.

Apart from that don't try to preempt change. Apply YAGNI (You aint gonna need it) everywhere. Only build stuff you know your users need. Dont build stuff you think you're going to need. You're more likely to guess wrong and then you've got a bunch of code that's probably only in the way.

like image 124
Mendelt Avatar answered Sep 21 '22 01:09

Mendelt