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?
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With