The Importance Of Commercial Software Development
Can you imagine life without your computer? Can you imagine life without the internet? We are so used to technology playing a major role in every aspect of our lives that we also take it for granted! Have you ever given a thought to how this technology that we take so much for granted is created or developed? The process of commercial software development is one that is not by any means to be taken simply. There are many considerations that have to be taken into account even before the process can begin. The goals that are to be achieved have to be clearly defined, though you cannot expect them to remain the same throughout the project. Rapidly changing times often lead to changing goals even during the ongoing process.
The process includes all activities that result in new software products like new development, research, prototyping, modification, re-engineering, reuse, maintenance and so on. The end purpose for which the program will be used will largely decide the methodologies which can be best suited to the development process. Software is usually created for three major reasons. Custom software is created for a specific client or business, commercial software is created with an aim to cater to the perceived or projected needs of a potential set of users and personal software is created for a specific personal use (like a scientist writing a program to aid in his/her specific research project). Whatever the purpose of the end product, quality checks during the development process are vital for its successful functioning.
There are many different stages in the software development lifecycle or SDLC. Some of these are analyzing the problem, market research, gathering the requirements for the proposed solution, devising a plan for the software-based solution, implementation or coding of the software, testing, deployment and maintenance or bug-fixing. Depending on the methodology used for the development process, these stages are undertaken in different orders. If the traditional waterfall methodology is used, these stages will be implemented in order. If a more extreme methodology or approach is used, these stages may be repeated continuously over various cycles or iterations. In the more €extreme€ approaches, less time is spent on planning and more time is spent on the actual coding process and also simultaneously automated testing process. The €extreme€ methodology also aims at having a working or €bug-free€ product at all times.
There is no doubt that commercial software development process is one of the most important contributors to our technology dominated lives in these modern times. For example, the common operating systems that we use to work on our computers are the result of such development processes. The common updates of our programs or applications that we install at regular intervals are improvements that are the result of constant maintenance and bug-fixing. The methodology that is used for the process depends on how well defined the goals or problems to be solved are. The more clear the problem to fix, the more traditional the approach that can be used. However, if the problem is not clearly defined, then envisioning the development process beforehand can be a problem and a more €extreme€ approach will be used.
The process includes all activities that result in new software products like new development, research, prototyping, modification, re-engineering, reuse, maintenance and so on. The end purpose for which the program will be used will largely decide the methodologies which can be best suited to the development process. Software is usually created for three major reasons. Custom software is created for a specific client or business, commercial software is created with an aim to cater to the perceived or projected needs of a potential set of users and personal software is created for a specific personal use (like a scientist writing a program to aid in his/her specific research project). Whatever the purpose of the end product, quality checks during the development process are vital for its successful functioning.
There are many different stages in the software development lifecycle or SDLC. Some of these are analyzing the problem, market research, gathering the requirements for the proposed solution, devising a plan for the software-based solution, implementation or coding of the software, testing, deployment and maintenance or bug-fixing. Depending on the methodology used for the development process, these stages are undertaken in different orders. If the traditional waterfall methodology is used, these stages will be implemented in order. If a more extreme methodology or approach is used, these stages may be repeated continuously over various cycles or iterations. In the more €extreme€ approaches, less time is spent on planning and more time is spent on the actual coding process and also simultaneously automated testing process. The €extreme€ methodology also aims at having a working or €bug-free€ product at all times.
There is no doubt that commercial software development process is one of the most important contributors to our technology dominated lives in these modern times. For example, the common operating systems that we use to work on our computers are the result of such development processes. The common updates of our programs or applications that we install at regular intervals are improvements that are the result of constant maintenance and bug-fixing. The methodology that is used for the process depends on how well defined the goals or problems to be solved are. The more clear the problem to fix, the more traditional the approach that can be used. However, if the problem is not clearly defined, then envisioning the development process beforehand can be a problem and a more €extreme€ approach will be used.
Source...