Running Head: E-COMMERCE SOFTWARE 1 E-COMMERCE SOFTWARE 3 Software Engineering Report: E-commerce

Running Head: E-COMMERCE SOFTWARE 1

E-COMMERCE SOFTWARE 3

Software Engineering Report: E-commerce in the Time of Covid-19

Name: Ahmed Mahmood AL oufi

ID:20s20024

Semester/Year: FALL/ 2021

Session: D

E-commerce in the Time of Covid-19

Introduction

Covid19 resulted to advancement in ecommerce because of restricted physical interaction. According to estimates in an UNCTAD report on 3rd may, online retail sales has increased from 16% to 19% (UNCTAD, 2021). Customer are able to shop online through mobile apps e.g. Amazon, where they interact with entrepreneurs and products delivered to their respective homes. Reasons for customer shopping online include: a wide range of available delivery, faster to order products, availability of products 24/7, cheaper prices, ease of finding specialized products. Amazon grocery branch whole food markets had improved it’s the online order capacity by over 60% to meet the increased demand. In many countries ecommerce transaction has transformed from luxury goods and services to everyday necessities, suitable for large population (Redman, 2020).

The report will analyze the processes of software development, in which planning and construction phase will be discussed. It will also look at the challenges expected during Software engineering which include limited resources, poor time management, increase in customer demand, rapid technology change and the solution to the problem. The report will also discuss the model used in software development, agile being the best models will be discussed and explain the reason for choosing the model. The method used in the study will be literature review where report on internet about ecommerce during Covid 19 will be reviewed.

Timeline

Task name

Duration

Research topic

3days

Topic approval

2days

Research

6days

Coming up with project

15days

Submit report

1day

Planning Phase

Planning stage is most essential stage of software development, the main objective of this stage is to highlight the scope of problem and find solution. Planning stage is concerned with time, cost, budget and resources required to build soft ware and risk associated with the project (Elzamly & Burairah, 2014). Software developers gather information to understand the problem that needs a solution and meet with relevant stakeholder i.e. customers to determine their needs and requirement. In this stage developers identify a problem that has raised in the ecommerce, after the problem has been identified one collects information through the reviewing of data available that will help to solve the problem.

Communication is very important in this stage. Software developer communicates to the users about what he intends to, the problem he has identified go gather information to be used for solving a problem. In planning stage one puts all the ideas in the table, then one chooses the one problem he intends to solve. Planning help one to save on cost incurred in developing ecommerce website as one is able to find a suitable project that would yield desirable results. It also helps to reduce risk as soft ware developers can conduct surveys about the customer requirement before launching product. Planning also helps to ensure optimum utilization of resources, with planning there is no wastage of resources.

Budget

Project stages

% of overall budget

Amount in Us dollars

Planning

8.2%

210

Development

12%

280

Testing

12%

280

Scope changes

12%

280

Project management

12%

280

Server administration

2.8%

120

Marketing and sales

41%

800

Total

100%

2250

Gantt chart

Construction Stage

Before construction stage software developers be able to find out technical and functional requirement of software. The purpose of construction is to change the approved model and architecture into working system. The stakeholders approve and sign off the architecture and testing the unit components. The stage focuses on model storming, newly developed software, a solution understanding the requirement, concrete, coding, components integrated into application and testing the software. The system is released externally or internally to get feedback from the users. For one to pass through construction to transition stage the software developers must pass the Initial Operational Capability Milestone. Being able to see the final product makes it easier to know best way to build a software project.

The objective of construction stage

To reduce development cost by maximum utilization of resources.

To achieve better quality products as rapidly as practical

To achieve important versions as fast as practical

Coding

The coding process of software development involves conversion of the system model into a computer language format. Coding is done by the independent programmers. The goal is to cut to the cost of a later stage. It reduces the maintenance and testing cost. Software developers must meet the coding requirement for the software to be implemented.

Challenges in Software Engineering

Software engineering involves examining requirements of users, modeling, construction, and testing software application if it satisfies users requirements. Soft ware developers have developed ecommerce through websites where the company can easily communicate with their customers and get feedback about the product they sale. For instance, Amazon is one application app where people shop online and the goods are delivered to their respective place. Because of increase in demand many software developers have been forced to develop software within limited budgets and limited timeline. Software development has been important in e commerce during the time of Covid-19, many people were restricted from moving from one place to another. Therefore, through e commerce a customer is able to get the products he or she wants through social media and online apps then goods delivered to them. Although software engineering is very important in e commerce there are many challenges expected during software engineering.

