The longer you spend on a complex problem, the better you will get
I was having this debate with some colleagues recently. In the name of agile, we cannot develop something just for a demo, which you will throw away after that, and then develop another part of the work to be done and then expect things to work out.
If the problem is complex, the complexity has to be handled with you hands on its horns. The more time you spend on such a problem, the better you will understand it and tackle it.
Doing stuff around it, or over it, actually produces a worse result. Because each time you are not considering the full problem, so your solution is flawed to begin with.
Considering the entire problem is difficult, but going over it again and again makes it easier to understand and work with it.
QA people also get a consistent application to test. Otherwise they may think your first solution handled some test cases and ignore that later - without knowing solution 2 is totally different than 1, and everything needs to be tested again.
It is not true that a problem is so complex that it can simply not be done.
What I do in such cases is develop activity diagrams or flow charts. The chart may be very large, but you can note down the activities and all the requirements, and then keep improving the design as you go over the diagram. This is also a great asset while discussing the design with others because it is easier to discuss over a picture rather than a paragraph.
Problems need thought to be handled properly. And the best ideas and insights may come when you are not staring at the monitor in your office. In fact, taking a break at lunchtime and exercising can actually improve your design skills because your brain needs some time where it can run the subconscious scripts against the problem at hand, which results in an intuition at a later point in time. Some studies have shown that taking breaks in between and exercise all help the brain.
If the problem is complex, the complexity has to be handled with you hands on its horns. The more time you spend on such a problem, the better you will understand it and tackle it.
Doing stuff around it, or over it, actually produces a worse result. Because each time you are not considering the full problem, so your solution is flawed to begin with.
Considering the entire problem is difficult, but going over it again and again makes it easier to understand and work with it.
QA people also get a consistent application to test. Otherwise they may think your first solution handled some test cases and ignore that later - without knowing solution 2 is totally different than 1, and everything needs to be tested again.
It is not true that a problem is so complex that it can simply not be done.
What I do in such cases is develop activity diagrams or flow charts. The chart may be very large, but you can note down the activities and all the requirements, and then keep improving the design as you go over the diagram. This is also a great asset while discussing the design with others because it is easier to discuss over a picture rather than a paragraph.
Problems need thought to be handled properly. And the best ideas and insights may come when you are not staring at the monitor in your office. In fact, taking a break at lunchtime and exercising can actually improve your design skills because your brain needs some time where it can run the subconscious scripts against the problem at hand, which results in an intuition at a later point in time. Some studies have shown that taking breaks in between and exercise all help the brain.
Comments
Post a Comment