SOFTWARE ENGINEERING DOs AND DON’Ts.

Atharva Bakde
7 min readJan 6, 2022

--

As we know software engineering is a huge field, it covers a wide range of professions it is not only restricted to computer programming, but it is much more.
Nowadays most systematic approach like the designing, analysis, testing, and evaluation of software for problem-solving is done using computer hence software engineering holds significant importance in today’s world.

What is Software Engineering?

Software Engineering is a combination of 2 words Software and Engineering.
Software is an assemblage of instructions data or programs, used to administer computers and execute specific tasks.
Engineering is a field that uses science and mathematics to solve different real-life problems.

Software Engineering is defined as a field that solves different mathematical and scientific problems by developing a software application in a precise structured approach.

Need of Software Engineering.

Now that we have seen what software engineering actually is, the reason that it is this essential is,

It helps in building things that were never thought of before. As we know software engineering is a very huge field, it is not limited to Code/Programming, but it is much more than that. Software engineering has become a necessity throughout the map.

Importance of Software Engineering.

Reduces Complexity: As we know big software is complex and hard to handle, software engineering helps in solving this problem as it decreases the complexity of the project. It divides big problems into small problems further making them simpler to work with.

Reduces the overall Software Cost: Software Development requires lots of hard work, a huge workforce is required for coding and programming which increases the costs of Software. In Software engineering, programmers/coders have to plan for everything, and thus reduce all those unnecessary things that are not required, in turn, the cost is also reduced.

Reduces time: Planning is the most important part of software development, anything not according to plan always wastes time. In Software engineering proper plans are made to reduce the time and also continuous-time management is done by tracking time, keeping a proper schedule, establishing priorities, tackling tough stuff first, and also taking proper notes.

Software engineers are creative people who build different applications according to clients’ needs which further becomes a boon to society. It has become very significant because many Professions are now dependent on software engineering.
So further the question arises that if Software engineering is highly required then what are the Dos and the Don’ts of the same.

The Do’s of Software Engineering

The first and foremost thing is Preparation

Prepare, Prepare, Prepare!

Planning is the most essential part of it, planning gives an idea to the developer to know what actually is the need to deploy or what is it that needs to be done. Gathering all the important information at the starting is very important to predict where the budget of the project is going, not only it helps in properly organizing, but also Project stays under a time constraint

Keep things User-Centred

It is really important to keep the thing user-centered, we should follow KISS (Keep it Simple, Silly!) so that the user also understands it. The engineer needs to develop the application according to the user’s requirement and also according to their budget, also we should keep taking ideas from the user at different stages, so the project builds efficiently and also according to users taste, take pride in building user-centered and user-friendly applications.

Keep Communicating

It is really essential to keep in touch with the team. Active communication with the squad can help in getting proper requirements and providing a proper timeline. Ensuring Communication with management and getting feedbacks can help in the proper development of projects. It is also very essential to be in touch with the user, as they give their important feedback at every stage.

Understanding Needs

It is vital to understand what equipments are needed for the project. If the tools required are present with us or have to be bought, also understand that if the project has a functionality that is similar to earlier models, then, in that case, the software can be reused which in turn will save time. It is really crucial to understand the software needs because it helps to gain clarity and also minimize work and time.

Going for A Test

Testing an application is a monotonous job, but it is very essential to test an application at the final stage. It is to check compatibility, interface security and performance, and some other factors which are essential and so need rigorous check. So god forbid if there is any problem with the application it will cause a problem for the user, which is something that can be rectified if testing of the software is done.

The Don’ts of Software Engineering

Don’t Jumpstart!

Many times it happens that when we get a new idea we tend to get excited and want an immediate piece of the action, It becomes difficult to resist especially when you are in the early years of your career. Instead of jumping directly to code we should think carefully and take a day or two to properly understand and implement the work. We should take the help of the team also; a Great team spends their time working on analyzing the issue and after that, they find an approach to a solution.

Don’t Create for Yourself

Most of the time it happens like, we think that others also think the same way as he/she is thinking (False Consensus effect). In excitement we tend to misunderstand things and then start to build the application accordingly, this can mainly happen while designing the application. It is easy to put our ideas while designing and expect others to like them, but it might not always be true. It can also happen like the user didn’t like the idea at all, so we need to keep the project according to the user’s need not according to our likeness. The only thing we can do is recommend the user about new ideas.

Don’t Ignore Key Requirements

This is one of the big mistakes that can ruin the project, ignoring the key requirement can lead to a bad end-product, we should actually keep in mind the requirements that are really important to the user. Keeping the key requirements in form of documentation will keep everything organized and also help in proper time management. We should also not be a feature creep, working on the unnecessary features will not only consume time but will also increase the work, instead the key requirements and the feature should be of the main focus.

Don’t deploy without Testing

It is seen that many teams neglect Test Automation due to which many times it happens that the product is compromised and is not up to the marks, Test Guarantees the project is OK and is running properly. It also guarantees that new features will not affect the old code, if we are not testing it could happen that we won’t be able to make further changes in the code, it could become harder to deploy. Hence said testing comes last but cannot be skipped!

Lastly, Don’t be too Optimistic

Most of the time Software engineers are too optimistic, so many unforeseen things happen that slow down their work. They should be open-minded and should be ready for any situation to work in.

Summary

Software engineering has grown into a very essential field. It has become a basic necessity for many industries. Many start-ups are nowadays focused on software engineering and development. So, it becomes necessary to know about the Dos and Don’ts of software engineering.

References

1. Tiago Franco, (November 28, 2018), “ The Don’ts of Software Engineering”, https://www.imaginarycloud.com/blog/the-donts-of-software-engineering/

2. Adam Lynch, (April 25, 2019), “ Software Development Guide Pt1: Do’s & Don’ts of Software development”, https://blog.unosquare.com/part-1-8-dos-and-2-donts-of-software-development

3. Seyhun Akyurek, (February 24, 2020), “Do’s and Don’ts in Software Development”, https://dev.to/seyhunak/do-s-and-don-ts-in-sofware-development-1bbf

4. Mark Hemmer, (September 3, 2016), “The Do’s and Don’ts of Custom Software Development”, https://blog.onefire.com/the-dos-and-donts-of-custom-software-development

Author: — Atharva Bakde

--

--