Category: book review


Version control is the art of managing changes to information. It has long been a critical tool for programmers, who typically spend their time making small changes to software and then undoing those changes the next day. But the usefulness of version control software extends far beyond the bounds of the software development world. Anywhere you can find people using computers to manage information that changes often, there is room for version control. And that’s where Subversion comes into play.

Subversion uses WebDAV to access the repository and as such every file is accessible using standard http addresses.

To check out the source from the repository, you can use one of the following clients:

  • AnkhSVN is a plugin for Visual Studio.NET and allows you to checkout the source from within the Microsoft development tool. This is recommended for Gentle.NET developers or people working with Gentle in source form, provided you’re using VS.NET as development IDE.
  • TortoiseSVN is a Windows Explorer plugin which integrates well with Windows and allows access to the repository from outside the development IDE.
  • RapidSVN is a graphical client program much like you may be familiar with from Visual SourceSafe or a similar tool.
  • Subversion itself includes command-line tools to access the repository.

Additionally, you can browse the repository using a web browser:

ViewCVS allows you to browse the source, view diffs, compare revisions and is a nice tool when you need to have a quick look at a file or revisions thereof.
WebDAV can be used to see the latest revision.

See O’Reilly’s article for more intro.

廣告

Writing Effective Use Cases

by Alistair Cockburn (Paperback) http://rcm.amazon.com/e/cm?t=mingster-20&o=1&p=8&l=as1&asins=0201702258&fc1=000000&=1&lc1=0000ff&bc1=000000&lt1=_blank&IS2=1&f=ifr&bg1=ffffff&f=ifr
Addison-Wesley Pub Co; 1st edition (January 15, 2000)

Editorial Reviews

Amazon.comAlistair Cockburn’s Writing Effective Use Cases is an approachable, informative, and very intelligent treatment of an essential topic of software design. “Use cases" describe how “actors" interact with computer systems and are essential to software-modeling requirements. For anyone who designs software, this title offers some real insight into writing use cases that are clear and correct and lead to better and less costly software.

The focus of this text is on use cases that are written, as opposed to modeled in UML. This book may change your mind about the advantages of writing step-by-step descriptions of the way users (or actors) interact with systems. Besides being an exceptionally clear writer, the author has plenty to say about what works and what doesn’t when it comes to creating use cases. There are several standout bits of expertise on display here, including excellent techniques for finding the right “scope" for use cases. (The book uses a color scheme in which blue indicates a sea-level use case that’s just right, while higher-level use cases are white, and overly detailed ones are indigo. Cockburn also provides notational symbols to document these levels of detail within a design.)

This book contains numerous tips on the writing style for use cases and plenty of practical advice for managing projects that require a large number of use cases. One particular strength lies in the numerous actual use cases (many with impressive detail) that are borrowed from real-world projects, and demonstrate both good and bad practices. Even though the author expresses a preference for the format of use cases, he presents a variety of styles, including UML graphical versions. The explanation of how use cases fit into the rest of the software engineering process is especially good. The book concludes with several dozen concrete tips for writing better use cases.

Software engineering books often get bogged down in theory. Not so in Writing Effective Use Cases, a slender volume with a practical focus, a concise presentation style, and something truly valuable to say. This book will benefit most anyone who designs software for a living. –Richard Dragan

Topics covered:

  • Introduction to use cases
  • Requirements
  • Usage narratives
  • Actors and goals
  • Stakeholders
  • Graphical models for use cases
  • Scope for use cases (enterprise-level through nuts-and-bolts use cases)
  • Primary and supporting actors
  • Goal levels: user goals, summary level, and subfunctions
  • Preconditions, triggers, and guarantees
  • Main success scenarios
  • Extensions for describing failures

  • Formats for use cases (including fully dressed one- and two-column formats)
  • Use case templates for five common project types
  • Managing use cases for large projects
  • CRUD use cases
  • Business-process modeling
  • Missing requirements
  • Moving from use cases to user-interface design
  • Test cases
  • eXtreme Programming (XP) and use cases
  • Sample problem use cases
  • Tips for writing use cases
  • Use cases and UML diagrams

From Book News, Inc.
A specialist in object technology presents software developers with a current guide to writing use cases as a means of capturing the behavioral requirements of software systems and business practices. Covers key elements of use cases, a style guide with suggested formats, a list of time-saving writing tips, a set of use case templates with commentary, and learning exercises with answers to clarify important points.Book News, Inc.®, Portland, OR

