answersLogoWhite

0

How do you engineer a software?

Updated: 8/11/2023
User Avatar

Wiki User

14y ago

Best Answer

As simply as possible, developing and testing small pieces over short intervals, getting frequent feedback from the users or the other stakeholders who have envisioned the product, by as small a team as can do the job initially. One or a few talented and probably more expensive resources up front are worth a lot more than many mediocre resources. If you can be flexible, then allow flexible hours, relax the deadline a little, and offer a percentage of the profits. That way you may be able to get someone good who already has a job but wants to get in on the business; i.e. you may be able to get them for a lower price and allow them to work nights and weekends. The average resources can come later when it is time to do more simple maintenance tasks. Upfront you want someone with maturity, development talent, creativity, and the ability to deliver. You want to get a solid technical person with a good reputation (job wise and in general), and then trust them to make the right technical decisions, versus trusting Gartner Group, tech magazines, or what "everyone else seems to be doing." Try to define your product (and sell to your market) in such a way that you are able to get interest in something that you would be able to deliver in the course of 3 months or so -- 6 at most. Try to avoid getting hooked into developing something that takes a year or more to develop unless people have signed on the dotted line already and paid for at least part of its development. Perhaps have those with a vested interest pay when certain development milestones are reached and demoed to them, to show their good faith and true interest in the product. (This is, of course, if your product is for a vertical market versus a horizontal one.)

User Avatar

Hailee Vandervort

Lvl 13
2y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

12y ago

Great question. Any successful program has a few simple steps that have been carried out properly and fully.

First, and by far the most important step is to establish the task that is to be carried out by the program. In other words, it is important to fully and completely understand what the program is supposed to achieve. This isn't programming. It isn't related to software at all. It is simply gaining an understanding of the task. Without getting this step right, in my opinion, the program is doomed to failure before it has got started.

The next stage is to analyze the task and break it down into separate stages and work out what information needs to be input, handled and output. This still is not programming, but is needed to begin the design of the program structure.

Only after the first two stages are completed is it the right time to consider what type of hardware will be needed and also the best programming language to use.

As the hardware and languages are being considered, the detailed structural design of the program can begin. This is still independent of the program language although the choice of language is likely to affect the way the structure is developed.

The next stage is to begin writing program code in the chosen language. Most programmers would agree that is this stage takes more than 30% or so of the project effort, it probably means that not enough effort has been put into the earlier parts of the project.

The last stage is the testing. This is the phase where you try to break the program. Any user of software will do things that programmers can never imagine people doing. The testing needs to make sure that errors such as unexpected data and plain stupid actions are handled nicely. A program needs to be robust and cope with a user typing "September" even if the program wants to get "09" representing the month number, for example. Good testing normally results in a program that users will be happy with.

This is a very, very simple summary of a program development. Every programmer or developer will have their own way of working through the process, with additional steps, perhaps going back and revising parts of it or changing functionality as the project progresses. Whatever process is used, it is important to realise that learning a programming language doesn't make you a programmer by itself because there is far more to programming than just bashing out program code.

Is it worthwhile to find a programmers' forum - Most programmers are happy to offer assistance to others fi they are asked sensible questions. Good luck.

This answer is:
User Avatar

User Avatar

Wiki User

14y ago

There are two general approaches to engineering software. Both have to do with how software projects are managed. One approach is called the Waterfall approach. The other is called the Agile approach. In the Waterfall approach, the project moves through a series of stages. These are conception, requirements analysis, design, programming, testing, and delivery/deployment/distribution. A project timeline gets developed in which the time for each stage is estimated, and deadlines for each stage are set. Often a certain amount of extra time is added for unforeseen events. In the Agile approach, a periodic cycle is set up, generally between two and six weeks per cycle. During each cycle, most of the stages of the Waterfall approach get done to the extent that time allows. So in each cycle the team does analysis, design, programming, testing, and demonstration to the customer. At which point the next cycle begins by asking the customer what part they need to have done next. The Waterfall approach is good when what is needed by the customer (requirements) is well understood up front, and is not likely to change. The Agile approach is good when either what is needed by the customer is not well understood (even by the customer), or requirements are likely to change during the course of the project.

This answer is:
User Avatar

User Avatar

Wiki User

9y ago

Software engineers create software by writing what we call programs.

Programs are written in different programming languages such as C, Java, BASIC, C#, C++, Pascal and many others. The language used can be seen as the idiom in which software engineers communicate with computers.

A program is basically a routine for a computer system. We could say that the code is the intelligence of the program.

All code written uses logic.

This answer is:
User Avatar

User Avatar

Wiki User

15y ago

A program is developed by creating a set of instructions in a computer language, such as Binary or Javascript.

This answer is:
User Avatar

User Avatar

Wiki User

13y ago

A software is written with some kind of programming language by a programmers .

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: How do you engineer a software?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What is the abbreviation of software engineer?

software engineering


What careers are there that call for a computer software engineer?

Software engineer.


Which job is better system analyst software engineer and software developer and testing or any other please explain?

Well for me is software engineer. Why? because software engineer know's how to develop software and software engineer has a multitasking skills.


Who was the first software engineer?

the first software engineer was David Caminer


What is the nature of work for trainee software engineer?

The nature of the work for trainee software engineer is to install, and update software. A trainee software engineer is also involved in troubleshooting.


What engineer begins with s?

· Software Engineer


Which job is better Computer Hardware Engineer or Computer Software Engineer?

software engineer is better according to my point of view


What is the duty of a software engineers?

to engineer software?


When was David Crowe - software engineer - born?

David Crowe - software engineer - was born in 1966.


What engineering job starts with an s?

Engineers that start with the letter s:software engineersatellite engineer


What engineers start with s?

Structural engineer software engineer systems engineer sivil engineer ;)


What engineer job starts with the letter s?

· Satellite Engineer · Software Engineer