|
Browse categories
Software Design, Testing & Engineering
|
 |
 |
 |
|
|
 |
Head First Design Patterns (Head First)
|
Eric FreemanElisabeth FreemanBert BatesKathy Sierra;
;
|
|
Usually dispatched within 1-2 business days *Best price found from Amazon Marketplace seller
|
*Amazon: £19.02
|
|
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
|
|
 |
 |
|
|
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
|
|
 |
 |
Software Testing: An ISEB Foundation
|
Brian HamblingPeter MorganAngelina Samaroo;
;
|
|
Usually dispatched within 1-2 business days *Best price found from Amazon Marketplace seller
|
*Amazon: £18.68
|
|
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
An excellent intro and great substitute for the course, 16 Oct 2008
I've been pretty involved in testing for years but it's never been a full-time job until recently. I was asked to take the ISEB Foundation Certificate in Software testing by my boss and this book is the one ISEB and the BCS recommend to go with the exam.
This was a very clearly laid-out book with each concept in bite-sized chunks. The authors clearly draw on their real-life experiences of software testing in the frequent worked examples. Overall, with the revision questions and exercises, it's a very practical book.
I used the revised edition, but there are still a few typos and a couple of munged graphics which could do with tidying up, but they don't detract much from what is otherwise a very polished and concise book.
I was able to take and pass this exam solely on the basis of studying this book, doing the exercises and revision questions and making notes.
If you're planning to do the same, I can thoroughly recommend this book. For the exam, I would also suggest that you concentrate on the "white box" techniques in Chapter 4 and do all the exercises in this chapter. Good luck!
Very Useful, 04 Jun 2008
I can highly recommend this book.
I read the book before doing the course and certification. From the class I can see that the book really help me to in peace and quiteness understand how to do the diagrams for statement-, decision-, and path diagrams. Reading the book before in a decent pace also makes it much easier to cope with the high amount of information giving in the 3 days.
My recommendation for passing the exam is:
1) Read the book
or
2) Read the book and do the class
The book should be mandatory - the course is nice to have (and yes, I did have a VERY good teacher).
Good luck with the certification exam ;)
Excellent Book, 03 May 2008
I was initially given this book to self study for the ISEB exam and had read it before my employer changed her mind and sent me on the 3 day course.
I have to say that this book provides everything that you need to know for the exam. Make sure that you practice things such as Boundary Analysis, Equivalence Partitioning, Data Flows, Decision tables and State Transition if you only have the opportunity to self study. Make sure that you also cover testing tools. Once you have those testing methods fixed in your mind, you are half way there to a successful result. The course that I sat was good but this book covers everything that the course does.
Perfect in style and content, 12 Oct 2007
After recently starting a new job as a software tester, I had no formal experience of the theory and principles of testing and bought this book to help me pass the ISEB Foundation Certificate in Software Testing exam. Unlike many text books, I found this book was easy to just sit down and read and the example questions at the end of each section/chapter were spot-on for helping me re-cap on what had been learnt in the previous pages.
My employer put me through an intesive 3-day course for the cerficate in which the knowledge I had already learnt was cemented in my head! After each day at home I used the book as a revision guide, topping up knowledge in those areas I wasn't too confident on. I passed the exam with a Distinction (88%) and would recommend this book to anyone thinking of, or currently working towards this qualification.
Help Me Self Study For Exam, 26 Apr 2007
I have just passed the exam 1st go by self studying. This was one of the two books that I read to revise. I found the format of the book very good, each chapter starts off with a quick 3 question quiz to see what parts of the chapter you need to read. Then you get to the bulk of the information and finally a few test questions so you can see what parts you need to re-read.
Of the two books I used this was the most easy to read and put complex ideas in an easy to understand what they are trying to teach.
|
|
 |
 |
