Buy New
$43.93$43.93
FREE delivery Tuesday, May 12
Advertisement
Advertisement
Ships from: white lilies Sold by: white lilies
Used - Very Good
$11.19$11.19
FREE delivery May 8 - 12
Advertisement
Advertisement
Ships from: Books Today For You Sold by: Books Today For You
Sorry, there was a problem.
There was an error retrieving your Wish Lists. Please try again.Sorry, there was a problem.
List unavailable.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Journey of the Software Professional: The Sociology of Software Development 1st Edition
Purchase options and add-ons
A comprehensive guide to the software development process that will help software developers at every stage of their career: improving personal performance, learning to work well in a team, and managing to create an environment where others can be most effective.Addresses the psychological and sociological aspects of software development, presenting a thorough model of individual and collective software problem-solving behavior, and practical techniques for enhancing the process. Covers the structures, processes and outcomes common to most software development projects, and how to improve them. Presents ideas on using tools and training more effectively, and on improving the performance of teams. Shows how to build on your personal and management successes, and avoid the most common errors.Programmers, developers, software managers, students, and anyone involved in the software creation process.
- ISBN-100132366134
- ISBN-13978-0132366137
- Edition1st
- PublisherPearson P T R
- Publication dateJanuary 1, 1996
- LanguageEnglish
- Dimensions6.25 x 1 x 9.5 inches
- Print length447 pages
Similar items that may deliver to you quickly
Beyond the Commit: The Human Side of Software DevelopmentMichael PaynePaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Thursday, May 7
A Philosophy of Software Design, 2nd EditionPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Thursday, May 7
Organizational Patterns of Agile Software DevelopmentPaperbackFREE Shipping by AmazonGet it as soon as Thursday, May 7Only 1 left in stock - order soon.
Quality Software Management: Systems ThinkingPaperbackFREE Shipping by AmazonGet it as soon as Thursday, May 7Only 7 left in stock (more on the way).
Software Leadership: A Guide to Successful Software DevelopmentPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Thursday, May 7Only 1 left in stock - order soon.
Clean Architecture in Practice: Structure, Decisions, and the Evolution of SoftwarePaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Thursday, May 7
Editorial Reviews
From the Publisher
From the Inside Flap
It was my first managerial assignment. I was ready. I had worked as a developer for several years on many different projects. Some were successful. From these I learned what to do. Some were failures. From these I learned what not to do. I was armed with a masters degree in Computer Science and Engineering from a prestigious University. I had studied software engineering and was ready to apply it. I read a lot of books on managing people and projects, from Peopleware to The Mythical Man-Month. Their advice and insights from the trenches of software development made sense. I was going to follow all of it.
The cold truth slowly sank in. My first job as a manager was less than a stellar success. Yes, the project was completed, the system was implemented, but I could have done a far better job. Since then I've led other projects and in the process learned many things. Past project experiences don't always apply in new projects. In fact, what brings success in one context causes failure in another. Learning about software engineering is far different from doing software engineering. And, while all the advice given in “Peopleware” books is definitely useful, I found myself continually asking, “What are the underlying principles of software development? What might guide or drive the advice and insight of people like Gerald Weinberg, Frederick Brooks, Larry Constantine, and Tom DeMarco1?”
This book was written for three reasons. First, it explores the underlying principles of software development through a simple but comprehensive theoretical framework. Second, it shows how to put this framework to good use through practical advice built on top of the theory. Third, it contains specific advice for both developers and managers in a clear and understandable format.
Why include practical advice and the theoretical framework supporting it in the same book? If a book gives practical advice but lacks a theoretical foundation you are left wondering from what credible principles the “advice” is drawn and how to successfully apply the "advice" in your environment. If a book provides only theory, you are left wondering about its practicality. Even the most elegant theory requires examples of how it is used to provide value. Theory is important for providing a way of thinking about a topic, but theory without practice is a car with no engine. While the majority of the book consists of practical advice, it contains the theory necessary to support it.
One advantage to practical advice is that it can provide a ready response to a tough situation. But, what happens when you are faced with a situation not described in this book? Alternatively, what happens when you disagree with my advice? Once again the theoretical foundation of this book becomes essential, for it provides you with the tools you need to create your own advice and respond effectively to novel situations.
Finally, you may have wondered why I've included specific advice to developers and managers in the same book. Their jobs are decidedly different and often antagonistic, right? A book certainly cannot give advice to both at the same time, right? Wrong. Certainly the jobs of developers and managers are different. So what? Take any difficult problem faced by a group of developers and their management. Unless each member of the group understands what they can do to improve the situation and plays their role things are not likely to improve. Isn't the real job of every person involved with the development effort to ship the best system possible? Instead of emphasizing differences, perhaps we should emphasize the ways developers and managers can work together. This book was not written for the intersection of the population of developers and managers. It was written for the union.
“What's In it For Me?”
Here is what this book will do for you:
- it provides a simple and comprehensive theory of how developers and teams of developers create software.
- it shows how advice found in other books makes more sense when applied in the context of this theory. After reading this book, you will never think of a data model or a coding standard in the same way again!
- it will introduce you to several new strategies and techniques on improving you and your team's effectiveness.
- it makes understanding and implementing these strategies and techniques easier by giving explicit advice to both managers and developers. I don't want you to waste any time trying to determine if the practical advice in this book is intended for a manager or a developer. Instead, I want you put these ideas into practice as quickly as possible.
- it addresses a broad range of topics and issues not usually addressed in most books on software development you will encounter over the course of your career. While you may not have an immediate need for every chapter, owning this book means you will be prepared to address these issues when they do arise. And they will.
Finally, it seeks to entertain you with personal stories and anecdotes that illustrate, expand, or otherwise bring to life the ideas in the book. These are offset from the main text in an italicized font.
Content and Organization
This book is organized in five parts.
Part I describes the mental processes of software development. It integrates cognitive models (models of how we think) with software methods (specifications of the activities we should undertake when developing software).
Part II explores a wide variety of topics on how individuals and their managers can improve performance using the SPO framework presented in Part I. My goal is two-fold. First, I hope to show how some of the traditional advice found in other books on such topics as code reviews makes better sense when applied in the context of the SPO framework. Second, I hope to introduce you to some new ideas such as future perfect thinking and how (and when) to make pancakes!
Part III applies the SPO framework to teams. It moves from cognitive models (which describe the individual) to organizational models (which describe interactions between individuals). Integrating organizational models with methods shows how the SPO framework provides a single, cohesive framework helping us to understand, predict, and guide both individual and collective behavior.
Part IV mirrors part two by using the SPO framework as the foundation for practical advice designed to enhance the effectiveness of teams. Again, I hope to show how traditional advice on such topics as the importance of standards make better sense when discussed in the context of the SPO framework. Of course, I also hope to introduce you to some fresh approaches to common problems such as building trust between developers, creating appropriate system architectures and structuring teams to support them, and writing useful status reports.
Part V concludes with a discussion of issues related to context-such as learning how to avoid poor working environments. It also deals with creating (or finding) the right context in which to apply the advice contained in parts two and four and serves to round out the book.
There structure of the book is as follows:
The Individual Chapters
Part One: Theory
1 - 2
Part Two: Practice 3 - 6
The Team
Part Three: Theory 7 - 8
Part Four: Practice 9 - 14
Context
Part Five
15 - 17
Audience
There are three distinct paths in the journey of the software professional. In the first, effort is focused inward, and the goal is improving personal performance. In the second, effort is directed outward, and the goal is improving both self and others. In the third, effort is directed upward, and the goal is to create an environment whereby others can be most effective. This book was written to address the needs of a developer on each stage of the journey.
Here are some ways specific populations can benefit from this book.
If you are a student or developer with less than 3 years working experience you are likely to be concentrating your efforts on stage one of the journey. If this is true then reading this book will provide you with the theoretical foundation necessary to understand how to improve your effectiveness. At times the book may be a bit challenging, but rest assured the effort you put into reading it will be worthwhile.
If you are an experienced developer (e.g., a senior architect or lead designer), then you are probably in the second stage of the journey. In other words, your primary job is to help others be effective by capitalizing on your experience. Such a job is uniquely demanding: you've got to marry technical and social demands. But how do technical and social issues really interact? Reading this book provides the foundation for discussing the answer. Of special interest to you are parts three and four which concentrate on teams, especially chapters seven and twelve.
Finally, managers of all levels of experience can derive several benefits from reading this book.
First, an understanding of how developers work both individually and in teams as they create software is a necessary prerequisite for the establishment of effective managerial practices. To see why, just read any Dilbert cartoon!
Second, the practical advice serves as a managerial handbook and provides specific answers to difficult questions in the context of a strong theoretical framework. Third, as a manager you have the responsibility for creating an effective work environment. A strong theoretical framework enables you to accomplish this effectively (see especially chapters nine, ten, and eleven).
How to Read This Book
First, read chapter one. The primary constructs of the SPO framework are established in chapter one. Reading this chapter first will provide a background in the primary terms as used in the remainder of the book.
Second, feel free to skip chapters in parts two and four. This book can be read quite satisfactorily in a non-linear fashion. Be forewarned some of the practical advice may seem a little out of place without the theoretical foundation in place to support it. Because of this, I do recommend you read part one before any chapter in part two, and part three before any chapter of part four.
Finally, read aggressively. Highlight or underline passages you think are important. Make notes to yourself in the margin. Dog-ear important pages for quick reference. Do whatever you need to do to make the most of it!
One Final Word
The writing of this book, like the creation of a large software system, is a strange journey, one never quite finished. To further my own personal journey, I ask you write me concerning the material presented herein. What did you like? What is useful? What benefits have you derived from reading this book? How can I improve the material in either form, content, or presentation?
I wish you a long and interesting journey, filled with an appreciation for our chosen profession. Thank you, and enjoy what follows.
Luke Hohmann lhohmann@objectspace
From the Back Cover
23661-2
A breakthrough model for understanding software development— and breakthrough techniques for improving it!
You can't improve the way you develop software if you don't understand it. Journey of the Software Professional offers the first complete model of software development—based on the newest research in cognitive psychology and organizational behavior. But that's just the beginning. At its heart, this is a book of practical advice for developers and managers who are serious about enhancing their own effectiveness, and the effectiveness of their teams.
This book transcends the boring, self-evident advice you've heard a thousand times before, with fresh insights into:
- Choosing the best work environment for your personality and workstyle
- Building on your personal and management strengths, and avoiding common errors
- Finding better ways to approach individual and team problem-solving
- Creating a better team culture
- Improving communication effectiveness
- Managing both technological and organizational change
Crammed with advice for both developers and managers, Journey of the Software Professional covers an extraordinary range of topics—and presents them through a coherent Structure-Process-Outcome framework that helps you make sense of your own experience.
You'll discover tools and techniques for building and implementing your own career development plan. You'll learn the concepts underlying well-designed system architectures and how to apply these concepts to create an architecture appropriate for your project. At the same time, you'll learn how to create organizational structures that support this architecture and manage the growth of the team over the life of the project. You'll learn how to develop long-term strategies for improving your organization's software development. And a whole lot more.
No matter what role you play in software development, or where you are in your career, this book represents a breakthrough in understanding what you're doing — and how to do it better!
“In many ways, it opened my eyes. If you are a software professional, I think it will open yours as well.” —Gerald M. Weinberg
About the Author
LUKE HOHMANN, Education Technical Director at ObjectSpace, Inc., has taught object-oriented technology and software engineering management for companies such as Sprint, Kodak, E-Systems, Ernst & Young, and Bell Atlantic. From 1985 to 1993, he worked at several positions for Electronic Data Systems, including Vice President of Systems Engineering at EDS Fleet Services. From 1988 to 1992, he was also a member of the Highly Interactive Computing Environments (Hi-CE) research group led by Elliot Soloway, Ph.D., at the University of Michigan, where among other projects, he designed programming environments to help novice developers learn design skills.
Excerpt. © Reprinted by permission. All rights reserved.
It was my first managerial assignment. I was ready. I had worked as a developer for several years on many different projects. Some were successful. From these I learned what to do. Some were failures. From these I learned what not to do. I was armed with a masters degree in Computer Science and Engineering from a prestigious University. I had studied software engineering and was ready to apply it. I read a lot of books on managing people and projects, from Peopleware to The Mythical Man-Month. Their advice and insights from the trenches of software development made sense. I was going to follow all of it.
The cold truth slowly sank in. My first job as a manager was less than a stellar success. Yes, the project was completed, the system was implemented, but I could have done a far better job. Since then I've led other projects and in the process learned many things. Past project experiences don't always apply in new projects. In fact, what brings success in one context causes failure in another. Learning about software engineering is far different from doing software engineering. And, while all the advice given in “Peopleware” books is definitely useful, I found myself continually asking, “What are the underlying principles of software development? What might guide or drive the advice and insight of people like Gerald Weinberg, Frederick Brooks, Larry Constantine, and Tom DeMarco1?”
This book was written for three reasons. First, it explores the underlying principles of software development through a simple but comprehensive theoretical framework. Second, it shows how to put this framework to good use through practical advice built on top of the theory. Third, it contains specific advice for both developers and managers in a clear and understandable format.
Why include practical advice and the theoretical framework supporting it in the same book? If a book gives practical advice but lacks a theoretical foundation you are left wondering from what credible principles the “advice” is drawn and how to successfully apply the "advice" in your environment. If a book provides only theory, you are left wondering about its practicality. Even the most elegant theory requires examples of how it is used to provide value. Theory is important for providing a way of thinking about a topic, but theory without practice is a car with no engine. While the majority of the book consists of practical advice, it contains the theory necessary to support it.
One advantage to practical advice is that it can provide a ready response to a tough situation. But, what happens when you are faced with a situation not described in this book? Alternatively, what happens when you disagree with my advice? Once again the theoretical foundation of this book becomes essential, for it provides you with the tools you need to create your own advice and respond effectively to novel situations.
Finally, you may have wondered why I've included specific advice to developers and managers in the same book. Their jobs are decidedly different and often antagonistic, right? A book certainly cannot give advice to both at the same time, right? Wrong. Certainly the jobs of developers and managers are different. So what? Take any difficult problem faced by a group of developers and their management. Unless each member of the group understands what they can do to improve the situation and plays their role things are not likely to improve. Isn't the real job of every person involved with the development effort to ship the best system possible? Instead of emphasizing differences, perhaps we should emphasize the ways developers and managers can work together. This book was not written for the intersection of the population of developers and managers. It was written for the union.
“What's In it For Me?”
Here is what this book will do for you:
- it provides a simple and comprehensive theory of how developers and teams of developers create software.
- it shows how advice found in other books makes more sense when applied in the context of this theory. After reading this book, you will never think of a data model or a coding standard in the same way again!
- it will introduce you to several new strategies and techniques on improving you and your team's effectiveness.
- it makes understanding and implementing these strategies and techniques easier by giving explicit advice to both managers and developers. I don't want you to waste any time trying to determine if the practical advice in this book is intended for a manager or a developer. Instead, I want you put these ideas into practice as quickly as possible.
- it addresses a broad range of topics and issues not usually addressed in most books on software development you will encounter over the course of your career. While you may not have an immediate need for every chapter, owning this book means you will be prepared to address these issues when they do arise. And they will.
Finally, it seeks to entertain you with personal stories and anecdotes that illustrate, expand, or otherwise bring to life the ideas in the book. These are offset from the main text in an italicized font.
Content and Organization
This book is organized in five parts.
Part I describes the mental processes of software development. It integrates cognitive models (models of how we think) with software methods (specifications of the activities we should undertake when developing software).
Part II explores a wide variety of topics on how individuals and their managers can improve performance using the SPO framework presented in Part I. My goal is two-fold. First, I hope to show how some of the traditional advice found in other books on such topics as code reviews makes better sense when applied in the context of the SPO framework. Second, I hope to introduce you to some new ideas such as future perfect thinking and how (and when) to make pancakes!
Part III applies the SPO framework to teams. It moves from cognitive models (which describe the individual) to organizational models (which describe interactions between individuals). Integrating organizational models with methods shows how the SPO framework provides a single, cohesive framework helping us to understand, predict, and guide both individual and collective behavior.
Part IV mirrors part two by using the SPO framework as the foundation for practical advice designed to enhance the effectiveness of teams. Again, I hope to show how traditional advice on such topics as the importance of standards make better sense when discussed in the context of the SPO framework. Of course, I also hope to introduce you to some fresh approaches to common problems such as building trust between developers, creating appropriate system architectures and structuring teams to support them, and writing useful status reports.
Part V concludes with a discussion of issues related to context-such as learning how to avoid poor working environments. It also deals with creating (or finding) the right context in which to apply the advice contained in parts two and four and serves to round out the book.
There structure of the book is as follows:
The Individual Chapters
Part One: Theory 1 - 2
Part Two: Practice 3 - 6
The Team
Part Three: Theory 7 - 8
Part Four: Practice 9 - 14
Context
Part Five 15 - 17
Audience
There are three distinct paths in the journey of the software professional. In the first, effort is focused inward, and the goal is improving personal performance. In the second, effort is directed outward, and the goal is improving both self and others. In the third, effort is directed upward, and the goal is to create an environment whereby others can be most effective. This book was written to address the needs of a developer on each stage of the journey.
Here are some ways specific populations can benefit from this book.
If you are a student or developer with less than 3 years working experience you are likely to be concentrating your efforts on stage one of the journey. If this is true then reading this book will provide you with the theoretical foundation necessary to understand how to improve your effectiveness. At times the book may be a bit challenging, but rest assured the effort you put into reading it will be worthwhile.
If you are an experienced developer (e.g., a senior architect or lead designer), then you are probably in the second stage of the journey. In other words, your primary job is to help others be effective by capitalizing on your experience. Such a job is uniquely demanding: you've got to marry technical and social demands. But how do technical and social issues really interact? Reading this book provides the foundation for discussing the answer. Of special interest to you are parts three and four which concentrate on teams, especially chapters seven and twelve.
Finally, managers of all levels of experience can derive several benefits from reading this book.
First, an understanding of how developers work both individually and in teams as they create software is a necessary prerequisite for the establishment of effective managerial practices. To see why, just read any Dilbert cartoon!
Second, the practical advice serves as a managerial handbook and provides specific answers to difficult questions in the context of a strong theoretical framework. Third, as a manager you have the responsibility for creating an effective work environment. A strong theoretical framework enables you to accomplish this effectively (see especially chapters nine, ten, and eleven).
How to Read This Book
First, read chapter one. The primary constructs of the SPO framework are established in chapter one. Reading this chapter first will provide a background in the primary terms as used in the remainder of the book.
Second, feel free to skip chapters in parts two and four. This book can be read quite satisfactorily in a non-linear fashion. Be forewarned some of the practical advice may seem a little out of place without the theoretical foundation in place to support it. Because of this, I do recommend you read part one before any chapter in part two, and part three before any chapter of part four.
Finally, read aggressively. Highlight or underline passages you think are important. Make notes to yourself in the margin. Dog-ear important pages for quick reference. Do whatever you need to do to make the most of it!
One Final Word
The writing of this book, like the creation of a large software system, is a strange journey, one never quite finished. To further my own personal journey, I ask you write me concerning the material presented herein. What did you like? What is useful? What benefits have you derived from reading this book? How can I improve the material in either form, content, or presentation?
I wish you a long and interesting journey, filled with an appreciation for our chosen profession. Thank you, and enjoy what follows.
Luke Hohmann lhohmann@objectspace.com
Product details
- Publisher : Pearson P T R
- Publication date : January 1, 1996
- Edition : 1st
- Language : English
- Print length : 447 pages
- ISBN-10 : 0132366134
- ISBN-13 : 978-0132366137
- Item Weight : 1.6 pounds
- Dimensions : 6.25 x 1 x 9.5 inches
- Best Sellers Rank: #3,242,466 in Books (See Top 100 in Books)
- #1,605 in Software Design & Engineering
- #4,190 in Software Development (Books)
- #10,479 in Computer Software (Books)
- Customer Reviews:
About the author

