Respond to Ryan:
This week I found an article titled: Applying performance patterns for requirements analysis
Cite: Azadeh Alebrahim and Maritta Heisel. 2015. Applying performance patterns for requirements analysis. In Proceedings of the 20th European Conference on Pattern Languages of Programs (EuroPLoP ’15). Association for Computing Machinery, New York, NY, USA, Article 35, 1–15. DOI:https://doi-org.ezproxy.umgc.edu/10.1145/2855321.2…
This Article is describing performance of software that is being developed an important quality that should be considered at the start of development and considered throughout. Fixing performance issues at the end of development can be costly and time consuming. This article is proposing a structured method for problem-oriented performance requirements analysis (PoPeRA). This will guide engineers in identifying problems and utilization. The structure from this approach of problem solving is breaking down the identified problems in smaller sub problems that are easier to fix than the who problem which can be complex.
The PoPeRA method specifically lists the following approach:
- It allows decomposing the overall software problem into simple sub-problems, thus reducing the complexity of the problem
- It makes it possible to annotate subproblems with quality requirements, such as performance requirements (e.g. [Alebrahim et al.2011b])
- It enables various model checking techniques, such as requirements interaction analysis and reconciliation [Alebrahim et al.2014] dueto its semi-formal structure.
- It supports a seamless transition from requirements analysis to architectural design (e.g. [Alebrahim et al. 2011a])
Why is this method of problem solving used?
- It supports requirements engineers in identifying potential performance problems.
- It provides guidance for refining performance problems located in the problem space.
- The elaborated performance requirement models can easily be transformed into a particular solution in the software architecture. Thus, it bridges the gap between two domains, namely the requirements domain and the software architecture & design domain.
- It supports less experienced software engineers in applying solution approaches early in the requirements analysis in a systematic manner.
The Articles conclusion states that the PoPeRA method helps the performance analyst identifying potential performance problems as early as possible in the software development process using performance-specific domain knowledge. Furthermore, it provides support for selecting appropriate performance analysis patterns to solve the identified potential performance problems.
My reaction to this is that this seems like a sound method of problem solving and obviously troubleshooting software is a necessity if development. I would say that since they have a lot of detail to each approach of this methods it is important to either have a person coordination the efforts of problem solving with the PoPeRA method or have the engineering staff trained to use this approach as the standard practice.
What are some important issues a project specification should address?
I think that before any time is used to development, we should ask ourselves how realistic are the goal given the time frame, do we have the skills needed, can we reproduce the results?
Respond to Gomez:
Requirement analysis creates organization with new or already developed applications or software for the developers and stakeholders to understand the overall picture in development. The article mentions a program using mixed reality for medical personnel to develop a stronger training aid using different scenarios that stimulates the trainee’s decision making. However, the program has already been developed and the requirement analysis is used to improve the application to create an enhanced learning environment.
The analysis is created by using medical professionals to test the application and review it by comparing it with real-world experiences. It gives the developers ideas on to redevelop the software and create a realistic environment that will involve their emotions when making decisions. I personally believe the idea used for their analysis helps with their development of their software. Using real world scenarios with professionals that have field experiences will help advance their software for a more useful training aid.
A project specification can address multiple issues when creating a plan or blueprint of a project. Overall, it can address the overall purpose of the project. If there is no meaning to the project, then the project is useless and man-hours are wasted. Second, it creates organization and can develop checkpoints with dates when dealing with large projects. Organization can help develop motivation for the teams as they watch the project grow into a functional application or software. However, without organization it can create chaos and miscommunication within the different teams which can push deadlines back and preventing the project from meeting its deployment date.
A good plan can remove any questions and misinformation when dealing with project specifications. There are some who do not have the experience when creating a project specification which leads to a disaster when creating the project. Overall, planning is the most important piece before creating a project as it will help create the small pieces to build the big picture.
9 Project Management Challenges and How to Overcome Them. (2021, February 21). Project. Retrieved March 26, 2021, from https://kissflow.com/project/project-management-challenges/
Antoniou, P. E., Dafli, E., Arfaras, G. & Bamidis, P. D. (2017, August 23). Versatile mixed reality medical education spaces; requirement analysis from the expert users. Pers Ubiquit Comput, 21(6), 1015-1024. http://dx.doi.org/10.1007/s00779-017-1074-5
Solving the Most Common Problems with Requirements Specifications. (n.d.) Tecnova. Retrieved March 26, 2021, from https://www.tecnova.com/blog/requirements-specification-template-solving-common-problems