Save Time and Money during your Software Development Life Cycle
First, I would like to talk about planning. Planning is the first step when designing a new website for your company or your client. But how do you plan a project that hasn’t been developed before and how long could it take to develop with marginal ROI? These are some of the questions that I would like to address shortly. The Consortium for Information & Software Quality™ (CISQ™) released new research: and estimated that Unsuccessful IT/software projects cost the US about $260 billion including – $1.56 trillion in Operational software failures – $1.56 trillion. It is important to note these figures because, your software project could cost you time and money. This can be avoided by managing the work plan and removing quality problems in the software. These problems are referred to as bugs, faults, errors, and defects to name a few.
How does quality help me save time and money?
To understand this scenario, you will need to also understand system development life cycle. In the early days, programmers didn’t understand the need for formal and well-planned life-cycle and they tended to move into writing code from a very simple planning phase or what you may call very fuzzy not well-thought-out system request into writing code. This approach may work fine for small programs but if the requirements are complex or unclear you might miss important aspects of the problem and have to start all over again throwing away part of the program and the time and the effort spent writing it. Moreover, applying a quality process to the development of the software product will avoid redoing some of the tasks that should have been initially added to the project plan avoiding an increase in the time to complete the project and time to market.
Verification and Validation are two independent methods that can be used together to check that a software product meets the requirements and meets the intended purpose (Software Engineering | Software Quality Framework – GeeksforGeeks, 2022). The initial goal is to be able to identify the objectives of the project and manage the project in such a way that you can make trade-offs between the functionality of the system you are about to develop, the time to complete the project, and the cost of the project. The developer collaborates with stakeholders during interviews and the best analysts use various techniques to gather all the requirements needed to meet the needs of the organisation. During Verification we assume that if we should build a project then we check whether the software achieves its goals without any bugs or defects. While during validation we check, if what we have built, has met the high-level requirements of the project (Software verification and validation – Wikipedia, 2022).
What are the High-level requirements of a project?
Now, every project should come inform of a request. This request should include a business need for example increase retail store sales by implementing an online store. The business need presents the reasons for prompting the project (Tegarden, Dennis and Wixon, 2022). Now this business need should drive the high-level business requirements of the online store. The requirements are what the online store will do or the functionality it will contain. They need to be explained at high-level so that the approval committee and ultimately the project team understand what the business expects from the final product. Business requirements are the features and capabilities the information system will have to include such as the ability to collect customer orders online.
Functionality, time and cost of the project are like levers that can be used to control the development of your system and the project plan can be used estimate how we can roll out the project in such a way that it meets the needs of the organisation by estimating each of these levers and assessing them continuously.
Let’s say you want to create a new website for your company and you don’t know where to start. The first thing you should do is find out if there’s a framework you can use to integrate the system with the company’s existing technology. The harder it is to integrate the higher the risk as systems are rarely built in a vacuum. Most systems are built in organizations that have numerous systems in place.
Software engineering requires discipline most especially around circumstances like working from home. So how do you as a software engineer plan, measure and manage your work? Let’s start from the very basics. To understand the quality of your work as a software engineer you will need to analyse the results of your job. At the beginning of a project, engineers start by planning the work that needs to be done after defining the requirement statement. This statement is then used as a basis of the plan.
The main question is how do find out how long it takes to build a new feature? And when do you know your website is complete? When building a new feature or a new system as a whole there are different ways in which you can make estimates on how long it will take to build a new feature. It could be done by experience from past projects in another organisation or by making use of robust analysis techniques (Use case points). Using these analysis techniques could seem more realistic than making your guesses as using these techniques could give you values that may seem overly high. However, using these techniques also allows you to make a more precise calculation about how long it will take to complete a project and the values could also be tweaked when there’s confidence in understanding the time it might take to complete a task.
How long would it take to build a new website?
Before planning a new website or developing a new feature the developer communicates with anyone that has an interest or is concerned with the project. Even if you are building a project for yourself the communication between you and your environment is a factor that influences you. Communication happens at various stages of development. It is during this activity that you gather all the requirements for building your site.
In the movie, The Social Network, the athletes were informed about the news of a website that received several thousand hits on their campus allowed them to communicate with the creator of the site. These are the activities that occur during development. Nevertheless, planning a project and understanding how long it will take would require a set of activities with a starting point and an endpoint to create a system that brings value to the business. If we refer back to the movie from the social network the movie didn’t end when the website was created and, in the movie, you could realise that the site was bringing some value to the end-user.
If your aim is to monetize your Blog quickly Google can help you estimate how to make four figures or more (Google AdSense) use Google AdSense Calculator, then there are more than a few ways you can achieve this the most popular being affiliate marketing and advertisement. Anyone who recognizes a business need in an organisation should have an idea of the business value gained from the implementation of a new project both in tangible and intangible ways.
Once the need for the system and the high-level business requirements have been identified a feasibility analysis is carried out to have an appropriate understanding of the opportunities and limitations associated by the project and to determine whether or not to proceed with the project. During this activity you are able to assess the risk more closely. Many things can cause risks these includes weak personnel, scope creep, poor design an overly optimistic estimate. These are tracked using a risk assessment or a document tracking all the potential risks along with an evaluation of the likely hood of each risk and its potential impact on the project.
However, at the beginning of the project there are other things that may cause potential risk to the project. For example, less familiarity with the technology used to build the system generates more risk including less familiarity with the business functional area, as the analyst have higher chances of misunderstanding the users. Also, the risk increases dramatically when the users themselves are less familiar with the technology. Developing new systems in general is riskier than producing extensions to an existing system because existing systems tend to be better understood.
Once these risks have been evaluated efficiently, the project team can attempt to answer if they should build it using a cost-benefit analysis technique. This activity will enable you to calculate your Marginal ROI.
References
[1] GeeksforGeeks. 2022. Software Engineering | Software Quality Framework – GeeksforGeeks. [online] Available at: <https://www.geeksforgeeks.org/software-engineering-software-quality-framework/> [Accessed 17 August 2022].
[2] En.wikipedia.org. 2022. Software verification and validation – Wikipedia. [online] Available at: <https://en.wikipedia.org/wiki/Software_verification_and_validation> [Accessed 17 August 2022].
[3] Tegarden, D., Dennis, A. and Wixon, B., 2022. Systems Analysis and Design with UML. 4th ed. Singapore: John Wiley & Sons, p.52.