Saturday, January 25, 2014

Book Review: Software Engineering Architecture-Driven Software Development

Book Title/Product

Software Engineering
Architecture-Driven
Software Development

Author: Richard F. Schmidt                             
Publisher: O’Reilly Media, Inc. | Elsevier
Reviewer/Blogger: Virginia Benedict

Target Audience

Project Managers, Stakeholders, Technical teams, Security Engineers, Students, and anyone interested in how software products are built.

Prerequisites

Keen desire to properly learn about software development methodologies and best practices.

Structure

The work is comprised of three (3) Sections and 20 Chapters, a short Note from the Author, Contents, a Preface, and a well-defined Index comprising a total of Foot Noted 376 pages. The Foot Notes include references to additional reading.

The author does not include a much-needed dedicated Glossary if the work is to embrace a wide audience of professionals and most importantly the beginner student, even though he does provide an integrated version within the Index.

Illustrations and Figures

The topics and concepts are well illustrated






Companion Content

No readily available companion content

Reviewer | Blogger Comments

Review Title


Engineering for Success… Beating the 30% Odds


This manuscript is comprehensive, detailed, well organized, and easy to follow and is an important contribution to the software manufacturing industry.

The content is organized around three major topics following the SWEBoK Key Process Areas methods as depicted in Table 2 presented in the Preface:

SWEBoK Key Process Areas 
  • Fundamentals
  • Practices
  • Application
Knowledge areas such as:
  • Requirements
  • Design
  • Construction
  • Testing
  • Configuration
  • Management
  • Process
  • Methods
  • Quality
Each Knowledge area is treated within respective Sections in various chapters. e.g., Design is addressed in Section 1, Chapters 3, 6 and Section 2 Chapters 10… 14 etc.

Richard Schmidt addresses the topic of Security thoroughly all throughout the book beginning with SECTION 2 SOFTWARE ENGINEERING PRACTICES but to my surprise, not as a knowledge area given the current insurmountably persistent data breach and violation of privacy events due to poorly written software, among other culprits.  I was expecting Schmidt to stress Security in SECTION 1 SOFTWARE ENGINEERING FUNDAMENTALS.

Schmidt attributes the lack of success in software engineering to the ”almost complete misconception of what a software product design is and how to develop a complete design description. The second symptom involves the lack of a standard set of software engineering principles and practices”

I attribute the primary culprit to be the human condition and its lack of self-discipline then misconceptions and lack of standards. 

An important and complex subject matter such as the concepts, methodologies, and standards of software engineering discipline and requirements needs to be addressed from many perspectives.  Especially in a contemporary scenario where Engineering Teams are comprised of members from all walks of life, academic backgrounds, and gene pools.  This means that their natural linguistics ideology can widely differ and this impacts how the product is engineered.  i.e., look and feel, functions and features, how security is implemented in the product, etc. all are dependent on the innate cultural and social ideologies of the code writers, engineers, designers, and architects in this order or precedence.    

Therefore, the importance of works of this genres are imperative and how this complex discipline is treated when it is presented as a learning tool needs to be presented from many perspectives as does our author.

It is important to note that while the work is well organized and elegantly presented, the Contents guide in the eBook is not hyperlinked to the destination chapters. However, the author does present an introduction to each Section and a Chapter outline and introduction in the beginning of each chapter.  While I very much found useful the fact that he enumerated key concepts in the beginning of each chapter, it was distracting to me not to be able to navigate the eBook expediently through a hyperlinked Contents/Topics guide.  I had to resort to scrolling through and/or perform queries in order to review a chapter or segment within chapters.

Nevertheless, I did find useful that in his Preface he instantiated hyperlinks to tables within the preface.  I recommend the reader to pay close attention to this preface since in it Richard Schmidt presents an architectural synopsis of the work, aligned with the Software Engineering Body of Knowledge (SWEBoK) in the form of tables.  In addition, he presents a summary of the Sections and the corresponding chapters.

About the Author

TBP

Quotes

If you have read this manuscript and have some opinion, comments, or praise about this work, please let me know.  Your quotes will be published with full billing


Comments | Opinions | Corrections | Quotes… Welcome




Wednesday, January 8, 2014

Book Reviews | Software Requirements Third Edition

Software Requirements

                                                            Third Edition

Authors:  Karl Wiegers | Joy Beatty
Publisher: Microsoft Press | O’Reilly Media, Inc. 
Reviewer | Blogger: Virginia Benedict

Target Audience

Business Analyst | Requirements Engineers | Software Architects | 
Developers | Project Managers | Stake Holders | Anyone who is interested in achieving greater business success with the help of automation

Prerequisites 

Anyone with a keen interest in architecting an adaptive and progressive business.

Book Structure

Introduction | 32 Chapters | A well-defined Glossary | 3 Appendices | References | 637 Pages

This structure is highly comprehensive and enticing for beginners and experienced professionals alike.  I can see that both Karl Wieggers and Joy Beatty have an in depth command of the subject matter thus could presented from top to bottom, edge to center and vice verse.  

Illustrations and Figures

In addition, to outstanding illustrations, the authors provide supporting use cases and case studies




 Companion Content

 Templates | Check Lists | Spreadsheets | Other Job Aids

Reviewer | Blogger Comments

As technological advances continue to evolve, so does the need for software development methodologies.  Likewise, as re-architected socio-economic strategies emerge, the need for adaptive business models and analytic methodologies must follow suit.

If you have read the prior two editions of "Software Requirements" and have found them to expand your subject matter knowledge base, you will want to incorporate this expanded third edition into your reference library.  I recommend reading this work individually then reviewing and discussing each chapter as a team prior to commencing any software development project.  I personally recommend centering all team discussions from a security and compliance stance.

The third edition is informative and because they build powerful illustrated instructional arguments, the authors make it easy to understand and retain the concepts and methodologies presented.  Additionally, I like their conversational literary style.  I feel as is the authors are addressing me personally.

The text is well indexed and I particularly like how the authors reference associated concepts and definitions between chapters.

About the Authors

Karl Wiegers - @karlwiegers
Karl Wiegers is a software consultant, trainer, and an award-winning author of eight books and a repertoire of articles.  He has provided training and consulting services worldwide on many aspects of software development, management, and process improvement.

Joy Beatty - @joybeatty
Joy Beatty has co-authored important works that address the realm of business analysis and agile software requirements.  As a subject matter expert Beatty has guided major organizations in the building of business analysis centers of excellence. 

Beatty has worked with numerous Fortune 500 companies spanning the semi-conductor, computer manufacturing, defense, and retail industries. She is responsible for developing new service offerings that change the way their customers create requirements. She has also adapted ideas from using games in training to create courses on topics including requirements best practices, elicitation and visual models and delivered training to over 700 individuals in industry.