Basic Principles of Good Software Engineering approach

Software Engineering is the systematic engineering approaches for software product/application development. It is an engineering branch associated with analyzing user requirements, design, development, testing and maintenance of software products.

Some basic principles of good software engineering are –

  1. One of basic software Engineering principle is Better Requirement analysis which gives a clear vision about the project. At last a good understanding on user requirements provides value to it’s users by delivering a good software product which meets user’s requirements.

  2. All designs and implementations should be as much simple as possible means KISS (Keep it Simple, Stupid) principle should be followed. It makes code so simple as a result debugging and further maintenance becomes simple.

  3. Maintaining vision of project is most important thing throughout complete development process for success of software project. As a clear vision on project leads development of project in a right way.

  4. Software projects include number of functionalities, all functionalities should be developed in a Modular approach so that development will be faster and easier. This modularity makes functions or system components independent.

  5. Another specialization of principle of separation of concerns is Abstraction for suppressing complex things and delivering simplicity to customer/user means it gives what actually user needs and hides unnecessary things.

  6. Think then Act is a must required principle for software engineering means before starting developing functionality first it requires to think about application architecture, as a good planning on flow of project development produces better result.

  7. Sometimes developer adds up all functionalities together but later find no use of that. So following Never add extra principle is important as it implements what actually needed and later implements what are required which saves effort and time.

  8. When other developers work in another’s code they should not be surprised and should not waste their time in getting code. So providing better Documentation at required steps is a good way of developing software projects.

  9. Law of Demeter should be followed as it makes classes independent on their functionalities and reduces connections and inter dependability between classes which is called coupling.

  10. The developers should develop project in such a way that it should satisfy principle of Generality means it should not be limited or restricted to some of cases/functions rather it should free from unnatural restrictions and should be able to provide service to customer what actually they need or general needs in an extensive manner.

  11. Principle of Consistency is important in coding style and designing GUI (Graphical User Interface) as cocsistent coding style gives easier reading of code and consistency in GUI makes user learning easier in dealing with interface and in using the software.

  12. Never waste time if anything is required and that is already exit at that time take help of Open source and fix it in your own way as per requirement.

  13. Performing continuous validation helps in checking software system meets requirement specifications and fulfills it’s intended purpose which helps in better software quality control.

  14. To exit in current technology market trend Using modern programming practices is important to meet user’s requirement in a latest and advanced way.

  15. Scalability in Software Engineering should be maintained to grow and manage increased demand for software application.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

I am a Computer Science Engineering student, have a great interest in android application development & now mostly focusing on Internet of Things (IoT) applications

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :


Please write to us at to report any issue with the above content.