The software developers will face a problem of rapid technology change. With change in technology one has to update their skills to adopt the new technology, the product will also loose meaning before being used by the final users, the software developer will have to be trained, this will cause him to incur more cost i.e. training employees. Technology changes also affects the budget as one has to buy new equipment to adopt the new technology. To solve the problem of rapid technology changes software developers should be trained to acquire new skills that will help to cope up with new technology and innovation in the market and also research on the new trends and technology in the market this helps to create a product that satisfies the user requirements.

Increasing customer demands is also a problem that software developer will face. The main aim of coming up with soft ware project is to model and build software products that satisfy the customer demands. To be able to come up with the product must try as much as possible to meet the increasing demand of customer. Due to change in consumer demands software developer will come up with the project that does not satisfy the customer. The solution to this problem of software developer should involve the users in the development process from the first stage of product development to meet the requirements of the users and also monitoring of the end results of products by management to ensure they comply with the requirement of the users.

Software developer will also face a challenge of poor time management. Software development has a time limit, there is timeline for each process. Plan is future oriented, it may not take into consideration the risk associated with software development. Once the risks occur it will affect the project timeline and also some projects require more time to be completed which is not considered in plan therefore making it difficult for soft ware developers to manage time allocated for the project. The best solution to solve this problem will be to train software developers in time management skills, to avoid errors in final product that will occur as a result of pressure meeting the required deadline and also create a plans that are flexible, to ensure the project is carried out within the specified time.

One of the major challenge that software developer will face is limited resources for software development. Inadequate resources occur when software developers do not have enough resources to come up with the software effectively e.g. software developers not being able to assess high performance tools used in software development and also having little capital to fund the project. For effective execution of the project the software development company needs a huge amount of capital to develop a software, as each stage there is cost attached to it (Cao et al., 2013). The available resources for software development is inadequate, one has to utilize the available resources effectively. This will be a challenge because some stages of software development require more capital to come with quality product. To solve this challenge, the software developer should create a document that indicates the resources required to develop the software. This is very important for effective utilization of available resources and also avoid wastage of resources and also organize the resources required before modelling and construction of the software project.

Another challenge that software will experience is the interpersonal conflict with software testing teams. This conflict is as a result of difference in job roles, opposite nature of testing and development and working in an environment with high performance pressure. For instance, Software developers seek to complete process in shortest amount of time while testers seek to maximize effectiveness, by ensuring the end problem has good quality, this has resulted to Conflict between the developer and testers. Conflict affect the project if not effectively managed and controlled. To solve this problem Software developer should Implementing software development best practices Introducing team to handle the testing-development crisis and also enhance technical know how of the team involved in software development.

Agile model

Agile is the most preferred method in ecommerce soft ware engineering during the time of Covid 19, this is because it focuses on customer adaptability, feedback and satisfaction i.e. it puts the customer needs first (Sharma et al., 2012). The model was developed to solve problems that was not solved by ancient application. Agile seeks to release software cycles quickly, to respond to a changing market. The model requires a strong team with excellent communication because it seeks to launch the software quickly to cater for market change. This model is a combination of iterative and incremental model (Ashishdeep et al., 2016). Each project is broken up into several iterations in the same time duration.

In every iteration methodology involves planning, requirement analysis, design, coding, and testing. When iteration ends the product is shown to relevant stakeholders e.g. customer. The customer interacts with the software and provide feedback which allows developers to make correction and changes when needed. In incremental development strategy this is where product version is usable. Agile software development focuses on coding, testing and delivering a functional unit (Flora & Chande, 2014). The model requirement can change depending on the customer requirement.

Agile model can be used for both small and large projects as it is very adjustable, flexible and adaptable to the software needs. Example of agile methodologies are Crystal, Extreme programming and Scrum.

Diagram showing agile model

Diagram courtesy of Google

Why E-commerce software developers prefer agile model

Customer satisfaction is main concern in Agile method, there is greater retention of customer because they are involved in decision making process. According to Kohlbacher et al (2011), the model focuses on customer satisfaction and adaptability. By listening to customer feedback this will ensure the final products are according to customer requirement.

