23 of 23 people found the following review helpful:
5.0 out of 5 stars
The Software Development Lifecycle, 18 Oct 2005
By Daniel McKinnon "Dan" - Published on Amazon.com
This review is from: Practical Development Environments (Paperback)
This is an important work that should be required reading for the following individuals:
1. Software Engineering students
2. Build/Release engineers
3. All new software engineers starting off
When I started my professional software career, I wish that I had a book like this that I could have read before I ever wrote a line of code. When an engineer is starting off, they are fresh out of school with a whole bunch of theory floating in their head and a myriad of projects they have just worked on, but this does not deal with how software is actually MADE in the real world. No matter how well you understand the difference between a reference and a pointer, in order to be a successful software engineer you still need to know how software actually gets built by a team of people and that's what makes 'Practical Development Environments' by Matthew Doar so great and so USEFUL.
This book isn't about how to code, rather how code gets out the door. Sure you might be able to create some classes, methods, and know how to interact with them, but have you ever really thought about how code is managed? How it gets tested? How many engineers work on the same piece of code without stumbling on each others toes?
The author does just that in this book, as he examines the intricacies of what source control is and some of the most popular SCM solutions are out there. The author discusses how important testing is and the tools that can be used to track, modify, and fix bugs quickly and efficiently. Mr. Doar talks about the maintenance cycle of how code is hotfixed after releases are made, and the scripts and documentation that goes along with said releases and upgrades.
Writing code is not just about opening up a C++ project and making a few classes and doing some unit testing. Writing good code is a PROCESS in itself, and it's important that all engineers present and future understand what goes into getting a product out the door. I honestly wish that I had something like this back when I was in school, it would have prepared me better for everything that I learned later and possibly would have helped avoid some of the potholes that I encountered along the way.
This is an important work and I found it very useful, if for nothing else than stressing how many aspects there are to getting software out beyond writing it and selling it.
***** HIGHLY RECOMMENDED
16 of 16 people found the following review helpful:
4.0 out of 5 stars
Useful for what it is..., 9 Nov 2005
By T. Kolar - Published on Amazon.com
This review is from: Practical Development Environments (Paperback)
Software development is big business, so it's always surprising just how awful software development tools can be.
After fourteen years of writing software under four different bug tracking systems and three different Source Control Management systems, about the only conclusion I've reached is that they're all bad in their own unique way.
The author of this book at least has the grace to admit this. He then, however, spends a lot of time contrasting and comparing various tools, and coming up with cheery new ways to say "They're both crap, but this one sucks less" without actually coming out and saying that.
Of course, about the only thing worse than mediocre SCM and bug tracking is none at all. So, assuming that you're not in a position to write your own development environment from scratch, this is a useful guide to the best of what's out there.
And, I have to admit, I'm keeping it within easy reach for ammunition next time someone tries to "fix" my development environment by switching tools underneath me. Whether I use it as a resource for reasoned debate or simply as a projectile weapon remains to be seen. Hint: I'm hoping for a hardback version.
Four stars.
Disclaimer: I have crossed paths professionally with the author of this book.
4 of 4 people found the following review helpful:
4.0 out of 5 stars
When you don't know what you don't know..., 28 April 2006
By Thomas Duff "Duffbert" - Published on Amazon.com
This review is from: Practical Development Environments (Paperback)
It's much more common these days to see development environments that use standard tools for things like the build process, source management, testing, and so forth. But if you're just getting introduced to these areas of automation and control, how do you get a broad understanding of the issues and offerings without buying a ton of books that are far too detailed for what you need? Practical Development Environments by Matthew B. Doar addresses this need quite well...
Contents: Introduction; Project Basics; Project Concepts; Software Configuration Management; Building Software; Testing Software; Tracking Bugs; Documentation Environments; Releasing Products; Maintenance; Project Communication; Politics and People; How Tools Scale; Resources; Index
I like the way things are laid out here. Take the Tracking Bugs chapter for example... It starts out with a list of requirements that a tool needs to be able to do well in order to be useful in tracking bugs. Things like ease of data entry, easy review of bugs, tracing the history of a bug, generate reports, and so forth. Once the requirements are out there, then he examines some of the common tools available along with their pros and cons. There's the ever-present spreadsheet (not bad for something small and simple), Bugzilla, GNATS, FogBugz, JIRA, and TestTrack. Each of those products are covered in a page or two so that you can understand the history, strengths, current direction, and why you may or may not want to choose this particular tool. There's also no dogma here on whether something needs to be free/open source or not. Both commercial and open source packages are covered. This is followed by more general bug tracking system discussion, and then it all ends with a checklist of questions you should feel comfortable answering about your particular choice in this area. By the time you're done with a chapter on a particular subject, you should have a decent foundation on the concepts you need to know to make an informed choice.
It's not a book you'd mistake as a reference manual on any one (or more) tools, but that's not what it sets out to be. This is the book you'd want if you don't know what you don't know. If you keep that in mind, it delivers on its purpose.