|
|
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability.
Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk.
Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot.
Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read.
A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now.
Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages.
The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art!
An excellent intro and great substitute for the course, 16 Oct 2008
I've been pretty involved in testing for years but it's never been a full-time job until recently. I was asked to take the ISEB Foundation Certificate in Software testing by my boss and this book is the one ISEB and the BCS recommend to go with the exam.
This was a very clearly laid-out book with each concept in bite-sized chunks. The authors clearly draw on their real-life experiences of software testing in the frequent worked examples. Overall, with the revision questions and exercises, it's a very practical book.
I used the revised edition, but there are still a few typos and a couple of munged graphics which could do with tidying up, but they don't detract much from what is otherwise a very polished and concise book.
I was able to take and pass this exam solely on the basis of studying this book, doing the exercises and revision questions and making notes.
If you're planning to do the same, I can thoroughly recommend this book. For the exam, I would also suggest that you concentrate on the "white box" techniques in Chapter 4 and do all the exercises in this chapter. Good luck!
Very Useful, 04 Jun 2008
I can highly recommend this book.
I read the book before doing the course and certification. From the class I can see that the book really help me to in peace and quiteness understand how to do the diagrams for statement-, decision-, and path diagrams. Reading the book before in a decent pace also makes it much easier to cope with the high amount of information giving in the 3 days.
My recommendation for passing the exam is:
1) Read the book
or
2) Read the book and do the class
The book should be mandatory - the course is nice to have (and yes, I did have a VERY good teacher).
Good luck with the certification exam ;)
Excellent Book, 03 May 2008
I was initially given this book to self study for the ISEB exam and had read it before my employer changed her mind and sent me on the 3 day course.
I have to say that this book provides everything that you need to know for the exam. Make sure that you practice things such as Boundary Analysis, Equivalence Partitioning, Data Flows, Decision tables and State Transition if you only have the opportunity to self study. Make sure that you also cover testing tools. Once you have those testing methods fixed in your mind, you are half way there to a successful result. The course that I sat was good but this book covers everything that the course does.
Perfect in style and content, 12 Oct 2007
After recently starting a new job as a software tester, I had no formal experience of the theory and principles of testing and bought this book to help me pass the ISEB Foundation Certificate in Software Testing exam. Unlike many text books, I found this book was easy to just sit down and read and the example questions at the end of each section/chapter were spot-on for helping me re-cap on what had been learnt in the previous pages.
My employer put me through an intesive 3-day course for the cerficate in which the knowledge I had already learnt was cemented in my head! After each day at home I used the book as a revision guide, topping up knowledge in those areas I wasn't too confident on. I passed the exam with a Distinction (88%) and would recommend this book to anyone thinking of, or currently working towards this qualification.
Help Me Self Study For Exam, 26 Apr 2007
I have just passed the exam 1st go by self studying. This was one of the two books that I read to revise. I found the format of the book very good, each chapter starts off with a quick 3 question quiz to see what parts of the chapter you need to read. Then you get to the bulk of the information and finally a few test questions so you can see what parts you need to re-read.
Of the two books I used this was the most easy to read and put complex ideas in an easy to understand what they are trying to teach.
A very useful reference guide, 27 Sep 2007
This is a good book for project managers and senior developers who have enough experience to understand that even a practice like agile development needs a framework to work within and a certain number of standard project management controls to be successful.
It deals with some of the practical issues a project manager will face like prioritisation techniques, acceptable levels of functional delivery, inter-dependencies, estimating, padding estimates, monitoring progress, release and iteration planning.
Cohn hasn't written the book specifically around any one methodology (ie SCRUM, XP etc) which is good, as in reality people lift and use ideas from various methodologies. In that respect this book is a good reference guide to dip in and out of, picking the bits that are most appropriate, rather than reading it cover to cover. It is well laid out and easy to read.
As a project manager I am responsible for planning the end-to-end process from requirements through to delivery, therefore I felt that there were some areas that were either not covered in enough depth or omitted altogether:-
* the writing of user stories, and how to plan for their handover to programmers (if produced by a separate individual or team),
* while programmer testing is discussed their is no mention of functional (or acceptance testing) of the produced code,
* scaling up to large (possibly enterprise size) projects is only skimmed over,
* while the estimation techniques discussed can be applied to user story creation and functional/acceptance test creation and execution it is implied rather than explicitly suggested,
* personally I didn't feel that the book addressed the area of changing requirements enough, but maybe that's me.
Being a project manager with more waterfall than agile development experience I might be being overly harsh in these criticisms.
Another great book from Mike Cohn, 15 Nov 2005
If you are doing Agile Software Development or want to, then buy this book. It contains stuff in it that you just won't find any where else. Mike knows his stuff. He's worked on many agile projects and his experience comes through in his writing. I helped review this book and (although I haven't recieved my paper copy yet) I am impressed at how easy it was to read, despite the complexity of the subject.
|
|
 |
 |
|
|
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability. Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk. Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot. Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read. A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now. Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages. The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art! An excellent intro and great substitute for the course, 16 Oct 2008
I've been pretty involved in testing for years but it's never been a full-time job until recently. I was asked to take the ISEB Foundation Certificate in Software testing by my boss and this book is the one ISEB and the BCS recommend to go with the exam.
This was a very clearly laid-out book with each concept in bite-sized chunks. The authors clearly draw on their real-life experiences of software testing in the frequent worked examples. Overall, with the revision questions and exercises, it's a very practical book.
I used the revised edition, but there are still a few typos and a couple of munged graphics which could do with tidying up, but they don't detract much from what is otherwise a very polished and concise book.
I was able to take and pass this exam solely on the basis of studying this book, doing the exercises and revision questions and making notes.
If you're planning to do the same, I can thoroughly recommend this book. For the exam, I would also suggest that you concentrate on the "white box" techniques in Chapter 4 and do all the exercises in this chapter. Good luck! Very Useful, 04 Jun 2008
I can highly recommend this book.
I read the book before doing the course and certification. From the class I can see that the book really help me to in peace and quiteness understand how to do the diagrams for statement-, decision-, and path diagrams. Reading the book before in a decent pace also makes it much easier to cope with the high amount of information giving in the 3 days.
My recommendation for passing the exam is:
1) Read the book
or
2) Read the book and do the class
The book should be mandatory - the course is nice to have (and yes, I did have a VERY good teacher).
Good luck with the certification exam ;) Excellent Book, 03 May 2008
I was initially given this book to self study for the ISEB exam and had read it before my employer changed her mind and sent me on the 3 day course.
I have to say that this book provides everything that you need to know for the exam. Make sure that you practice things such as Boundary Analysis, Equivalence Partitioning, Data Flows, Decision tables and State Transition if you only have the opportunity to self study. Make sure that you also cover testing tools. Once you have those testing methods fixed in your mind, you are half way there to a successful result. The course that I sat was good but this book covers everything that the course does. Perfect in style and content, 12 Oct 2007
After recently starting a new job as a software tester, I had no formal experience of the theory and principles of testing and bought this book to help me pass the ISEB Foundation Certificate in Software Testing exam. Unlike many text books, I found this book was easy to just sit down and read and the example questions at the end of each section/chapter were spot-on for helping me re-cap on what had been learnt in the previous pages.
My employer put me through an intesive 3-day course for the cerficate in which the knowledge I had already learnt was cemented in my head! After each day at home I used the book as a revision guide, topping up knowledge in those areas I wasn't too confident on. I passed the exam with a Distinction (88%) and would recommend this book to anyone thinking of, or currently working towards this qualification. Help Me Self Study For Exam, 26 Apr 2007
I have just passed the exam 1st go by self studying. This was one of the two books that I read to revise. I found the format of the book very good, each chapter starts off with a quick 3 question quiz to see what parts of the chapter you need to read. Then you get to the bulk of the information and finally a few test questions so you can see what parts you need to re-read.
Of the two books I used this was the most easy to read and put complex ideas in an easy to understand what they are trying to teach. A very useful reference guide, 27 Sep 2007
This is a good book for project managers and senior developers who have enough experience to understand that even a practice like agile development needs a framework to work within and a certain number of standard project management controls to be successful.
It deals with some of the practical issues a project manager will face like prioritisation techniques, acceptable levels of functional delivery, inter-dependencies, estimating, padding estimates, monitoring progress, release and iteration planning.
Cohn hasn't written the book specifically around any one methodology (ie SCRUM, XP etc) which is good, as in reality people lift and use ideas from various methodologies. In that respect this book is a good reference guide to dip in and out of, picking the bits that are most appropriate, rather than reading it cover to cover. It is well laid out and easy to read.
As a project manager I am responsible for planning the end-to-end process from requirements through to delivery, therefore I felt that there were some areas that were either not covered in enough depth or omitted altogether:-
* the writing of user stories, and how to plan for their handover to programmers (if produced by a separate individual or team),
* while programmer testing is discussed their is no mention of functional (or acceptance testing) of the produced code,
* scaling up to large (possibly enterprise size) projects is only skimmed over,
* while the estimation techniques discussed can be applied to user story creation and functional/acceptance test creation and execution it is implied rather than explicitly suggested,
* personally I didn't feel that the book addressed the area of changing requirements enough, but maybe that's me.
Being a project manager with more waterfall than agile development experience I might be being overly harsh in these criticisms. Another great book from Mike Cohn, 15 Nov 2005
If you are doing Agile Software Development or want to, then buy this book. It contains stuff in it that you just won't find any where else. Mike knows his stuff. He's worked on many agile projects and his experience comes through in his writing. I helped review this book and (although I haven't recieved my paper copy yet) I am impressed at how easy it was to read, despite the complexity of the subject. One seminal essay. The rest, repetitive and out of date., 29 Jan 2008
For sure the Mythical Man Month was a seminal essay back then. This is worth reading for sure. But the rest of the book is very out of date, and very repetitive. It gets a bit wearing too hearing the old line that hardware has advanced a thousand fold and software hasn't. Er, played any computer games lately?
I'd recommend reading the Mythical Man Month elsewhere if you can find it online and save the time, money, and effort reading the whole book.
Time better spent reading a book on Agile, or XP I would think. A bit outdated..., 01 Aug 2007
Bought this book on the recommendation of a friend, bought "Debugging the Development Environment" on the recommendation of my boss and would probably recommend neither for todays fluidic environments. Mythical Man Month contains a somewhat outdated view of software development, more suitably apt for an age when only long time development projects for mainframes existed and Web/PC development had not been heard of.
Still relevant in parts to large waterfall based development projects, not helpful with RAD/Extreme and other more modern, small team development methods and probably only a useful read if you are new to project teams and/or have not worked in an IT environment Orinal text is brilliant, 03 Apr 2007
The 1975 text is genius like essay No Silver Bullets at the end part of the book. At the very final essay is completely different.
At the final pages (207 and onwards) for some reason Mr Brooks felt that he needs to start defending his original text against critics. Fighting with critics is pointless and makes one me only to feel a shamed behalf of Mr Brooks. The "absolute must read" in software engineering, 29 Aug 2006
I was working for several years in software development, exposed to systems engineering context before reading this book. I think Brooks was so right so long ago that this is "the absolute must read book" on software engineering for anyone interested.
Brooks writes in each chapter about different concerns that affect Software Engineering. The chapters include experiences the author had during his work in IBM back in the 70s. This makes it even more interesting since you actually learn about history of the craft. Note that the main content was written a while ago, but, much of it still applies in today's environment.
This edition includes the original essays and adds new content that comment on the book, the evolution of the field and what the author thinks is still applicable and what not.
As a whole it is very readable and many times fun to read. IMO this is a must read for anyone working in software engineering. A genuine classic - a truly seminal work, 17 Dec 2004
One of the best books ever written about software development and computing in general. Yes, it has dated in places but even so it is still very interesting and often incredibly insightful. The title essay (about how throwing additional people at an already late project simply makes it even later) and the essay about Second System Syndrome at particularly good. It ought to be (but rather sadly is not) a must read for everybody working in IT.
|
|
 |
 |
|
|
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability. Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk. Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot. Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read. A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now. Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages. The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art! An excellent intro and great substitute for the course, 16 Oct 2008
I've been pretty involved in testing for years but it's never been a full-time job until recently. I was asked to take the ISEB Foundation Certificate in Software testing by my boss and this book is the one ISEB and the BCS recommend to go with the exam.
This was a very clearly laid-out book with each concept in bite-sized chunks. The authors clearly draw on their real-life experiences of software testing in the frequent worked examples. Overall, with the revision questions and exercises, it's a very practical book.
I used the revised edition, but there are still a few typos and a couple of munged graphics which could do with tidying up, but they don't detract much from what is otherwise a very polished and concise book.
I was able to take and pass this exam solely on the basis of studying this book, doing the exercises and revision questions and making notes.
If you're planning to do the same, I can thoroughly recommend this book. For the exam, I would also suggest that you concentrate on the "white box" techniques in Chapter 4 and do all the exercises in this chapter. Good luck! Very Useful, 04 Jun 2008
I can highly recommend this book.
I read the book before doing the course and certification. From the class I can see that the book really help me to in peace and quiteness understand how to do the diagrams for statement-, decision-, and path diagrams. Reading the book before in a decent pace also makes it much easier to cope with the high amount of information giving in the 3 days.
My recommendation for passing the exam is:
1) Read the book
or
2) Read the book and do the class
The book should be mandatory - the course is nice to have (and yes, I did have a VERY good teacher).
Good luck with the certification exam ;) Excellent Book, 03 May 2008
I was initially given this book to self study for the ISEB exam and had read it before my employer changed her mind and sent me on the 3 day course.
I have to say that this book provides everything that you need to know for the exam. Make sure that you practice things such as Boundary Analysis, Equivalence Partitioning, Data Flows, Decision tables and State Transition if you only have the opportunity to self study. Make sure that you also cover testing tools. Once you have those testing methods fixed in your mind, you are half way there to a successful result. The course that I sat was good but this book covers everything that the course does. Perfect in style and content, 12 Oct 2007
After recently starting a new job as a software tester, I had no formal experience of the theory and principles of testing and bought this book to help me pass the ISEB Foundation Certificate in Software Testing exam. Unlike many text books, I found this book was easy to just sit down and read and the example questions at the end of each section/chapter were spot-on for helping me re-cap on what had been learnt in the previous pages.
My employer put me through an intesive 3-day course for the cerficate in which the knowledge I had already learnt was cemented in my head! After each day at home I used the book as a revision guide, topping up knowledge in those areas I wasn't too confident on. I passed the exam with a Distinction (88%) and would recommend this book to anyone thinking of, or currently working towards this qualification. Help Me Self Study For Exam, 26 Apr 2007
I have just passed the exam 1st go by self studying. This was one of the two books that I read to revise. I found the format of the book very good, each chapter starts off with a quick 3 question quiz to see what parts of the chapter you need to read. Then you get to the bulk of the information and finally a few test questions so you can see what parts you need to re-read.
Of the two books I used this was the most easy to read and put complex ideas in an easy to understand what they are trying to teach. A very useful reference guide, 27 Sep 2007
This is a good book for project managers and senior developers who have enough experience to understand that even a practice like agile development needs a framework to work within and a certain number of standard project management controls to be successful.
It deals with some of the practical issues a project manager will face like prioritisation techniques, acceptable levels of functional delivery, inter-dependencies, estimating, padding estimates, monitoring progress, release and iteration planning.
Cohn hasn't written the book specifically around any one methodology (ie SCRUM, XP etc) which is good, as in reality people lift and use ideas from various methodologies. In that respect this book is a good reference guide to dip in and out of, picking the bits that are most appropriate, rather than reading it cover to cover. It is well laid out and easy to read.
As a project manager I am responsible for planning the end-to-end process from requirements through to delivery, therefore I felt that there were some areas that were either not covered in enough depth or omitted altogether:-
* the writing of user stories, and how to plan for their handover to programmers (if produced by a separate individual or team),
* while programmer testing is discussed their is no mention of functional (or acceptance testing) of the produced code,
* scaling up to large (possibly enterprise size) projects is only skimmed over,
* while the estimation techniques discussed can be applied to user story creation and functional/acceptance test creation and execution it is implied rather than explicitly suggested,
* personally I didn't feel that the book addressed the area of changing requirements enough, but maybe that's me.
Being a project manager with more waterfall than agile development experience I might be being overly harsh in these criticisms. Another great book from Mike Cohn, 15 Nov 2005
If you are doing Agile Software Development or want to, then buy this book. It contains stuff in it that you just won't find any where else. Mike knows his stuff. He's worked on many agile projects and his experience comes through in his writing. I helped review this book and (although I haven't recieved my paper copy yet) I am impressed at how easy it was to read, despite the complexity of the subject. One seminal essay. The rest, repetitive and out of date., 29 Jan 2008
For sure the Mythical Man Month was a seminal essay back then. This is worth reading for sure. But the rest of the book is very out of date, and very repetitive. It gets a bit wearing too hearing the old line that hardware has advanced a thousand fold and software hasn't. Er, played any computer games lately?
I'd recommend reading the Mythical Man Month elsewhere if you can find it online and save the time, money, and effort reading the whole book.
Time better spent reading a book on Agile, or XP I would think. A bit outdated..., 01 Aug 2007
Bought this book on the recommendation of a friend, bought "Debugging the Development Environment" on the recommendation of my boss and would probably recommend neither for todays fluidic environments. Mythical Man Month contains a somewhat outdated view of software development, more suitably apt for an age when only long time development projects for mainframes existed and Web/PC development had not been heard of.
Still relevant in parts to large waterfall based development projects, not helpful with RAD/Extreme and other more modern, small team development methods and probably only a useful read if you are new to project teams and/or have not worked in an IT environment Orinal text is brilliant, 03 Apr 2007
The 1975 text is genius like essay No Silver Bullets at the end part of the book. At the very final essay is completely different.
At the final pages (207 and onwards) for some reason Mr Brooks felt that he needs to start defending his original text against critics. Fighting with critics is pointless and makes one me only to feel a shamed behalf of Mr Brooks. The "absolute must read" in software engineering, 29 Aug 2006
I was working for several years in software development, exposed to systems engineering context before reading this book. I think Brooks was so right so long ago that this is "the absolute must read book" on software engineering for anyone interested.
Brooks writes in each chapter about different concerns that affect Software Engineering. The chapters include experiences the author had during his work in IBM back in the 70s. This makes it even more interesting since you actually learn about history of the craft. Note that the main content was written a while ago, but, much of it still applies in today's environment.
This edition includes the original essays and adds new content that comment on the book, the evolution of the field and what the author thinks is still applicable and what not.
As a whole it is very readable and many times fun to read. IMO this is a must read for anyone working in software engineering. A genuine classic - a truly seminal work, 17 Dec 2004
One of the best books ever written about software development and computing in general. Yes, it has dated in places but even so it is still very interesting and often incredibly insightful. The title essay (about how throwing additional people at an already late project simply makes it even later) and the essay about Second System Syndrome at particularly good. It ought to be (but rather sadly is not) a must read for everybody working in IT.
A very practical guide to getting started with Agile, 22 Sep 2008
We're just launching a new project, and we'll be using Agile for the first time. I've found this book very useful for telling me exactly what I need to do when. The book is well structured and very readable. As a bonus, it doesn't just deal with how User Stories are Applied, but also has a good writeup about why they work, which I think you'll find useful if you want to convince your boss to try out Agile practices.
The case study at the end ties everything together nicely, my only critisim being that it ends rather abruptly. For a more extensive case study, covering several iterations, and not just the planning stage, see Mike Cohn's other book, Agile Estimating and Planning (Robert C. Martin).
The reality is requirements change and evolve!, 20 Jan 2005
This book delivers a practical, lightweight solution to requirements gathering and management. User stories can stand-alone in their own right, or can be used in conjunction with other agile methodologies or techniques. In fact Cohn gives examples of how user stories have been implemented in more traditional IEEE 830 projects with strict audit requirements. User stories are an agile practice. Like other agile practices, they put the customer at the heart of the process. Agile practices work by communication; by involving the customer they focus on business value. Cohn keeps this underlying principle at the centre of his arguments for adopting user stories. The book contains information not only about writing user stories but how they fit into, and drive, agile development processes. Cohn favours the SCRUM methodology and XP practices. These are referred to throughout the text and are summarized in the books Appendices. At the end of each chapter a summary of responsibilities for developers and customers (along with a summary and a set of questions) are given. If nothing else these will act as a point of discussion, particularly with those who subscribe to the 'big up front design' school of thought. All chapters are short and to the point. The sections are broken up well and the book gains from having a simple, working example given in part 4 showing how the techniques in the first 3 sections are applied to a practical situation. My opinion is that this is an excellent book, anyone who is undertaking, or involved, an IT project would do well to read this. If nothing else it offers an alternative to 'traditional' waterfall-orientated processes, or no formal requirements management at all (beer-mat specifications). As a personal recommendation, I would suggest looking at the other titles in the Addison Wesley Signature Series.
More then a story on stories, 24 Jul 2004
Mike Cohn is one of the founding members of the Agile Alliance. This long term commitment to the agile movement and agile thinking shows in his writings, and this book is no exception. The book addresses user stories, it investigates the user story from different perspectives, explains thoroughly how to get to the point where the story reaches its conclusion. Then the book goes further. It expands the role of a story into planning of releases and products, making it the centre of software or product development. A very readable book not only if you want to develop practices around stories, but also if you need an insight in the impact of implementing agile practices in your environment.
All you ever need to know about User Stories !, 20 Mar 2004
Mike Cohn's book User Stories Applied is an excellent handbook on how to write User Stories and their role in agile software development. The book covers planning and tracking team velocity against the plan, including how to get started with these techniques. Mike really knows his subject and his book captures useful hints and tips for Customers and Developers based on practical experience with User Stories. I recommend this book to any team who want to get the best from the application of User Stories on their projects.
Excellent "how to" and "why" of user stories, 17 Feb 2004
Based on the draft versions of this book, I thoroughly recommend this book if you want to learn not only how to "do" user stories but where they fit in the wider agile development process. Excellent.
|
|
 |
 |
|
|
Product Description
Design Patterns is based on the idea that there are only so many design problems in computer programming. This book identifies some common program-design problems--such as adapting the interface of one object to that of another object or notifying an object of a change in another object's state--and explains the best ways (not always the obvious ways) that the authors know to solve them. The idea is that you can use the authors' sophisticated design ideas to solve problems that you often waste time solving over and over again in your own programming. The authors have come up with some ingenious ways to solve some common vexations among object-oriented programmers. Want to build a page-layout program that embeds inline images among characters of various sizes? How about building a program that converts files of one format to another? Chances are, some programmer already has thought of a better solution than you will and the recipes you need are here. Solutions are presented in generalised diagrams of data and logic structures. The idea is that you can take the concepts presented here and adapt them--in whatever language you use--to your individual situation. You may have to read some of the chapters several times before you fully understand them, but when you find a solution in this book, it will make your job easier and your results more elegant. --Jake Bond
Customer Reviews
Overated..., 23 Oct 2008
I'm all for new approaches in learning but I find that this book while seeking to de-mystify various OO design concepts actually introduces more confusion.
One of the worst offending chapters is the one on the factory design pattern. I find myself wanting to scream at the book 'ENOUGH PIZZA ALREADY, JUST TELL ME WHAT THE HELL I NEED TO KNOW ABOUT THE PATTERN GODDAMMIT!!!' After my 3rd re-read of the chapter I think I have been introduced to 2 1/2 patterns or rather one that is more of an 'idiom' than a pattern.
It doesn't help either when the authors state that it would be impossible to write a functioning programming if we stuck to ideal design principles.
My impression is that this book is getting rave reviews from other readers because they, like me, are sick of dense, unreadable tomes that give you a migraine within minutes of turning the first page.
I think that the authors have exchanged clarity for readability. Are people really giving this 5 stars, 25 Sep 2008
I am kind of surprised that so many people have given this 5 stars. I don't think this book is very good and here are my reasons.
1- The book is written in a style that some people may not like, although this was not a problem for me. What did annoy me was the way they wrote the code bit by bit over many pages filled with a lot of people and pizzas in between. It means you can never use it as a quick reference as you have to search for the final correct piece of code.
2- There are no full code examples. Yes everything presented is in fragments, you will never see a complete piece of programme.
3- It uses Java, which looks like C# to all intents and purposes. But this stops them from displaying full code listings. The code itself is all over the place.
4- The book is definitely bloated with what seems quite a lot of unnecessary explanations and re-explanations.
5- I never felt they gave enough programming scenarios of the advantages of using the patterns, although there was a lot of talk. Fantastic, 08 Aug 2008
A very good book. Its been written to be read from cover to cover and its a joy to do so. There are a lot of practice questions and task to do, which means you have to put the effort in but you will learn a lot. Not just for JAVA, 12 Jun 2008
I am an ASP.NET developer and write in VB and C#. If you program in any OO language the fact that this book is written in Java will not be a problem in the slightest.
This book impressed me by the way it took you through implementations of the design patterns in order to help break the learning curve down into more manageable segments. After reading each chapter I knew exactly how the pattern was applied and understood it fully.
Something that was a real eye opener for me was that from reading this book I could see that design patterns exist EVERYWHERE in the .NET framework. User controls implements the composite pattern, the whole event driven model is based around the observer pattern and I don't know how many times I've been unknowingly using the template pattern!
There really shouldn't be any reason an OO programmer doesn't read this book (even if they are already clued up on their design patterns). It's an easy, fun and enlightening read. A really enjoyable read, 13 May 2008
This has got to be the most enjoyable programming book I have ever read. Every spare minute I have is spent wanting to see what happens next. I have only ever felt this with novels before.
As to the content, I could relate many of the design patterns shown to what I have done or seen in the past, but they also show reasoning and extra detail and insight than what I have noticed myself.
A great read, I'm learning lots. I'm interested to see what the other Head First books are like now. Book title needs refactoring, 27 Oct 2008
This is a great book, and one which any developer will learn a great deal from. In most respects, it is a five-star book, but... the title is misleading. By rights it should be called "Clean Java Code".
Let me explain: I am an ActionScript developer, and bought this book to improve my code style and structure. For the most part, it has done that: the chapters on naming, comments, functions and classes are absolutely superb. But then, huge swathes of the book are devoted exclusively to Java, and use some fairly complex (and, in my opinion, not very well formatted) code to convey their intention.
I don't generally have a problem with using Java-oriented books to learn more general programming concepts (Martin Fowler's "Refactoring" and O'Reilly's Head-First Design Patterns are both books I would recommend to anyone, regardless of their language-of-choice), but around 1/3rd of Bob Martin's book is virtually impenetrable to anyone who does not already have significant Java experience.
That said, I should re-iterate that this book will be hugely valuable to any programmer. I just wish that they had tried to use a little more pseudo-code and a little less real-world examples, with all of the complexities entailed, and I think a lot could have been done to make the Java code more readable for users of other languages. The bible for writing high quality software, 09 Sep 2008
Uncle Bob (Robert C. Martin) is a recognized expert in todays world of software development. His books "Agile Software Development: Principles, Patterns and Practices" and "Agile Principles, Patterns and Practices in C#" should by now be well known by the majority of serious java and C# developers. I read the latter last year, and I was blown away by Uncle Bob's insight into the process of writing software in a manner, that more or less guarantees success for both the customer and the development company.
When "Clean Code" was published I rushed to buy it, and again I am in awe!
This book book hits the nail on why so many software development projects ends up in pain for the developers as the code rots and becomes unmaintainable. Not only are the symptoms cleary described and analyzed, Uncle Bob also provides the remedy. By breaking down the process of cleaning up code into detecting very specific "smells" and heuristics, and by supplying the reader the tools to fix the problems in the software, the reader automatically becomes empowered, inspired and motivated to go and clean up his or her mess.
I strongly believe, that if all developers were to read this book and start living by the rules stated within, life would improve for every single developer, customers would be able to purchase very high quality software products a lot cheaper, and everyone would benefit.
My applause to Uncle Bob - Thank you for this fantastic work of art! An excellent intro and great substitute for the course, 16 Oct 2008
I've been pretty involved in testing for years but it's never been a full-time job until recently. I was asked to take the ISEB Foundation Certificate in Software testing by my boss and this book is the one ISEB and the BCS recommend to go with the exam.
This was a very clearly laid-out book with each concept in bite-sized chunks. The authors clearly draw on their real-life experiences of software testing in the frequent worked examples. Overall, with the revision questions and exercises, it's a very practical book.
I used the revised edition, but there are still a few typos and a couple of munged graphics which could do with tidying up, but they don't detract much from what is otherwise a very polished and concise book.
I was able to take and pass this exam solely on the basis of studying this book, doing the exercises and revision questions and making notes.
If you're planning to do the same, I can thoroughly recommend this book. For the exam, I would also suggest that you concentrate on the "white box" techniques in Chapter 4 and do all the exercises in this chapter. Good luck! Very Useful, 04 Jun 2008
I can highly recommend this book.
I read the book before doing the course and certification. From the class I can see that the book really help me to in peace and quiteness understand how to do the diagrams for statement-, decision-, and path diagrams. Reading the book before in a decent pace also makes it much easier to cope with the high amount of information giving in the 3 days.
My recommendation for passing the exam is:
1) Read the book
or
2) Read the book and do the class
The book should be mandatory - the course is nice to have (and yes, I did have a VERY good teacher).
Good luck with the certification exam ;) Excellent Book, 03 May 2008
I was initially given this book to self study for the ISEB exam and had read it before my employer changed her mind and sent me on the 3 day course.
I have to say that this book provides everything that you need to know for the exam. Make sure that you practice things such as Boundary Analysis, Equivalence Partitioning, Data Flows, Decision tables and State Transition if you only have the opportunity to self study. Make sure that you also cover testing tools. Once you have those testing methods fixed in your mind, you are half way there to a successful result. The course that I sat was good but this book covers everything that the course does. Perfect in style and content, 12 Oct 2007
After recently starting a new job as a software tester, I had no formal experience of the theory and principles of testing and bought this book to help me pass the ISEB Foundation Certificate in Software Testing exam. Unlike many text books, I found this book was easy to just sit down and read and the example questions at the end of each section/chapter were spot-on for helping me re-cap on what had been learnt in the previous pages.
My employer put me through an intesive 3-day course for the cerficate in which the knowledge I had already learnt was cemented in my head! After each day at home I used the book as a revision guide, topping up knowledge in those areas I wasn't too confident on. I passed the exam with a Distinction (88%) and would recommend this book to anyone thinking of, or currently working towards this qualification. Help Me Self Study For Exam, 26 Apr 2007
I have just passed the exam 1st go by self studying. This was one of the two books that I read to revise. I found the format of the book very good, each chapter starts off with a quick 3 question quiz to see what parts of the chapter you need to read. Then you get to the bulk of the information and finally a few test questions so you can see what parts you need to re-read.
Of the two books I used this was the most easy to read and put complex ideas in an easy to understand what they are trying to teach. A very useful reference guide, 27 Sep 2007
This is a good book for project managers and senior developers who have enough experience to understand that even a practice like agile development needs a framework to work within and a certain number of standard project management controls to be successful.
It deals with some of the practical issues a project manager will face like prioritisation techniques, acceptable levels of functional delivery, inter-dependencies, estimating, padding estimates, monitoring progress, release and iteration planning.
Cohn hasn't written the book specifically around any one methodology (ie SCRUM, XP etc) which is good, as in reality people lift and use ideas from various methodologies. In that respect this book is a good reference guide to dip in and out of, picking the bits that are most appropriate, rather than reading it cover to cover. It is well laid out and easy to read.
As a project manager I am responsible for planning the end-to-end process from requirements through to delivery, therefore I felt that there were some areas that were either not covered in enough depth or omitted altogether:-
* the writing of user stories, and how to plan for their handover to programmers (if produced by a separate individual or team),
* while programmer testing is discussed their is no mention of functional (or acceptance testing) of the produced code,
* scaling up to large (possibly enterprise size) projects is only skimmed over,
* while the estimation techniques discussed can be applied to user story creation and functional/acceptance test creation and execution it is implied rather than explicitly suggested,
* personally I didn't feel that the book addressed the area of changing requirements enough, but maybe that's me.
Being a project manager with more waterfall than agile development experience I might be being overly harsh in these criticisms. Another great book from Mike Cohn, 15 Nov 2005
If you are doing Agile Software Development or want to, then buy this book. It contains stuff in it that you just won't find any where else. Mike knows his stuff. He's worked on many agile projects and his experience comes through in his writing. I helped review this book and (although I haven't recieved my paper copy yet) I am impressed at how easy it was to read, despite the complexity of the subject. One seminal essay. The rest, repetitive and out of date., 29 Jan 2008
For sure the Mythical Man Month was a seminal essay back then. This is worth reading for sure. But the rest of the book is very out of date, and very repetitive. It gets a bit wearing too hearing the old line that hardware has advanced a thousand fold and software hasn't. Er, played any computer games lately?
I'd recommend reading the Mythical Man Month elsewhere if you can find it online and save the time, money, and effort reading the whole book.
Time better spent reading a book on Agile, or XP I would think. A bit outdated..., 01 Aug 2007
Bought this book on the recommendation of a friend, bought "Debugging the Development Environment" on the recommendation of my boss and would probably recommend neither for todays fluidic environments. Mythical Man Month contains a somewhat outdated view of software development, more suitably apt for an age when only long time development projects for mainframes existed and Web/PC development had not been heard of.
Still relevant in parts to large waterfall based development projects, not helpful with RAD/Extreme and other more modern, small team development methods and probably only a useful read if you are new to project teams and/or have not worked in an IT environment Orinal text is brilliant, 03 Apr 2007
The 1975 text is genius like essay No Silver Bullets at the end part of the book. At the very final essay is completely different.
At the final pages (207 and onwards) for some reason Mr Brooks felt that he needs to start defending his original text against critics. Fighting with critics is pointless and makes one me only to feel a shamed behalf of Mr Brooks. The "absolute must read" in software engineering, 29 Aug 2006
I was working for several years in software development, exposed to systems engineering context before reading this book. I think Brooks was so right so long ago that this is "the absolute must read book" on software engineering for anyone interested.
Brooks writes in each chapter about different concerns that affect Software Engineering. The chapters include experiences the author had during his work in IBM back in the 70s. This makes it even more interesting since you actually learn about history of the craft. Note that the main content was written a while ago, but, much of it still applies in today's environment.
This edition includes the original essays and adds new content that comment on the book, the evolution of the field and what the author thinks is still applicable and what not.
As a whole it is very readable and many times fun to read. IMO this is a must read for anyone working in software engineering. A genuine classic - a truly seminal work, 17 Dec 2004
One of the best books ever written about software development and computing in general. Yes, it has dated in places but even so it is still very interesting and often incredibly insightful. The title essay (about how throwing additional people at an already late project simply makes it even later) and the essay about Second System Syndrome at particularly good. It ought to be (but rather sadly is not) a must read for everybody working in IT.
A very practical guide to getting started with Agile, 22 Sep 2008
We're just launching a new project, and we'll be using Agile for the first time. I've found this book very useful for telling me exactly what I need to do when. The book is well structured and very readable. As a bonus, it doesn't just deal with how User Stories are Applied, but also has a good writeup about why they work, which I think you'll find useful if you want to convince your boss to try out Agile practices.
The case study at the end ties everything together nicely, my only critisim being that it ends rather abruptly. For a more extensive case study, covering several iterations, and not just the planning stage, see Mike Cohn's other book, Agile Estimating and Planning (Robert C. Martin).
The reality is requirements change and evolve!, 20 Jan 2005
This book delivers a practical, lightweight solution to requirements gathering and management. User stories can stand-alone in their own right, or can be used in conjunction with other agile methodologies or techniques. In fact Cohn gives examples of how user stories have been implemented in more traditional IEEE 830 projects with strict audit requirements. User stories are an agile practice. Like other agile practices, they put the customer at the heart of the process. Agile practices work by communication; by involving the customer they focus on business value. Cohn keeps this underlying principle at the centre of his arguments for adopting user stories. The book contains information not only about writing user stories but how they fit into, and drive, agile development processes. Cohn favours the SCRUM methodology and XP practices. These are referred to throughout the text and are summarized in the books Appendices. At the end of each chapter a summary of responsibilities for developers and customers (along with a summary and a set of questions) are given. If nothing else these will act as a point of discussion, particularly with those who subscribe to the 'big up front design' school of thought. All chapters are short and to the point. The sections are broken up well and the book gains from having a simple, working example given in part 4 showing how the techniques in the first 3 sections are applied to a practical situation. My opinion is that this is an excellent book, anyone who is undertaking, or involved, an IT project would do well to read this. If nothing else it offers an alternative to 'traditional' waterfall-orientated processes, or no formal requirements management at all (beer-mat specifications). As a personal recommendation, I would suggest looking at the other titles in the Addison Wesley Signature Series.
More then a story on stories, 24 Jul 2004
Mike Cohn is one of the founding members of the Agile Alliance. This long term commitment to the agile movement and agile thinking shows in his writings, and this book is no exception. The book addresses user stories, it investigates the user story from different perspectives, explains thoroughly how to get to the point where the story reaches its conclusion. Then the book goes further. It expands the role of a story into planning of releases and products, making it the centre of software or product development. A very readable book not only if you want to develop practices around stories, but also if you need an insight in the impact of implementing agile practices in your environment.
All you ever need to know about User Stories !, 20 Mar 2004
Mike Cohn's book User Stories Applied is an excellent handbook on how to write User Stories and their role in agile software development. The book covers planning and tracking team velocity agai | | |