The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books)
D**L
Teaching Essence at National Research Tomsk State University – a brief summary
At National Research Tomsk State University we gave a one semester (21 week) course for students in their final (fourth) year Bachelor of Computer Science program. The students already had courses including such topics as: object-oriented programming, UML, patterns (GOF, Larman, Fowler), web-development, introduction to system analyst, databases.We split students into teams (5 teams with 7-8 students in each team) and invited a person (who is not a CS professional) to play the role of a customer who wants to develop a system. All teams received initial information about this system (short description and customer contacts) and then started developing the system according to the customer's requirements. Student teams work mostly by themselves independent of professors gathering additional information from the customer as needed and developing the system.During lectures and practice sessions we worked with Essence entities (mostly alphas) and tried to show the students that everything they were doing on their current project has related alphas and other connected Essence entities.We provided the students with a project management system (where alpha cards were included as a plugin) and we measured their progress using task tracking and alpha card states.As a teacher, my observations were the following: 1. The Requirements and Software system alphas are very well understood by the students. Most methods and practices of software engineering are focused on the solution area of concern. And the students can easily understand how to work and measure progress at each stage of the project. 2. The Opportunity and Stakeholders alphas are harder for the students to understand. They require an additional lecture about business goals, and general Stakeholders (not simple users) to understand this level. 3. The students had difficulty with the work products. They found useful artifacts for Stakeholders (e.g. contacts, user profile), but they found it hard to find good work product templates for the Opportunity alpha that could help them formalize project information and allows us to check the progress of this alpha state. 4. The Endeavor area of concern was found to be the most difficult to understand and use by the students. These alphas were perceived to measure the team's or company’s performance rather than the project’s progress.We discussed with the students that the team's endeavor is a very important part of any project, but as a rule in many companies you work with mostly same team for more than one project. And this means that the team working on a new project will already have most of the Endeavor alpha states checked for Team and Way of Working. And they will not need to work on them if their team or company already established these parts as company rules.Secondly, as opposed to other alphas, on the Endeavor area of concern the team found difficulty with work products. In other cases, when you execute an activity you create or update a work product and this may result progressing the alpha states.However, in the Endeavor area of concern the team found it difficult to develop work products and practices.Ultimately, what we learned is that the students need better guidance on how to use the Endeavor area of concern.We started to use Essence to demonstrate and explain some topics related to software engineering. The Essence kernel is very helpful to show students that Software Engineering (SE) isn't just writing code, but there are also other parts such as requirements, stakeholders, opportunity, team and way of working. With Essence’s help it's possible to easily demonstrate that Scrum, Kanban, Unified process etc. are just different methods solving the same problems. Using Essence helps us show students why it's so important to know things that teams need to do rather than just choosing a development process by its popularity.We plan to extend our use of Essence as the language and theory of SE and apply it to all related subjects to improve the education of future professionals.
D**L
The cuurent value of the book suggests an enlarged future potential.
CURRENT VALUE"The Essentials of Modern Software Engineering" is a well refined, practical guide for teaching the essence of software engineering and its alphas. Already in use as an aid to university professors who are using the text, it is proving effective in the classroom among both students and teachers.I find the essentials of modern software engineering to be useful, very useful. In fact, the underlying way of thinking is transformational. The power of the essentials of modern software engineering lies in its simplicity as a way of thinking. The book succeeds in putting a fine edge on what is known.FUTURE POTENTIALThe pure simplicity of the kernel and its ability to be understood by management without encumbrance of method rules and jargon permits these essentials and alphas to be readily applicable to many fields of endeavor, if not any field, as the underlying paradigm for communication.In short, this simple and powerful way of thinking should not be boxed in by its origins or its originators. It should be free to roam the landscape of programs not just software but also the full range of engineering, weapons systems integration and development, medical experimentation and innovation, housing project development, new automobile product lines, transportation infrastructure modernization, social change initiatives, political campaigns and elections, and more.In teaching "The Essentials of Modern Software Engineering", students could be assigned the task of instantiating the alphas for each of the programs listed. Those students who see the future potential and can frame the alphas in the broader contest will prove themselves exceptional. For the instructor, the test is written as is the material for future classes.
E**A
Equips you with a new Powerful Language of Software Engineering
As a Chair of the Essentialization track of SEMAT, I had a pleasure to participate in this book project as a reviewer since the early days. In the spirit of Agile, the book went through multiple incremental revisions until it has reached its current final form. The book unravels the underlying concomitant mental models and processes of software engineering, that result in a well-known tangible artifact called software.Software engineering (SE), according to the IEEE SWEBOK v3, encompasses 15 knowledge areas (KAs); KA 8 is about SE process and 9 is related to SE models and methods. Apparently, it is a huge domain, where software development is just one segment. Reasoning alone about the dynamics of software engineering is already an arduous endeavor, let alone describing practices in an unambiguous fashion as well as packaging them up as reusable self-contained enterprise assets. Obviously, this demands proper formalism, which is embodied in the form of OMG Essence standard.This book introduces you to the OMG Essence and showcases its appliance in practice. The book teaches teams how to codify their unique practices and methods (collection of practices) using Essence, as ubiquitous language of software engineering. Essence also helps team members track their progress and provides guidance about next steps in a process. All this is illuminated in the book in a straightforward and easily understandable manner. You will learn a lot about software engineering profession besides being educated about OMG Essence. The content is illustrated with many examples of essentialized familiar practices.
P**I
Great book
Inspiring and nice to read, written by good teachers. The content can be overwhelming sometimes, but that’s because some materials are really a reference to go to when you actually want to start using them and implement them.
J**S
Excelente para potenciar la ingeniería de software
Ofrece una forma estructurada y basada en ciencia para el gobierno de las prácticas de la ingeniería de software
Trustpilot
2 days ago
2 months ago