by Patrick M. Lencioni “Not finance. Not strategy. Not technology. It is teamwork that remains the ultimate competitive advantage, both because it is so powerful and so rare…"

Editorial Reviews

Amazon.com
Once again using an astutely written fictional tale to unambiguously but painlessly deliver some hard truths about critical business procedures, Patrick Lencioni targets group behavior in the final entry of his trilogy of corporate fables. And like those preceding it, The Five Dysfunctions of a Team is an entertaining, quick read filled with useful information that will prove easy to digest and implement. This time, Lencioni weaves his lessons around the story of a troubled Silicon Valley firm and its unexpected choice for a new CEO: an old-school manager who had retired from a traditional manufacturing company two years earlier at age 55. Showing exactly how existing personnel failed to function as a unit, and precisely how the new boss worked to reestablish that essential conduct, the book’s first part colorfully illustrates the ways that teamwork can elude even the most dedicated individuals–and be restored by an insightful leader. A second part offers details on Lencioni’s “five dysfunctions" (absence of trust, fear of conflict, lack of commitment, avoidance of accountability, and inattention to results), along with a questionnaire for readers to use in evaluating their own teams and specifics to help them understand and overcome these common shortcomings. Like the author’s previous books, The Five Temptations of a CEO and Obsessions of an Extraordinary Executive, this is highly recommended. –Howard Rothman

Product Description:
In The Five Dysfunctions of a Team Patrick Lencioni once again offers a leadership fable that is as enthralling and instructive as his first two best-selling books, The Five Temptations of a CEO and The Four Obsessions of an Extraordinary Executive. This time, he turns his keen intellect and storytelling power to the fascinating, complex world of teams.

Kathryn Petersen, Decision Tech’s CEO, faces the ultimate leadership crisis: Uniting a team in such disarray that it threatens to bring down the entire company. Will she succeed? Will she be fired? Will the company fail? Lencioni’s utterly gripping tale serves as a timeless reminder that leadership requires as much courage as it does insight.

Throughout the story, Lencioni reveals the five dysfunctions which go to the very heart of why teams even the best ones-often struggle. He outlines a powerful model and actionable steps that can be used to overcome these common hurdles and build a cohesive, effective team. Just as with his other books, Lencioni has written a compelling fable with a powerful yet deceptively simple message for all those who strive to be exceptional team leaders.

See all Editorial Reviews

by Frederick P. Brooks (Paperback)
Addison-Wesley Professional; 1st edition (August 2, 1995)

Editorial Reviews

Amazon.com
The classic book on the human elements of software engineering. Software tools and development environments may have changed in the 21 years since the first edition of this book, but the peculiarly nonlinear economies of scale in collaborative work and the nature of individuals and groups has not changed an epsilon. If you write code or depend upon those who do, get this book as soon as possible — from Amazon.com Books, your library, or anyone else. You (and/or your colleagues) will be forever grateful. Very Highest Recommendation.

From Book News, Inc.
The 20th anniversary edition of this classic collection of essays on software engineering and managing complex projects includes revised material, and new chapters condensing the author’s original propositions and his views 20 years later, plus a reprint of his 1986 paper “No Silver Bullet," and his recent comments on that essay. Brooks’ central argument is that large programming projects suffer different management problems from small ones due to the division of labor, and that conceptual integrity of the product is critical. Annotation copyright Book News, Inc. Portland, Or.

軟體業永遠的神話

軟體工程堪稱變化最快速的行業,過去幾十年來,我們看盡各種軟體神話如驚濤駭浪襲捲而來,轉瞬間就被另一波浪濤殲滅無蹤影。在這樣的景況裡,若有什麼事物是可以歷久仍彌新,那就不僅僅是異數,而是神話,值得你駐足瞻仰了。

《人月神話》就是這樣一本書。原是佛瑞德‧布魯克斯為開發IBM史無前例的巨型軟體系統「OS/360」所寫的專案總結報告,1975年出版迄今,近30年來幾已成為程式設計工作者人手一冊的必讀經典。時至今日,大型複雜軟體的開發與應用,更加緊密地牽動各個層面,也益發彰顯此書的價值,特別是對所有工作環節涉及程式設計這一領域的人,如專案經理,甚至連IT產業的領導者如摩托羅拉對這本書也大力推崇。

