Here is what users have to say about Software Development
Entry added by CWAnswers Join us and contribute your knowledge as well.
Select content modules
Software development is the translation of a user need or marketing goal into a software product. Software development is sometimes understood to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. This is in contrast to marketing software, which may or may not involve new product development.
Help us make CWAnswers better. Be the first one to edit this topic!
Weblinks for software development
Top 10 for software development
Things about software development you find nowhere else.
Comments about this page
Wikipedia about software development
Software development is the translation of a user need or marketing goal into a software product. Software development is sometimes understood to encompass the processes of software engineering combined with the research and goals of software marketing to develop computer software products. This is in contrast to marketing software, which may or may not involve new product development.
It is often difficult to isolate whether engineering or marketing is more responsible for the success or failure of a software product to satisfy customer expectations. This is why it is important to understand both processes and facilitate collaboration between both engineering and marketing in the total software development process. Engineering and marketing concerns are often balanced in the role of a project manager that may or may not use that title.
Because software development may involve compromising or going beyond what is required by the client, a software development project may stray into processes not usually associated with engineering such as market research, human resources, risk management, intellectual property, budgeting, crisis management, etc. These processes may also cause the role of business development to overlap with software development.
In the book "Great Software Debates", Alan M. Davis states in the chapter "Requirements", subchapter "The Missing Piece of Software Development": cquote: Students of engineering learn engineering and are rarely exposed to finance or marketing. Students of marketing learn marketing and are rarely exposed to finance or engineering. Most of us become specialists in just one area. To complicate matters, few of us meet interdisciplinary people in the workforce, so there are few roles to mimic. Yet, software product planning is critical to the development success and absolutely requires knowledge of multiple disciplines.
Various approaches to software development
There are several different approaches to software development, much like the various views of political parties toward governing a country. Some take a more structured, engineering-based approach to developing business solutions, whereas others may take a more incremental approach, where software evolves as it is developed piece-by-piece. Most methodologies share some combination of the following stages of software development:
- Gathering requirements for the proposed business solution
- Analyzing the problem
- Devising a plan or design for the software-based solution
- Implementation (coding) of the software
- Testing the software
- Deployment
- Maintenance and bug fixing
These stages are often referred to collectively as the software development lifecycle, or SDLC. Different approaches to software development may carry out these stages in different orders, or devote more or less time to different stages. The level of detail of the documentation produced at each stage of software development may also vary. These stages may also be carried out in turn (a “waterfall” based approach), or they may be repeated over various cycles or iterations (a more “Xtreme” approach). The more extreme approach usually involves less time spent on planning and documentation, and more time spent on coding and development of automated tests. More “extreme” approaches also promote continuous testing throughout the development lifecycle, as well as having a working (or bug-free) product at all times. More structured or “waterfall” based approaches attempt to assess the majority of risks and develop a detailed plan for the software before implementation (coding) begins, and avoid significant design changes and re-coding in later stages of the software development lifecycle.
























Mr Wong




Show/Hide