Вы находитесь на странице: 1из 4

Principle of SE

By Chandan Gautam
15-Jan-13
Dr. Mahil Carr (Associate Professor)

IDRBT

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. --Rick Cook

All principle based on this single question : What does it take to ensure a successful software development project? You can not say that there is one or two principle require to develop a software project.There is umpteen of principles require for the successful completion of project.I am focusing on few principles: 1. Quality always matters : Quality always lies between two prospective : a. Design b. Conformance First requirement that the user demands is "quality". A customer can't tolerate a poor quality product regardless of how you define quality. "Quality" is the main priority for the customer. Design: software quality measures how well software is designed and Conformance: how well the software conforms to that design . 2. High quality software is not a myth: Developing a high quality software is not a myth ,if you will observe your surroundings then u will feel there is many system which is the very good example,like telephone system and internet ,both fundamentally uses waterfall model. But for developing a bug free software is not a one step process ,there is various step involved in this like: a. Reliability b. Efficiency c. Security d. Maintainability 3. Deadline shold not be crossed : The most effective way to ascertain the real customer need is to give user's the product and let them play with it. Early in the development stage, gather feedback and write the requirement specification and then proceed with full scale development. Quality doesnt matter if you crossed the deadline.

4. Analyse all the hurdle before go through the solution:

It can be very hard to reach our objectives if we cant envision where we are going. Most engineers rush to offer a solution for the given problem without understanding the problem clearly. If the engineer's perception of the problem is accurate only then the solution may work.

5. Always with some options in your hand : It is the next step after requirement specification. We should do following thing to select one of the best alternatives among all of them : Examine different types of architectures. Compare competing designs Document the design Verify architecture meets the requirements 6. Choose the best one according to requirement :

There are various software process models to develop software Select the appropriate process models to develop software that is best suited to the solution of the problems. 7. Use different languages for different phases : No one single language is optimal for all phase of software development .Select the best methodology and language for different phase of development.

8. Minimize the real world problem and digital world solution : There should be proper synchronization between problem synchronization and gap should be minimal the we can obtain an ideal solution. 9. Tools should be in the hand of skilled person: A little knowledge is very dangerous thing similar way before using any tools u have to expertise in techniques using by tool. 10. First output later efficiency: For any project completion ,its first need is got the required result then we will go for efficiency and complexity.

11. Code Inspection: Inspect and correct the code After coding the module you should have to try to find an error in the module After finding error you should have to correct the code Inspite of error you also have to inspect the logic of the program. 12. Good management is more important than good technology: A skilled manager can produce extraordinary result with limited resource but if manager is terrible then situation is like Coconut in a monkey's hand.

13. People are the key to access : Software is labor intensive profession and people with experience,talent and appropriate drive are the key.The right people can overcome many of the shortcoming in process,methodology or tools.There is no substitute of people. 14. Dont follow blindly : You have to take any decision on the base of realistic thing because work on the board and on the soil is two different prospective.If you want to adopt new technology then you have to understand pros and cons of that technology according to your environment , dont follow just because someone else is using it. 15. Be liable : If you developed the system then you should take responsibility to do it right.Blaming the failure on other thing is a irresponsible behavior. Apart of this in management of software engineering ,we are finding the answer of following questions : Why is management needed? What are the main tasks of managers? What is special in the case of software? How can productivity be measured? Which tools may be used for planning and monitoring? How can teams be organized? How can organizations' capabilities be defined and measured?

Вам также может понравиться