Introduction The main purpose of the paper is to give us an idea on shared understanding in software engineering and why it is essential for efficient software engineering. It is greatly needed to ensure the outcome of a software development project is a success and is with very less bugs to no bugs when it goes live. We will also look at its significance in software development and its contribution towards shared understanding. This report will also provide you with the implications that are involved in software development which will highlight the key aspects of shared understanding.
On the topic paper, the authors talk about explicit shared understanding and implicit shared understanding which we will discuss further in this critique report. They discuss how the stakeholders and software engineers are required to share their understanding with their team in order to achieve the goal of producing high quality and bug free software – this will be crucial and very important prerequisite for the development of a software system. The research paper has been well structured and they have followed an organised approach to display their work in shared understanding for software engineering.
This was initially presented in a conference by an author who came out with the idea of shared understanding and later it was improved upon the first presentation. Key terms or concepts Explicit shared understanding (ESU): In explicit shared understanding, all group members share the same idea and gather requirements to develop the software and preparing the documents and manuals. This understanding is widely used these days as it is easy to follow and agreed by most of the people.
Implicit shared understanding (ISU): In implicit shared understanding, all the group members have ifference ideas and possess different levels of knowledge and values; each one has their own opinion on the development of the software. Often there is no need to communicate and also it greatly minimises the chance of misunderstanding a concept or a process. Significance and Contribution Both the authors have done a good job in bringing up the concepts and have researched very well on shared understanding.
They have prepared this paper by researching various literatures on shared understanding, software development and other closely related areas. They have used he reflection and introspection as their research method though this is not one of the standard approaches that are followed. Their main goal for this research was to provide an overview of shared understanding in the field of software development and do a survey of the processes and methods that are used and practiced at the moment. In terms of applying the concepts of shared understanding in User Centred Design (UCD), it relates to barriers and enablers which are used in UCD.
It all depends on the information shared and gathered by the authors in the field of software development and engineering. For example, while gathering the requirements for software, the business analyst or the one who gathers the entire requirement would be responsible to capture all the needs of the customer so that the end result in the form of software is exactly or somewhat closer to what they expected. In order to achieve this, it is important to have a shared understanding between the development team and the customer or the client.
The roadmap provided on shared understanding tells us the current day scenario and how it works today in reality. Evidence They have used various techniques to put things together to ake sense like for example, they have gone through and thoroughly referenced a lot of resources and documents to make this research paper readable and useful for future analysts. They have drafted a lot of scenarios and examples in system, prepared a lot of use & test cases. The reference section of the research paper clearly shows how much time and effort they have put in understanding the concept of shared understanding before doing the research paper.
They have asked themselves questions on things to see if they can answer and if others agree to their view. They have also conducted arious surveys to get the view of others and have included the end result in their paper. Implementing prototypes is the key which is discussed and supported by the author as it helps in providing the customer with the overview of the product and also helps in getting feedback and making the improvements to the software. By practicing various enabling approaches and building a model of the software, it helps in identifying the areas that needs improvement and require changes to work as expected.
They have used different variety of practices to accommodate the concepts and to prove that their study is acceptable. We must agree to the fact that both types of shared understanding is very important and should be used appropriately in software development to get the best outcome as both are equally important. The paper gives us various methods and ways to get more information on shared understanding by asking relevant questions and answering them appropriately. They have discussed about the traditional waterfall model and agile methodology in software development process and provided with some examples.
However, the author supports the process of developing a prototype which is similar to the approach we have followed in UCD. They have validated their study by means of conducting surveys and by referring various documents which support their research paper. Shared understanding is a flexible approach and so it should be widely used in the future. Implications for software development They have followed a systematic approach to showcase the implications that rises in development of software. As mentioned in the research paper, though many organisations follow the agile method, one should study the impact of using this method.
This will aid in going for a different approach or method if it doesn’t suit their organisation. In the end, what matters the most is that if the developed product is worth the time, money and efforts invested on it and if the customer is satisfied about the product. The author is consistent in his approach and also in incorporating the UCD processes and principles and this has helped me to understand that prototyping approach is well supported and it provides the best outcome in software development.
The methods and approaches that are discussed and covered can be used in our software development lifecycle and can be very useful in terms of evaluating the software for bug and get feedback from the ustomer and look at improving it. One of the main issues that are discussed is that the requirement gathering process isn’t always the easiest of tasks and the development team is the one who is hit by poorly drafted requirements documents. Also, it is very hard to deal with too many changes during the development phase.
The requirements may change as we go in the development phase and even the testing phase may end up with making changes to the requirements. The requirements that are drafted before the start of a software development project are never the same at the end of the project. No one can be blamed for this as not everyone will follow the shared understanding approach. The commonly made mistakes can be used to avoid issues which might arise during the software development phase and also to handle risks during the project.
Conclusion In this paper, the author has reviewed various software development methods; however, more importance was given to explicit and implicit shared understanding. He has identified the trends, practices and has discussed widely on all the aspects of shared understanding. I am pretty sure that this paper will be a ery useful and interesting one for most of the software developers as it covers all the required processes and evaluates each of the practices to identify the pros and cons.
The latest trends, practices and processes identified will serve as a good platform for software development projects as satisfying the stakeholders is one of the difficult tasks for the development team. Shared understanding is the key and will greatly help in achieving the goals of a software development project as stated in the research paper. It also highlights the risks involved and how to overcome or avoid such risk in the software evelopment life cycle. By following or using the shared understanding approach, we can reduce risk and it is very easy to handle the issues that occur in managing the software requirements.
This serves the best for the software developers to identify and manage the requirement gathering phase smooth and hassle-free. There isn’t a place where the development team will get all the requirements in a prefect way as the requirements may keep changes as they go throughout the software development life cycle. This paper addresses the issues that are experienced during the requirements gathering hase and also helps in overcoming the problems that may come up during requirements gathering.
It also helps in reducing the cost of gathering requirements when compared to the cost involved in a formal requirements gathering process. Thus, the prototyping approach used in UCD is one of the best methods in software development and incorporating shared understanding into the project will definitely prove to be valuable at the end of the project. I strongly support the author’s view of shared understanding and I agree that it will help in solving many of the problems faced during requirements gathering.