Thoughts on Software Engineering

Monday, August 30, 2004

You, Your Team and Your Project

What is most important, you, your team or your project? It is true that people always seem to blame 'you'. It always seems as though 'your team' could have performed better. Suppose you have a decision to make: do tasks allocated to others or help others who are weak so that 'your project' succeeds or do just the tasks allocated to you and tell others that 'you' have kept your commitments adequately, but 'your project' failed. Which will you choose?

Wednesday, August 25, 2004

Do you know your software?

Appearances are deceptive. This applies to software too. Many a times, a software is marketed before ensuring its characteristics such as reliability. Follow the golden rules: Keep things simple. Double check to make sure all desired characteristics are present. There may be some undesired characteristics... but that is unavoidable. By the way, are you sure, you have captured all the desired characteristics?

Monday, August 02, 2004

Iteration is the key

Quality always lies in a context. For example, usability in my context refers to user’s ability to close my application anytime without waiting for more than 5 seconds. And such contexts (that application needs to be closed) are all very well defined. Just that quality in those contexts (5 seconds abort time) does not get defined adequately. It is difficult to foresee the definition of quality in most circumstances. Then how are great software developed? Probably, great software never get developed… they evolve! The golden law is to develop, deploy and test over and over again. If you try to foresee everything, you probably will be foreseeing forever. Iteration is the key.