Archive for the 'Book' Category

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts

Wednesday, February 24th, 2010

In this unique technical book, today’s leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects — including Neal Ford, Michael Nygard, and Bill de hOra — offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they’ve learned from years of experience. You’ll learn what top software architects think is important, and how they approach their projects.

To be successful as a software architect, you need to master both business and technology. This book tells you what top software architects think is important and how they approach a project. If you want to enhance your career, 97 Things Every Software Architect Should Know is essential reading.

Richard Monson-Haefel

http://oreilly.com/catalog/9780596522704

Kanban and Scrum - making the most of both

Tuesday, January 12th, 2010

Scrum and Kanban are two flavours of Agile software development - two deceptively simple but surprisingly powerful approaches to software development. So how do they relate to each other? The purpose of this book is to clear up the fog, so you can figure out how Kanban and Scrum might be useful in your environment.

Part I illustrates the similarities and differences between Kanban and Scrum, comparing for understanding, not for judgement. There is no such thing as a good or bad tool – just good or bad decisions about when and how to use which tool. Part II is a case study illustrating how a Scrum-based development organization implemented Kanban in their operations and support teams.

Consistent with the style of “Scrum and XP from the Trenches”, this book strikes a conversational tone and is bursting with practical examples and pictures.

Henrik Kniberg and Mattias Skarin

http://www.infoq.com/minibooks/kanban-scrum-minibook

Introduction to Algorithms, Third Edition

Monday, November 16th, 2009

Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. “Introduction to Algorithms” uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.

The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters […] and substantial additions to the chapter on recurrences (now called “Divide-and-Conquer”). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition.

Thomas H. Cormen
Charles E. Leiserson
Ronald L. Rivest
Clifford Stein

http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11866

AspectJ in Action, Second Edition

Friday, October 30th, 2009

To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.

AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad’s best-selling first edition. It’s a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You’ll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you’ll apply AOP to common problems encountered in enterprise applications.

This book requires no previous experience in AOP and AspectJ, but it assumes you’re familiar with OOP, Java, and the basics of Spring.

Ramnivas Laddad

http://www.manning.com/laddad2/

Coders at Work: Reflections on the Craft of Programming

Friday, September 11th, 2009

Based on nearly eighty hours of interviews with fifteen all-time great programmers and computer scientists, Coders at Work provides a multifaceted view into how great programmers learn to program, how they practice their craft, and what they think about the future of programming.

Peter Seibel

http://codersatwork.com/

Open Source SOA

Wednesday, August 12th, 2009

Service Oriented Architecture, or SOA, has become embraced by many organizations as a means of improving reusability of software assets; providing better alignment between business and IT; and, increasing agility for responding to demands in the marketplace. This is accomplished by breaking individual units of functionality into services that can then be exposed through open protocols and standards.

Until recently, many of the software technologies used for developing SOA-based solutions were limited to expensive, commercial offerings. However, that has now changed, and a compelling open source SOA platform can be implemented exclusively with open source products. This book identifies a suite of open source products that can be used for a building SOA environment, and describes how they can be integrated by practitioners. It includes a hands-on introduction to the products selected; a multitude of source code examples; and implementation through real-life case studies.

Jeff Davis

http://www.manning.com/davis/

Lean Primer

Monday, August 10th, 2009

Lean thinking is a proven system that applies to product development and production, as evidenced by Toyota and others. And although most often applied to products, it is also used in service areas—both within Toyota and in domains such as health care. The image and metaphor we like to convey a key thinking mistake —and opportunity— is the sport of relay racing. Consider the relay racers standing around waiting for the baton from their running colleague. The accountant in the finance department, looking aghast at this terrible underutilization ‘waste’ indicated in some report, would probably mandate a policy goal of “95% utilization of resources” to ensure all the racers are busy and ‘productive.’ Maybe —he suggests— the runners could run three races at the same time to increase “resource utilization,” or run up a mountain while waiting. Funny… but this kind of thinking lies behind much of traditional management and processes in development and other domains. Of course, in contrast, here is a central idea in lean thinking: Watch the baton, not the runners.

Craig Larman and Bas Vodde

http://www.leanprimer.com

Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects

Tuesday, July 21st, 2009

Too many projects? Want to organize them and evaluate them without getting buried under a mountain of statistics? This book will help you collect all your work, decide which projects you should do first, second — and never. You’ll see how to tie your work to your organization’s mission and show your board, your managers, and your staff what you can accomplish and when. You’ll get a better view of the work you have, and learn how to make those difficult decisions, ensuring that all your strength is focused where it needs to be.

Johanna Rothman

http://www.pragprog.com/titles/jrport/manage-your-project-portfolio

The New Community Rules

Tuesday, July 21st, 2009

The social web provides businesses with a largely untapped marketing channel for products and services — the trick is knowing how to take advantage of it. With this book, you’ll understand how social web technologies work, and learn the most practical and effective ways to reach the people who frequent these websites. You’ll get intelligent advice and strategies — including what works and what doesn’t.