Luke Hohmann is Chief Innovation Officer of Applied Frameworks, a boutique consulting form helping companies create more profitable software-enabled solutions through our unique Profit Streams™ framework.
A serial entrepreneur, Luke founded, bootstrapped, and sold Conteneo, an enterprise software company that helped global companies manage investment portfolios using Participatory Budgeting.
Luke is one of six people in the world recognized as a Principal Contributor to the Scaled Agile Framework, one of the world’s most widely adopted Agile Software Development frameworks.
A prolific author and creator, Luke’s contributions to the global agile community include five books, Profit Streams™, Innovation Games®, and a pattern language for market-driven roadmapping.
Luke is also co-founder of Every Voice Engaged Foundation, where he partnered with The Kettering Foundation to create Common Ground for Action, the world’s first scalable platform for deliberative decision-making.
Luke is a former National Junior Pairs Figure Skating Champion and has an M.S.E. in Computer Science and Engineering from the University of Michigan. Luke loves his wife and four kids, his wife’s cooking, and long runs in the California sunshine and Santa Cruz mountains.
Check it out: www.appliedframeworks.com, www.profit-streams.com, www.everyvoiceengaged.org
Customer reviews
- 5 star4 star3 star2 star1 star2 star74%12%14%0%0%0%
- 5 star4 star3 star2 star1 star1 star74%12%14%0%0%0%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on January 9, 2001Format: HardcoverJourney of the Software Professional is an impressive work. It begins with a Forward by noted author Gerald Weinberg (The Psychology of Computer Programming, etc.) where Weinberg says "In many ways, it opened my eyes. If you are a software professional, I think it will open yours as well." I couldn't have said it better.
This book should be read by software development managers before their first assignments. Hohmann not only provides software engineering guidance and wisdom in real-world context but also, where possible, backs up his thinking with published works, all carefully annotated.
What separates this work from most software engineering texts is Hohmann's ability to keep the work meaningful and relevant to real-world development environments. Many other texts note that most shops are at an SEI Level I maturity yet those same books delve into COCOMO II or McCabe's cyclomatic complexity--concepts and practices foreign in those same shops. It is easy to fill books with details of these and other software engineering tools and techniques but unless these things are placed in a meaningful context, they are simply tools absent of purpose.
What Hohmann offers is much more: a way to think about the real problem to be solved by engineering management: the maturation of the software development department. It is along these lines that Hohmann shines. For example, in one section discussing conflict, Hohmann asks "How much time, if any should be allocated to the schedule to allow programmers to rework their code?" Refactoring (Fowler) is a new spin on how to accomplish this but acknowledging, at a management level, that such activities go on is not widely discussed in most texts. Hohmann challenges readers to think about problems such as these.
Throughout the book are sections entitled "Advice to Managers" and "Advice to Developers". Most of the advice is rock solid and could apply anywhere for the same reason The Mythical Man Month (Brooks) is still relevant and should be required reading by all software managers: software development is (and always has been) about people! While tools and techniques evolve quickly, people have not.
Because every author wants to bring something new and fresh they'll introduce some spin on their particular approach. Hohmann offers SPO: Structure-Process-Outcome to fulfill this pension. While I think it doesn't add much, neither does it detract. There is plenty in this book to let it stand on its own merit.
I didn't agree with everything in this book. There are few books I can give blanket and unreserved approval to, in fact. But this book did do what Weinberg promised in his Forward: it made me THINK. The book's subtitle is "A Sociology of Software Development" and that description fits well. It is not a substitute for a solid book on software engineering techniques. But, I believe this book would greatly supplement anyone's library whose quest is to better understand the discipline.
- Reviewed in the United States on October 8, 2003Format: HardcoverJava break, <groan> Oh - it's a bad pun. but with a subtitle of "A Sociology of Software Development" one would think this is a dissertation. May be it was. But it's a good read. However it may take several times to get the most of it.
I recommend this for every software engineer. Managers buy it for the whole group, start them out with a plan, to develop as a person.
David
- Reviewed in the United States on February 14, 2002Format: HardcoverLuke Hohmann explains three aspects of the software development journey: inward focus, outward focus, and upward focus. Principles from psychology are used to demonstrate how the reader can achieve personal growth and develop skills as an engineer or manager. Practical advice for staff and management is prominent at the end of each chapter. Cognitive models, values, personality, goals, culture, strategy, rituals, future perfect thinking, domain experience, competency frameworks, learning styles, training plans, the Johari Window, organizational cohesion and coupling, topology, and roles are discussed in the context of software engineering. The structure, process, outcome (SPO) framework for organizing a software project is a constant thread.
- Reviewed in the United States on March 10, 2003Format: HardcoverI first discovered this book thanks to the happy confluence of serendipity, perpetual bookstore browsing, and two decades of white-knuckling it as a software programmer. For the past few years it has given comfort and advice. Again today I am purchasing a copy as a gift for the shrink who is nursing me following the burst of the dot-com bubble. If I were on a desert island I would first wish for this book.
- Reviewed in the United States on March 23, 2006Format: Hardcover"The integrated framwork provides a complete theory of human problem solving." (p.41)
There's a lot of good in this book. For example, back in `97, Hohmann was already exhorting managers to allow refactoring (called reworking back then), in anticipation of current eXtreme/agile practice (p.73). There's a lot of conditional good here too: "[having] determined your coding values, use them consistently..." (p.93) In other words, figure out what matters in your code, outside of getting the nominal job done: performance, maintainability, portability, or whatever. Something about a foolish consistency springs to mind, though. In any complex program, one part might be critical to performance, another might be memory-limited, reliability might be an absolute demand in another section, and so on, requiring a flexible attitude that doesn't fit well with dogmatic dicta. Hohmann has also chosen a presentation format, with explicit asides to both managers and developers, that summarizes his advice clearly, without descending to sound bites - at least, not descending all the way.
Things like that quote I started with bother me, though. Yes, I appreciate self-assurance and enthusiasm, but not when they turn into hype and hyperbole. That must be the cheerleader part of the aerobics instructor in him coming through. (He's very proud of that achievement, and reminds us of it repeatedly - as if this will impress an uber-geek.) Then there's the tired trotting out of pop-psych standards: personality quizzes, the Johari window, and the rest.
There are some nuggets here. They're wrapped up in so much fluff that they're hard to find, though. Maybe this book will help someone, especially a techie being turned into a manger, but that reader will have to wade through feel-good fuzzies and partial truths to find that help.
//wiredweird