簡而言之,《人月神話》談的是軟體開發專案管理的所有方方面面的問題。3個人4個月的工作絕不等於12個人1個月的工作(這也是本書書名的由來),那為什麼進度落後時大家還是直覺反應加人呢?

既然布魯克斯在1975年就已經討論了克服時間壓力和團隊合作之間矛盾的有效方法,為什麼今天產品開發中屢屢延期交付仍是常態呢?

既然布魯克斯早就提醒過我們要注意軟體發展中普遍存在和頻繁出現的目標捨棄、功能調整、預算緊縮等變數,為什麼在專案計畫階段大家還保持樂觀,蔑視一切潛在的風險呢?(文/桑加米卓)

by Patrick M. Lencioni “Not finance. Not strategy. Not technology. It is teamwork that remains the ultimate competitive advantage, both because it is so powerful and so rare…"

Editorial Reviews

Amazon.com
Once again using an astutely written fictional tale to unambiguously but painlessly deliver some hard truths about critical business procedures, Patrick Lencioni targets group behavior in the final entry of his trilogy of corporate fables. And like those preceding it, The Five Dysfunctions of a Team is an entertaining, quick read filled with useful information that will prove easy to digest and implement. This time, Lencioni weaves his lessons around the story of a troubled Silicon Valley firm and its unexpected choice for a new CEO: an old-school manager who had retired from a traditional manufacturing company two years earlier at age 55. Showing exactly how existing personnel failed to function as a unit, and precisely how the new boss worked to reestablish that essential conduct, the book’s first part colorfully illustrates the ways that teamwork can elude even the most dedicated individuals–and be restored by an insightful leader. A second part offers details on Lencioni’s “five dysfunctions" (absence of trust, fear of conflict, lack of commitment, avoidance of accountability, and inattention to results), along with a questionnaire for readers to use in evaluating their own teams and specifics to help them understand and overcome these common shortcomings. Like the author’s previous books, The Five Temptations of a CEO and Obsessions of an Extraordinary Executive, this is highly recommended. –Howard Rothman

Product Description:
In The Five Dysfunctions of a Team Patrick Lencioni once again offers a leadership fable that is as enthralling and instructive as his first two best-selling books, The Five Temptations of a CEO and The Four Obsessions of an Extraordinary Executive. This time, he turns his keen intellect and storytelling power to the fascinating, complex world of teams.

Kathryn Petersen, Decision Tech’s CEO, faces the ultimate leadership crisis: Uniting a team in such disarray that it threatens to bring down the entire company. Will she succeed? Will she be fired? Will the company fail? Lencioni’s utterly gripping tale serves as a timeless reminder that leadership requires as much courage as it does insight.

Throughout the story, Lencioni reveals the five dysfunctions which go to the very heart of why teams even the best ones-often struggle. He outlines a powerful model and actionable steps that can be used to overcome these common hurdles and build a cohesive, effective team. Just as with his other books, Lencioni has written a compelling fable with a powerful yet deceptively simple message for all those who strive to be exceptional team leaders.

See all Editorial Reviews

Book Review: Good to Great

Good to Great: Why Some Companies Make the Leap… and Others Don’t
by Jim Collinshttp://rcm.amazon.com/e/cm?t=mingster-20&o=1&p=8&l=as1&asins=0066620996&fc1=FFFFCC&IS2=1&lt1=_blank&lc1=FFCC00&bc1=000000&bg1=000000&f=ifr