Tamar Weinberg

http://oreilly.com/catalog/9780596156817/#top

Masterminds of Programming

Tuesday, June 23rd, 2009

Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), James Gosling (Java), Bjarne Stroustrup (C++), and others whose vision and hard work helped shape the computer industry. You’ll find advice you can apply to systems you’re developing, even if you don’t use the specific languages being discussed.

http://oreilly.com/catalog/9780596515171/

The Open Group’s SOA Source Book

Monday, June 22nd, 2009

The Open Group’s SOA Source Book is a collection of source material for use by enterprise architects working with Service-Oriented Architecture.

It consists of material that has been considered and in part developed by The Open Group’s SOA Working Group. The SOA Working Group is engaged in a work program to produce definitions, analyses, recommendations, reference models, and standards to assist business and information technology professionals within and outside of the Open Group to understand and adopt SOA. The source book does not represent the final output of that work program, which will be published as a collection of Open Group Standards and Guides. It is an interim publication, and its content will not necessarily be reflected in the final output.

The material reflects input from a large number of people from a wide range of Open Group member companies, including product vendors, consultancies, and users of SOA. In some cases, these people have brought concepts developed, not just by themselves, but by groups of people within their organizations. The input has been refined and further developed through discussion within the Working Group. The value in the result is due to the ideas and efforts of the Working Group members.

The material is now published in its current form to make that value available to the wider architecture community.

http://www.opengroup.org/projects/soa-book/

Clean Code: A Handbook of Agile Software Craftsmanship

Tuesday, May 12th, 2009

As programmers, our first priority is creating code that works. Unfortunately, code that just “works” just isn’t good enough. To provide real, lasting value, code has to be clean. In “Clean Code: A Handbook of Agile Software Craftsmanship”, Robert C. Martin makes use of extensive examples and case studies to hone our ability to identifying code that has room for improvement, and provides a multitude of techniques to clean up code, just a little, every time we touch it.

This book belongs on the bookshelf of every developer who cares passionately about quality and craftsmanship. Less experienced developers will find it more valuable, and more of a slow read – this book is packed with good advice, without much “filler”. Martin uses plenty of examples, and uses clear, concise language, so although inexperienced developers will find it slow going, they are unlikely to feel lost.

Experienced developers would do well to give it a read as well. It will reinforce those things that you already know you should be doing (but which you don’t always do), remind you of a few things you’ve forgotten, and teach you a few new things as well. Most of all, it will give you a fresh perspective on all those seemingly mundane decisions you make hundreds of times a day.

Ryan Cooper

http://www.infoq.com/articles/clean-code-book-review

Universal Design for Web Applications

Tuesday, April 28th, 2009

Two decades ago, Web usage was limited to a single individual (Sir Tim Berners-Lee) using the only browser in existence (WorldWideWeb) running on a single platform (a NeXT Computer). Nowadays, billions of people access the Web daily, with the ability to choose from over a dozen browsers running on desktop computers, laptops, and a variety of mobile devices, such as cell phones. The number of possible combinations is growing rapidly, and makes it increasingly difficult for Web designers and developers to craft their sites so as to be universally accessible. This is particularly true when accounting for Web users with physical and cognitive disabilities — especially if they do not have access to assistive technologies. The challenges and solutions for anyone creating an accessible website are addressed in Universal Design for Web Applications, authored by Wendy Chisholm and Matt May.

Michael J. Ross and Laura Andres

http://books.slashdot.org/article.pl?sid=09/04/27/1648226

Google Apps Deciphered

Thursday, March 26th, 2009

Scott Granneman’s new book Google Apps Deciphered — Compute in the Cloud to Streamline Your Desktop is a very useful technical overview about deploying Google Apps. It promotes a contagiously positive “we’re gonna be saved” view of Google’s ambitious initiative to provide our user communities with the perfect environment to counterbalance the Microsoft-centric archipelago of computing workstations. Good on Google, and good for Mr. Granneman for providing this practical overview, a comprehensive how-to for deploying Google Apps in any workplace.

Lorin Ricker

http://books.slashdot.org/article.pl?sid=09/03/25/1314207

The Laws of Simplicity

Monday, March 23rd, 2009

Finally, we are learning that simplicity equals sanity. We’re rebelling against technology that’s too complicated, DVD players with too many menus, and software accompanied by 75-megabyte “read me” manuals. The iPod’s clean gadgetry has made simplicity hip. But sometimes we find ourselves caught up in the simplicity paradox: we want something that’s simple and easy to use, but also does all the complex things we might ever want it to do. In The Laws of Simplicity, John Maeda offers ten laws for balancing simplicity and complexity in business, technology, and design—guidelines for needing less and actually getting more.

John Meada
http://lawsofsimplicity.com/
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10933