The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books) by Ivar Jacobson (PDF)

6

 

Ebook Info

  • Published: 2019
  • Number of pages: 400 pages
  • Format: PDF
  • File Size: 33.70 MB
  • Authors: Ivar Jacobson

Description

The first course in software engineering is the most critical. Education must start from an understanding of the heart of software development, from familiar ground that is common to all software development endeavors.This book is an in-depth introduction to software engineering that uses a systematic, universal kernel to teach the essential elements of all software engineering methods.This kernel, Essence, is a vocabulary for defining methods and practices. Essence was envisioned and originally created by Ivar Jacobson and his colleagues, developed by Software Engineering Method and Theory (SEMAT) and approved by The Object Management Group (OMG) as a standard in 2014. Essence is a practice-independent framework for thinking and reasoning about the practices we have and the practices we need. Essence establishes a shared and standard understanding of what is at the heart of software development. Essence is agnostic to any particular method, lifecycle independent, programming language independent, concise, scalable, extensible, and formally specified. Essence frees the practices from their method prisons.The first part of the book describes Essence, the essential elements to work with, the essential things to do and the essential competencies you need when developing software. The other three parts describe more and more advanced use cases of Essence. Using real but manageable examples, it covers the fundamentals of Essence and the innovative use of serious games to support software engineering. It also explains how current practices such as user stories, use cases, Scrum, and micro-services can be described using Essence, and illustrates how their activities can be represented using the Essence notions of cards and checklists. The fourth part of the book offers a vision how Essence can be scaled to support large, complex systems engineering.Essence is supported by an ecosystem developed and maintained by a community of experienced people worldwide. From this ecosystem, professors and students can select what they need and create their own way of working, thus learning how to create ONE way of working that matches the particular situation and needs.

User’s Reviews

Editorial Reviews: About the Author Dr. Ivar Jacobson received his Ph.D. in computer science from KTH Royal Institute of Technology, was awarded the Gustaf Dalén medal from Chalmers in 2003, and was made an honorary doctor at San Martin de Porres University, Peru, in 2009. Ivar has both an academic and an industry career. He has authored ten books, published more than a hundred papers, and is a frequent keynote speaker at conferences around the world. Ivar Jacobson is a key founder of components and component architecture, work that was adopted by Ericsson and resulted in the greatest commercial success story ever in the history of Sweden (and it still is). He is the creator of use cases and Objectory–which, after the acquisition of Rational Software around 2000, resulted in the Rational Unified Process, a popular method. He is also one of the three original developers of the Unified Modeling Language. But all this is history. His most recently founded company, Ivar Jacobson International, has been focused since 2004 on using methods and tools in a smart, superlight, and agile way. Ivar is also a founder and leader of a worldwide network, SEMAT, whose mission is to revolutionize software development based on a kernel of software engineering. This kernel has been realized as a formal standard called Essence, which is the key idea described in this book.Professor Emeritus Dr. Harold “Bud” Lawson (The Institute of Technology at Linköping University) has been active in the computing and systems arena since 1958 and has broad international experience in private and public organizations as well as academic environments. Bud contributed to several pioneering efforts in hardware and software technologies. He has held professorial appointments at several universities in the USA, Europe, and the Far East. A Fellow of the ACM, IEEE, and INCOSE, he was also head of the Swedish delegation to ISO/IEC JTC1 SC7 WG7 from 1996 to 2004 and the elected architect of the ISO/IEC 15288 standard. In 2000, he received the prestigious IEEE Computer Pioneer Charles Babbage medal award for his 1964 invention of the pointer variable concept for programming languages. He has also been a leader in systems engineering. In 2016, he was recognized as a Systems Engineering Pioneer by INCOSE. He has published several books and was the coordinating editor of the “Systems Series” published by College Publications, UK.Tragically, Harold Lawson passed away after battling an illness for almost a year, just weeks before the publication of this book.Dr. Pan-Wei Ng has been helping software teams and organizations such as Samsung, Sony, and Huawei since 2000, coaching them in the areas of software development, architecture, agile, lean, DevOps, innovation, digital, Beyond Budgetings, and Agile People. Pan-Wei firmly believes that there is no one-size-fits-all, and helps organizations find a way of working that suits them best. This is why he is so excited about Essence and has been working with it through SEMAT since their inception in 2006, back when Essence was a mere idea. He has contributed several key concepts to the development of Essence.Pan-Wei coauthored two books with Dr. Ivar Jacobson and frequently shares his views in conferences. He currently works for DBS Singapore, and is also an adjunct lecturer in the National University of Singapore.

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐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.

⭐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.

⭐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.

⭐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.

⭐Ofrece una forma estructurada y basada en ciencia para el gobierno de las prácticas de la ingeniería de software

Keywords

Free Download The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books) in PDF format
The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books) PDF Free Download
Download The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books) 2019 PDF Free
The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books) 2019 PDF Free Download
Download The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books) PDF
Free Download Ebook The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons! (ACM Books)

Previous articleConcurrency: The Works of Leslie Lamport (ACM Books) by Dahlia Malkhi (PDF)
Next articleData Cleaning by Ihab F. Ilyas (PDF)