Good to Great is a great business management book. The book is actual a 2nd part of Professor Collin’s research report. In his early research’s observation (also booked as “Build to Last"), the “Built to Last" companies he choose had always been great (for reasons, of course). In this book, he further analyze for those good companies (but not yet great) what’s missing.

The Good-to-Great concepts are:

  1. 5 Level Leadership: where leaders channel their ego needs away from themselves and into the larger goal of building a great company. Note: If Donald Trump is your role model I do not recommend this book for you.
  2. First Who … Then What: first get the right people on the bus, wrong people off the bus, right people in the right seats and then figure out where to drive. This is similar to Buckingham’s “Select for Talent" and “Find the Right Fit" in his book First Break All The Rules.
  3. Confront the Brutal Facts (Yet Never Lose Faith): have faith that you can and will prevail in the end, and at the same time have the discipline to confront the most brutal facts of your current reality.
  4. The Hedgehog Concept: simplicity within the three circles of What you are deeply passionate about, What drives your economic engine and What you can be the best in the world at.
  5. A Culture of Discipline: when you have disciplined people, thought and action, you don’t need hierarchy, bureaucracy and excessive controls.
  6. Technology Accelerators: technology should be used as an accelerator of momentum, not as a creator of it.
  7. The Flywheel and the Doom Loop: building momentum over a span of time leads to breakthroughs while shortcuts seldom do.

I highly recommended this one…

Execution: The Discipline of Getting Things Done
by Larry Bossidy, Ram Charan, Charles Burckhttp://rcm.amazon.com/e/cm?t=mingster-20&o=1&p=8&l=as1&asins=0609610570&fc1=FFFFCC&IS2=1&lt1=_blank&lc1=FFCC00&bc1=fcfcfc&bg1=fcfcfc&f=ifr

After reading the book, you can figure out the difference between a good company and a great company….and no guess it is leader’s ability to execute — it’s a must have!!

The book has been rated high in Taiwan as well.

Book Review: Kotler on Marketing

Kotler on Marketing : How to Create, Win, and Dominate Markets
by Philip Kotler

Kotler is the maestro in marketing. In fact, he is one of first fews who gave the “new profession" a clear defintion and objectives.

The organization and prose of the book make it an enjoyable read, not at all academic and stuffy. Many MBA Marketing Strategy courses are using it as text, and it is comprehensive and insightful as to the new challenges of marketing.

The book is organized into four parts:

Part One: Strategic Marketing – including sections on building profitable businesses through world-class marketing; using marketing to understand, create, communicate and deliver value; identifying market opportunities and developing targeted value offerings; developing value propositions and building brand equity.

Part Two: Tactical Marketing – developing and using market intelligence; designing the marketing mix; acquiring, retaining and growing customers; designing and delivering more customer value.

Part Three: Administrative Marketing – planning and organizing for more effective marketing; evaluating and controlling marketing performance.

Part Four: Transformational Marketing – adapting to the new age of electronic marketing.

Whether you read the book from cover to cover, or add it to your reference library and just read specific sections, you will find it full of useful theories, practical advice and many current examples.

update: 1/11/2004
中文譯: 科特勒談行銷─如何創造、贏取並主宰市場

Book Review: Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) (Hardcover)
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides http://rcm.amazon.com/e/cm?t=mingster-20&o=1&p=6&l=st1&mode=books&search=0201633612%20&=1&fc1=&lt1=&lc1=&bg1=&f=ifr

Say no more…Gang of four’s classic must read.

Book Review: The Object Primer

MUST HAVE!

The Object Primer
by Scott W. Ambler

Even though object-oriented programming (OOP) has been around for many years and is taught in the computer science programs at colleges and universities, there are still many developers who do not know it. What this means is that those who are now performing the migration to OOP are primarily old dogs that need to learn the latest tricks. This book is perfect for that task, Ambler writes very clearly and covers all of the major aspects of OOP.
There are two outstanding features of the book. The first is the clear writing style and the second is the completeness of coverage. Not only are the fundamentals of OOP covered, but the Unified Modeling Language (UML) is also introduced. Since the U in UML could now be considered a representative for Universal, most developers need to be able to understand it. Ambler also covers some of the basic features of design patterns, components, use cases, object-oriented analysis, object-oriented design and object-oriented testing. These are generally considered to be advanced topics, but as presented here are well within the level of an introductory book.
The only negative point is the significant amount of duplication that is done. For example, on page 410 there is a boxed region for the definition:

Subject Matter Expert (SME) – A person who is responsible for providing pertinent information about the problem and/or technical domain either from personal knowledge or from research.

An excellent definition, but the problem is that it was already defined on page 35 and was used many times in the pages between 35 and 410, especially in the chapter on gathering requirements. There are many similar situations throughout the book, so many that I often considered segments redundant.

This book could also be used as a textbook in a course on the principles of object-oriented programming without using a specific language. Some Java code is used, but it is very skeletal and is used to demonstrate the initial steps in constructing your application from the design principles.