You are on page 1of 5

ASSIGNMENT# 01

Submitted To:
SIR MUHAMMAD FAWAD
Submitted By:
HAIDER RASHEED
CMS No:
407054-14454
Subject:
SE
Department:
BS Computer Science
Section:
5B
Question 1: What is the importance of software engineering in the software
industry? [5 Marks]
Software programmers develop programs that can easily change over time, which is important
in today's society when considering how many changes can be made and the cost of developing
new programs. Finally, as mentioned earlier, app developers use best practices to develop an
efficient and effective solution to a particular problem.

The main difference between generic and custom software is that standard products are
controlled by vendors while customization is controlled by the software purchasing
organization. By definition, generic specifications are made by vendors while custom
specifications are made by the purchasing organization of the system; the organization will
define specific needs and requirements.

It becomes more important as time goes on if something breaks within your app portfolio, quick,
effective, and effective repairs should happen very quickly.

Application engineers are important and the most important thing in software engineering is to build
something that has not been before. This is a unique field because it uses a fine line between creation
and science. They need to be able to visualize the product and make it.

Importance of Software Engineering & Code of Ethics | Free Whitepaper (castsoftware.com)

Importance Of Software Engineering In Software Development | ipl.org

Question 2: We have studied different domains of software applications in


lecture 1. Do you think the same software engineering approach can be applied
to each domain? Elaborate your answer with the help of examples. [5 Marks]
First of all YES but not every time. Because we cannot use the same models for every software due to
some reasons such as lack of time, lack of members, small budget, and minimum amount of resources.

But we can say that we make categories of same software like Application software, Web software
Embedded systems, Critical systems, and Large software systems,

We can do this on the behave of

 Architectural design
 Database design
 Interface design
 Component selection and design

We can use different domains, modules, and models in different requirement and resources not for all
time and all circumtances.

Question 3: As a student, you build software in 20 days, and in an industry, you


do the same work in 60 days. Where do you think this extra time and resources
are spent? [5 Marks]
If we able to apply the waterfall model on project then we will spend more time on completing
requirement, send more time on collecting resources, think about better plan, and better solution.

In waterfall model first we are analysis the requirement then make the design of our software, then we
have to start the implementation, testing the software after implementation and focus on the
deployment and also check the maintenance of the total software and fix the all issuses and problems.

Question 4: What are the reasons for a successful and unsuccessful software
project? [5 Marks]
 Successful software project:
If we can use the good model which our software meets the requirements and resources of models then
we can make a successful software.

Ideal projects:
The project is complete on time, in budget, in giving values, and doing all features and functionalities.

Imperfect projects:
The project is completed and operational but after time, out of budget, low to the predicted value, or
lack of features.

Failed projects:
Projects are cancelled due to some reason of development methods.

 Unsuccessful software project:


1. Unclear or vague project requirements
The first step to a successful project is to define the project specs. Even if they want to delight a client,
corporations often miss important nuances that could cause problems later on. Poor communication
and misinterpretation of project requirements might occur in several instances.

2. Poor or limited communication


Lack of communication is one of the most common reasons for software project failure. This does not
automatically imply that your developers are aware of your understanding of the client needs.
Employees may be afraid to express their concerns or ask questions.

In the workplace, effective communication is essential for a variety of reasons. One of the best ways to
keep employees happy and productive is to provide them with an environment that encourages them to
do their best work.

A project manager's dream is open and honest communication. Disagreements are inevitable, yet they
can lead to a well-rounded project that succeeds in the long run. We run the danger of jeopardising the
entire engagement and contributing to the failure of the software project if we keep our worries bottled
up and difficulties ignored.

3. Poor planning
It was shown that 55% of IT professionals' development projects failed because of a lack of time,
resources, and financing. Due in great part to a lack of planning, this has occurred.

As a result, many businesses fail to do a complete feasibility study or even to explore the practical
aspects of a project. This could ultimately lead to a tense situation. and disappointment because of
unreasonable expectations. Having too few senior managers to guide the engineers could be the worst-
case scenario. It is not surprising that the project fails if there is no direction or motivation.

4. Substandard engineers
You cannot blame your developers if your software project does not succeed despite careful planning,
requirements analysis, and communication. Sometimes s lack of qualified engineers, sloppy testing, or
an attempt to speed up the process by slashing corners are all contributing factors.

When a corporation wants to save money, it may turn to outsourcing, which it can get for a tenth of the
normal cost. To no one's surprise, the product is subpar and the project as a whole is a failure. No
matter how meticulously you plan and organize, your software project will fail if you do not hire the
correct developers.

5. The reluctance to adapt


Human nature is to resist change. When you are a project manager, it is important to avoid the
temptation to fight change.
Development teams have access to a plethora of project management tools to make their work more
efficient. Sadly, many PMs are averse to change and uninterested in implementing new technologies to
help their teams work more efficiently and effectively.
Not conducting regular reviews of the development of the project
Initial planning and timelines should be changed frequently. Having a hard time keeping track of your
progress can lead to unpleasant surprises if you are not careful. If you do not have the time or
inclination to actually look at the data, then guessing is just as terrible.
6. Unclear requirements
Failure is almost certain if you do not go through a thorough planning process with your client before
you begin construction. In order to provide the customer with realistic solutions that match their budget
and schedule constraints, you must first have a clear picture of what the client requires. It is common for
us to overlook a lot of small issues at the start of a project in order to win the client's trust.

7. Unrealistic expectations
Unrealistic expectations are something no one wants, but they happen all the time. In order to meet
customer expectations, projects must be delivered on time, on budget, and with the highest quality
feasible. Assurances that everything is possible even delivering yesterday are a way to avoid
disappointment.
8. Not investing enough time and money in your team
It is possible that you could assign the incorrect challenges to the wrong people since you do not fully
understand your team's strengths and weaknesses. Allowing your team members to utilize their
individual talents can make or break a project's outcome.

As a result, employees feel disregarded, irrelevant, and frustrated when their requirements are
overlooked. The quality of their work suffers as a result of this.

9. Over-promising just to close the deal


This one is so crucial that it merits a second draught. Poor business practices include having customers'
expectations raised too high. The foundation of a strong relationship is trust and maintaining your word.
In order to get a contract, you should avoid overpromising and under-delivering. Broken promises do
more harm to your client's trust than anything else. Honesty and openness go a long way in this
situation.

https://thescalers.com/reasons-software-projects-fail/

https://medium.com/superokay/10-reasons-why-software-development-projects-fail-7200e7c9ae2e

You might also like