Friday, September 29, 2006

Questions Every Designer Should Ask

Here is the much awaited task for you. You got to come up with a design for the given module. I guess this is how we all get our first design assignment. With the slight variation in the situation everybody goes through this sometime or other in their career.

While Design related tasks are much awaited for every programmer. Its every (most if not all) programmer's wish to become a designer. But when the first assignment comes they kind of get nervous and start looking at books to find a Quickest Way to produce the artifact. There are few books which can help you do the design and draw models etc but as a Designer there are few questions which needs to be asked before we start drawing design models.

1. What is the Functional Requirement?
2. What are the steps involved to meet the functional requirement.
3. What is Already Existing? Find out from other team members/designers as which of the functionality already exists.
4. What is the Design Guideline?
5. Are there any design constraints?
6. How much is enough? There is no limit on amount of details one can put in a design document but somewhere a line must be drawn where one says "This much detail is Enough".
7. What are the dependencies (both Internal and External)?
8. How is other parts of the system depend on yours?
9. What are the entities who play a role here? List all the entities from the system involved in the activity.
10. What are the artifacts to be produced?
11. What are the non-functional requirement eg Speed, Transaction Control etc.

If we ask these questions in the beginning then rest becomes easy. That's why designer love their work :)

Until Next Time...:)

Monday, September 18, 2006

Power of Simplicity

More often I come across people who think that a Powerful system has to be complex. Or if the system is powerful it must have lots and lots of complex logic in it. Somehow this amuses me to a greater extent. Quite oftent I end up asking these question to myself:
1. Why a Powerful System has to be complex?
2. What makes a System Powerful?
3. Is Simplicity not a powerful feature in itself?
4. Is it not a fact that if a Complex System is analysed properly, it consists of many simple systems?

The list of questions are endless and I rarely meet a person who can think through in these lines and try to implement a system in the most simplistic possible way.

Next time will discuss about why we need a simplistic approach.. Until next time...