In Agile model, there is improved project predictability, risks can be predicted and come up with sound plan to ensure smooth running of the project. For instance, in scrum methodology there are use of burn down which allows developers to predict performances and plan accordingly by increasing visibility of the project (Matharu et al., 2015). Agile works in small sprints that focus on continuous delivery thus minimizing risks.

Quality of the final product is greater in Agile model because testing is essential during project execution stage. The customer is involved in e commerce soft ware development process who provide feedback to enable changes if needed by the customer thus better quality product. Agile is also flexible, as it allows the team Software developers are able to implement small part of the model at a time instead of waiting for the design to be complete for Soft ware developers are able to implement small part of the model at a time instead of waiting for the design to be complete for them to implement (Dönmez et al., 2016).

In agile model there is continuous improvement. Small part of design is implemented at a time and customer are allowed to provide feedback instead of completing design then ask for feedback. This helps software developers to know what customer wants. For instance, Agile works in iterations which has small sprints, as you move from one splint to another, one becomes better and will not repeat the mistake they made from previous process. Agile model allows developers to learn from their experience thus correcting their mistake

According to Meso and Jain (2006), agile model is important in E-commerce software development it ensure there is frequent feedback from the users. Rico and PMP (2008) states that agile model is associated with increase in productivity, quality, customer satisfaction and also improvement in cost efficiency, thus agile model has helped ecommerce to achieve its objectives.

Conclusion.

Software development involves different phases and each phase has its objective. In planning phase, the main objective is to estimate the cost and time. Budget and timeline are drawn to estimate the amount of money used to develop a software and time for each task respectively. Construction phase involves changing the proposed model into working system. There are different models in software development but agile model is most prefer because it focuses customer satisfaction, minimize the cost required in management costs, it relies on the feedback of the customer thus increasing customer retention, it has developed a good relationship between the developers and the stakeholders by involving them in decision making process. Thus the model has helped ecommerce software to achieve its objectives.

References

Elzamly, A., & Burairah, H. (2014). Managing software project risks (Planning Phase) with proposed fuzzy regression analysis techniques with fuzzy concepts. International Journal of Information and Computer Science (IJICS), 3(2), 31-40.

Rico, D. F., & PMP, C. (2008). What is the ROI of Agile vs. Traditional Methods?. TickIT International, 10(4), 9-18.

Meso, P., & Jain, R. (2006). Agile software development: adaptive systems principles and best practices. Information systems management, 23(3), 19-30.

Dönmez, D., Grote, G., & Brusoni, S. (2016). Routine interdependencies as a source of stability and flexibility. A study of agile software development teams. Information and Organization, 26(3), 63-83.

Matharu, G. S., Mishra, A., Singh, H., & Upadhyay, P. (2015). Empirical study of agile software development methodologies: A comparative analysis. ACM SIGSOFT Software Engineering Notes, 40(1), 1-6.

Flora, H. K., & Chande, S. V. (2014). A systematic study on agile software development methodologies and practices. International Journal of Computer Science and Information Technologies, 5(3), 3626-3637.

Ashishdeep, A., Bhatia, J., & Varma, K. (2016). Software process models for mobile application development: A review. Computer Science and Electronic Journal, 7(1), 150-153.

Sharma, S., Sarkar, D., & Gupta, D. (2012). Agile processes and methodologies: A conceptual study. International journal on computer science and Engineering, 4(5), 892.

Cao, L., Mohan, K., Ramesh, B., & Sarkar, S. (2013). Adapting funding processes for agile IT projects: an empirical investigation. European Journal of Information Systems, 22(2), 191-205.

Kohlbacher, M., Stelzmann, E., & Maierhofer, S. (2011, April). Do agile software development practices increase customer satisfaction in Systems Engineering projects?. In 2011 IEEE International Systems Conference (pp. 168-172). IEEE.

Redman, R. (2020, April 13). Amazon, Whole Foods limit online grocery customers. Supermarket News. https://www.supermarketnews.com/online-retail/amazon-whole-foods-limit-online-grocery-customers

UNCTAD. (2021, April 8). Global e-Commerce jumps to $26.7 trillion, COVID-19 boosts online sales. https://unctad.org/news/global-e-commerce-jumps-267-trillion-covid-19-boosts-online-sales