Question

In: Computer Science

Software Engineering Process Discuss the activities that make up a software engineering process. Your response should...

Software Engineering Process

Discuss the activities that make up a software engineering process.

Your response should include the engineering phases of requirements :

- Design, coding, testing, reviews, refactoring, defects, team and customer communication.

- How is Agile the same as the Plan and Document process (aka Waterfall)

- In what ways is Agile different from Plan and Document

Solutions

Expert Solution

Discuss the activities that make up a software engineering process.

Answer: The software engineering process encompasses the entire range of activities, from initial customer inception to software production and maintenance. It is also known as the Software Development Life Cycle (SDLC).

The software engineering process consists of different phases. each of them are discussed below:

  • Analyzing and Understanding Customer's requirement: This step is also known as the 'requirements collection' step. It's all about communicating with the customer before building a software, so you get to know their requirements thoroughly. It's usually conducted by a business analyst or product analyst. A 'Customer Requirement Specification' (CRS) document is written from a customer's perspective and describes, in a simple way, what the software is going to do.
  • Requirement analysis: This stage involves exploring issues related to the financial, technical, operational, and time management aspects of software development. It's an essential step towards creating functional specifications and design. It is usually done by a team of product managers, business analysts, software architects, developers, HR, and finance managers.
  • Design: is the process which comes after analysis stage. At this stage we create a blueprint for the software. Architects and senior developers create a high-level design of the software architecture, along with a low-level design describing how each and every component in the software should work.
  • Coding and testing: Next, software developers implement the design by writing code. After all the code developed by different teams are integrated, test engineers check if the software meets the required specifications, so that developers can debug code. The release engineer then deploys the software on a server.

  • Review: This is the phase after installation process is completed. The organization tries to take feedback and reviews from the users/customers which hence forth helps the developers to ensure if the software is working perfectly at all stages.

  • Refactoring: is a process of improving the internal structure of an existing program's source code, while preserving its external behavior.

  • Defects: A defect is an error or a bug, in the application which is created. A programmer while designing and building the software can make mistakes or error. These mistakes or errors mean that there are flaws in the software. These are called defects.

  • Team and customer communication: As said, communication is a way to make things easier as well as to fulfill their demands. By having a proper communication with the customers, one can know what the customers are expecting in the upcoming future and what things are to be improved.

- How is Agile the same as the Plan and Document process (aka Waterfall)

Ans: 1. Cost benefit analysis in waterfall is done to evaluate if the project/product development is financially, technically and operationally feasible. This may result in a business case.

Whereas in Agile process, Feasibility is also conducted, however unlike waterfall, this phase will not take long. Considerably less time is spent refining the requirements and working out details. The customer/client are engaged very early in the phase to get buy-in and refine the requirements as we go.

2. In Waterfall model, Detailed planning is considered as a vital part of the conventional methodologies with the aim to deliver the project as per expectations and avoid changes to the requirements/scope. The plan formulated at the start of the project is monitored throughout the project.

Whereas in Agile process, Planning is also very important however, the detailed planning is not done upfront. The detailed level planning is done during a sprint planning when team is ready to take a certain chunk of the requirements and start planning to develop. This planning is ongoing, as the team is working on an active sprint, the product owner along with the scrum master or other SMEs continue to refine requirements and plan the next subset of requirements.

3. Waterfall model involves extensive documentation. Considerable time and effort is spent upfront to document the requirements.

Whereas in Agile process, Advocates working software delivery compared to spending time on comprehensive documentation. However, one should not be carried away with the notion of having absolutely no documentation in Agile SDLC.

- In what ways is Agile different from Plan and Document

Ans:

1. In Plan and Document, this process takes quite a lot of time to prevent reworking in the following phases of the project. It involves analyzing cost and benefit to determine if the plan is financially, technically, and operationally achievable. At times it may lead to a business case.

In Agile project management, however, this takes as little time as possible. You can contact clients in good time in the first stages of the project and settle the project requirements and task details.

2. In Plan and Document, planning in detail is very crucial and is done just once. It allows them to achieve the set goals of the project without making any alterations to the requirements or scope of the project. You can track the formulated plan at the beginning of the project in the entire project progress after it's set the baseline. You can make no change.

Planning in Agile methodology is not done in advance but when the team is prepared to take on a particular set of the requirements and begin to outline the development. In this case, planning is an ongoing process since the team works on an active sprint. Changing the plan is allowed, but you cannot add new requirements to an active sprint.

3. In Plan and Document, you can monitor the project's progress. Frequent status reviews are carried out to analyze the development. Afterward, the status reports will be sent to the management team and the project sponsors. The project managers also make weekly/monthly reports of status and share them with the stakeholders.

In Agile methodology, it is different as the progress gets measured in each sprint. The project team does this, then the sprint reports are handed over to the stakeholders. Another way of tracking project progress is through the demo of the built functionality.

4. In Plan and Document, project team members get assigned particular tasks, and one can work on only their delegated role. It is not up for any change whatsoever in the project life cycle. For example, a developer-only takes care of development tasks and cannot handle any other work.

In Agile project management, on the contrary, the teams are self-organizing and can switch roles among themselves. Or they can work in cycles, for example, a developer can assist a tester in the testing process. There is only a case of scrum master exception in which you can swap with the project manager.


Related Solutions

In Software engineering, Describe in detail the five activities associated with the software measurement process.
In Software engineering, Describe in detail the five activities associated with the software measurement process.
Discuss the three types of filaments that make up the cytoskeleton. Include in your response how...
Discuss the three types of filaments that make up the cytoskeleton. Include in your response how they are constructed, how they are regulated, and what roles they play in the cell.
Discuss the concept of software maintenance in software engineering and the reasons for software modification. List...
Discuss the concept of software maintenance in software engineering and the reasons for software modification. List at least 3 reasons:
Discuss custom techniques for managing shipping process for Toyota around Globalism. Your answer should include software...
Discuss custom techniques for managing shipping process for Toyota around Globalism. Your answer should include software and hardware specifications, technology upgrades,And backup and recovery strategies.
Discuss custom techniques for managing shipping process for Toyota around Globalism. Your answer should include software...
Discuss custom techniques for managing shipping process for Toyota around Globalism. Your answer should include software and hardware specifications, technology upgrades,And backup and recovery strategies.
The “Software Engineering Code of Ethics And Professional Practice” states that a responsible software engineer should
The “Software Engineering Code of Ethics And Professional Practice” states that a responsible software engineer should “Approve software only if they have well-founded belief that it is safe, meets specifications, passes appropriate tests. . .” (sub-principle 1.03) and “Ensure adequate testing, debugging, and review of software. . .on which they work” (sub-principle 3.10).The software engineering code of ethics also states that a responsible software engineer should “Treat all forms of software maintenance with the same professionalism as new development.”(a) Explain...
Discuss steps required to manage a software engineering project.
Discuss steps required to manage a software engineering project.
What are the parts of the evaluation process? Your response should be at least 75 words...
What are the parts of the evaluation process? Your response should be at least 75 words in length.
Discuss three resources and/or specific activities that your institution can make available to your community on...
Discuss three resources and/or specific activities that your institution can make available to your community on a regular basis that will assist community members to (1) better understand their right of autonomy regarding healthcare decision making and (2) help them to become more effective decision makers.
Discuss three resources and/or specific activities that your institution can make available to your community on...
Discuss three resources and/or specific activities that your institution can make available to your community on a regular basis that will assist community members to (1) better understand their right of autonomy regarding healthcare decision making and (2) help them to become more effective decision makers?
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT