Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ $3.99 shipping
Peopleware: Productive Projects and Teams Paperback – February 1, 1999
|New from||Used from|
Audio, Cassette, Audiobook
There is a newer edition of this item:
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
With the rapid speed at which technology is changing I have found only one way to ensure it works as advertised, Proof of Concepts. The same holds true of my development teams when I have no history with them. With the rapidly changing skill sets out there today, there is only one way to ensure your team has what it takes, Proof of Concept (POC) them.
Proof of Concepts (POC) plays an important role in not only testing your choice of technology and architecture, but of your development team as well. There is no doubt that people are nowhere close to being as predictable as software components. Software components are lucky; they don't have emotions or free will. It is however fairly easy to read a person's skill levels when what they are making has a predictable outcome.
One of my projects were I POC'd my team we were using the Composite UI Application Block (CAB) from Microsoft's pattern & practices group. I had 3 developers on the team. Each was given an equal workload which included building a complete smart client module from the UI to the DB. The technology proof of concept had already been done at this point, so I knew the technology worked as advertise. The first iteration of development was a POC of the development team and of the framework's architecture. We learned within a week that the team members had very different levels of ability.
One of them was able to code all the layers of the application including the DB level, but didn't like UI work. One was only able to develop the UI forms, and was able to lay them out well. The other was dangerous in a team environment and was locked out of source safe. The dangerous developer worked on the Help documentation, configuring servers, and did a lot of testing.
The initial plan was completely scrapped, which was to have them build complete smart client modules from the UI to the DB, and the new assignments were made. We hit every estimate. If we had not POC'd the development team, we would have delivered buggy late code with each iteration.
The point is that no matter how well you architect a solution, or think you have a bullet proof software development process in place, people can unravel your project every time if you don't know how to manage them and their environment. To be able to effectively manage them you must understand the skill set they are bringing to the project. This book can help you do that and much more.
I have listed the parts below, but have not included the chapters because many of the titles don't make sense until you read the chapter.
Part I: Managing the Human Resource
Part II: The Office Environment
Part III: The Right People
Part IV: Growing Productive Teams
Part V: Fertile Soil
Part VI: It's Supposed to Be Fun to Work Here
This book not only helps you manage and work with others, it also offers a lot of advice that helps balance work and home life. It shines light on the workaholic and how everyone has a bout of it now and then.
One of my favorite topics is undertime. Management thinks they are getting away with overtime, but the balanced (not a workaholic) always puts in as much undertime as they do overtime.
One of my mantras for successfully delivering what your business users need, versus what they think they want, is that you are going to have to lie to them at some point in the process. The lie may just be withholding information, but if you want to deliver a quality product, you're going to have to keep that bit of information from them. They are all too willing to sacrifice quality for quantity or perceived time to market.
This book explains why the builders should control quality levels. I agree, and when I can get away with it, I don't ask them if I can control it, I just do. Most of my clients I have worked for have no idea that I do 80% architecture, research, coding proof of concepts, requirements documentation, architectural synthesis, and design, and only spend 20% of my time doing the construction coding. Construction coding builds the modules on the framework I put in place during the 80% activities.
If they found out, they would want me to just start coding. If I did that, I would be like most places I have seen that do 20% analysis, 80% coding, and another 30% rework. They are always over budget and never meet their fictional timelines. I hate documentation, but it makes me present the project in a form that elicits the problems I would run into coding before I am into deep to make architectural changes.
I did have one client find out. He literally sent me an email that had the subject line of "I am paying you to code not think". A year or so after we successfully delivered on time and within budget and rolled off the project, I found out he was called into the board of his organization and was fired for incompetency and hiding the ramifications of his poor decisions from the board.
Like I said above, this book does an excellent job of explaining why the quality level of a product should be left up to the builder. I also like the idea the book mentions about the builder's veto power. I would love to have veto power over marketing and the business owners with respect to releasing a product. All too often I have seen premature releases that are accompanied by a nice long known issues list.
The book really covers working environments in great detail. Since I left the electronic engineering field I have not had an office with a door except at my home office. I have sat at tables where all the printers were for the office. The printing noise wasn't bad, but the people standing around talking, waiting for the slow printers, was a problem.
At work I am in a cube that is noisy 25% to 75% of a given day. I share it with one of the main application support guys on our team, and he often has a line waiting to see him. While they wait I am an open target for them to kill the wait time talking to me. To help a little bit I turn off my phone's ringer. Company policy is to always answer your phone, but 90% of the calls I get are salesmen calling about a product I needed to research.
Another thing about the office is they keep it hot in the winter and hot in the summer. They keep it around 76-78F, but I have seen the temperature at a screaming 82F. I have to keep a fan blowing on me and by the end of every week my eyes are wind burnt and bloodshot. My chair I have at work has me going to the chiropractor. They were going to buy us new chairs, but discovered they were too expensive, and we aren't allowed to bring our own chair in.
I work from home on Mondays. My home desk provides me twice the area I have at work. I have the room at a cool 68F. I have a great ergonomic chair. If I get a call I can put it on speaker phone, instead of having to hold it to my ear with my shoulder.
Context switching is always a big problem. The book refers to it as no-flow time. The book calls the state of being in deep thought and cranking through code or documentation 'Flow'. On average I would estimate I get 20 - 80% more work done on Mondays than any other day of the week because I have the isolated environment I need to think. To get hold of me people IM, email, or call if needed, but I can queue them until I am done with what I am working on. At the office if you don't answer right away they come to your cube and interrupt your thoughts.
I was once on a team that hired a tech writer that could not write technical documents. He could not even proof ours which was his main assignment. He would replace technical terms with terms he thought should be there and it would completely destroy the document. He soon had no work to do. This was a government team so they were not going to replace him anytime soon.
He started filling his day by popping into our team's cubes and just started talking. By the end of the first week of that I took him into a room and used the white board to draw the architecture I was working on. I numbered the locations of changes that needed to be changed for a user interface change and data that accompanied that change. There were about 6 or 7 places. I described what was happening in each place, and that all those places were being thought of at the same time. I told him every time he comes into our cubes to just talk, he erases everything we had queued up in our brains to make the changes. I explained that we had to take anywhere from 15 minutes to 45 minutes, depending on the complexity of the change to get back to work. He understood and stopped making rounds to our cubes.
The very next team meeting our manager said he wants to see more collaboration and he wants us to be visiting each other in our cubes more often to make that happen. The tech writer and I just busted out laughing. I then had to explain the same thing to the manager. Luckily he got it too.
Like I said at the beginning of this review, my main goal of was to highlight parts of the book and provide a personal experience that relates to them. I could continue that, and probably have my own book by the time I was done, but I will stop here. Everything in this book touches on the real world experiences we have as software architects, project managers, developers, CTOs, and CIOs.
If you are an IT manager, this is mandatory reading. If I ever find myself in a position of hiring IT managers, my first and maybe last question will be "Have you read Peopleware?"
If you are considering going into the software world, you must read this book first. It will help you have the right expectations of what you will find there. If you are already in the software world, this book will help you understand why things are the way they are and help you to potentially change them.
Unfortunately, these "people issues" are prioritized at the bottom of the stack in IT. However, most people in the trenches know that people make or break what we do in IT both long-term and short-term. The most critical and chronic problems are not technology-related, they are people-related!
A minority of managers fully understand the impact of people in IT projects. The rest of the management population tends to treat people like interchangeable components that can be located anywhere in the company and become instantly productive.
This is one of those books that you wish your manager would read and adopt. The problem is that too often, the management solution of people issues is reorganization or layoffs. A few rare and valuable companies that do value people and their long-term value have learned that people require time, care and feeding to be productive.
The value in the third edition of Peopleware is that DeMarco and Lister have had about 25 years to validate the insightful book they originally wrote in 1987. For sure, a lot has changed in the workplace since the 80's, especially the IT workplace. Cubicles come and cubicles go, and some dysfunction is very much the same. The third edition clarifies many key issues in short and concise chapters that not only point out the problems, but also offer solutions. The third edition is definitely a value-added update to a classic.
One insight in particular I took away from the book is the long-term cost and effectiveness impact of employee turnover. Some companies seem to totally ignore this impact. DeMarco and Lister start with a learning curve assumption of three months for a role with moderate complexity. This is in addition to the existing experience and knowledge a person might have. The curve can be from six months to two years in some companies, which places the net capital investment at $200,000 per person.
So when a valuable person (like yourself) leaves a company, most managers won't do what it takes to keep you, or even to fix the issues after you leave. Instead, they continue to pay out this cost without even knowing the actual costs incurred. And this doesn't even include the cost of delayed projects, mistakes made by the replacement person, etc.
In case I haven't made the point - In my opinion after 35 years in the IT profession, this is the one book I think every IT professional should own, read, and hopefully, apply.
The world of software development is becoming increasingly more important as computer technology improves and we desperately need better software engineers. Don't let yourself become a 'hack,' sitting in meetings all day and never writing a single line of code; free yourself from distractions, achieve your programming 'flow' and make the software engineering world a better place by reading this book!