Showing posts with label Book Review. Show all posts
Showing posts with label Book Review. Show all posts

Book Review - Software Estimation: Demystifying the Black Art

Software Estimation: Demystifying the Black Art by Steve McConnell is a book that meets my definition of a good technical book.

In my opinion, Estimation is an underrated subject. A lack of understanding of this topic among team members (not just the PM) can negatively impact the success of the project. This is because the Project Manager has to draw on the judgement & experience of the software development team as well. This book is written for developers, leads, testers, and managers who need to create estimates occasionally as one of their many job responsibilities. It gently guides the reader through the esoteric art of software estimation with lots of practical real-world advice.

Within the 300+ pages of the book spread across 23 chapters, the author explains 32 Estimation techniques graded according by these factors of applicability:

  1. What's estimated (Size, Effort, Schedule, Cost, Features) 
  2. Size of project (Small, Medium, Large)
  3. Development stage (Early, Middle, Late), 
  4. Whether the development style is iterative, sequential, or both 
  5. Accuracy possible (Low, Medium, High)

The well-researched content is interspersed with 118 tips, numerous facts drawn from other authoritative books on software estimation and interesting statistics. Tip #30 contains the mantra of estimation: Count if at all possible. Compute when you can't count. Use judgment alone only as a last resort. 

Tip #17 advices: Include time in your estimates for stated requirements, implied requirements, and nonfunctional requirements—that is, all requirements. Nothing can be built for free, and your estimates shouldn't imply that it can. He lists the nonfunctional requirements that also need to be taken care of -

  1. Accuracy
  2. Interoperability
  3. Modifiability
  4. Performance
  5. Portability
  6. Reliability
  7. Responsiveness
  8. Reusability
  9. Scalability
  10. Security
  11. Survivability
  12. Usability

As with his other books, the author sets clear expectations. He explicitly states where the estimation techniques mentioned in the book will not be useful -
This book is not about how to estimate the very largest projects—more than 1 million lines of code, or more than 100 staff years.
These techniques will not produce estimates that are accurate to within ±5%, but they will reduce estimation error to about 25% or less, which turns out to be about as useful as most projects need, anyway. 

He informs in the beginning that this book draws from both the art and science of software estimation, but its focus is on software estimation as an art. This book avoids deep math and emphasizes relatively simple practices. Steve McConnell plans to publish a companion volume in the future that will deal with the Science of Estimation and cover more mathematically intensive estimation approaches.

I feel this book is essential reading for anyone who is into software development & highly recommend it.

Related:

Read More

Book Review: Al Jaffee's Mad Life: A Biography

Al Jaffee is a tireless satirist, inventor of the MAD magazine “fold-in” & my all-time favorite cartoonist. At 89, he is MAD magazine’s oldest & most prolific artist, having actively contributed to it for over five decades. His biography titled Al Jaffee's Mad Life tells the tragic story of this creator of incredibly funny cartoons and how this “master adapter” has surmounted overwhelming odds.

His childhood was short-lived as he had a neglectant mother (an ultra-orthodox Jew) & a caring but absent father. His mother uprooted him & his three brothers from the US & the twentieth century and moved them to their native country of Lithuania which was still in the nineteenth century in terms of development. His father’s career as a manager at a department store took a hit and progressively went from bad to worse after he had to transport his family back to the US not once but twice. Despite flitting between countries & cultures, Al adapted well to difficult & changing circumstances. The turning point in his life came in 1935 when his drawing talent secured him a place in a prestigious art school in New York. Due to family pressures, he had to turn paterfamilias but all did not go well for him, his father & three brothers.

Al is a survivor who has braved huge odds. Inspite of his personal challenges, he has been regaling comic lovers worldwide with his unique brand of satire.

To me, Jaffee’s style of biting satire & mostly “anti-adult” themes is the cartooning equivalent of British writer Saki’s short stories. The blurb on the book’s cover flap neatly summarizes Al’s achievement -
To date he has pickled three generations of American kids in the brine of satire, and continues to bring millions of childhoods to untimely ends with the knowledge that parents are hypocrites, teachers are dummies, politicians are liars, and life isn’t fair.

This biography is sensitively written by Mary-lou Weisman, a friend of Al Jaffee for thirty years. She touchingly covers the highs & lows of Al’s roller-coaster life. The book of 200+ pages has over 70 original illustrations by Al.

I highly recommend this book to those who love Al Jaffee’s phenomenal work in MAD magazine or have a professional interest in cartooning.

A relatively cheap way of checking Al Jaffee’s work over five decades is to get yourself (like I did) a DVD compilation of over 600 issues of MAD Magazines in digital format from 1952 to 2006. It is titled Absolutely MAD Magazine - 50+ Years & costs less than 30 bucks.
Read More

Book Review: Learning jQuery 1.3

In a brief span of four years, jQuery has become one of the most popular JavaScript Frameworks. Among the many websites & organizations that have adopted it is Microsoft and we are going to see a lot more of jQuery being used in ASP.NET websites than earlier. I've been using jQuery on & off for more than a year now. I more than agree with jQuery's motto that you will start writing less code & doing more with this nifty JavaScript Framework. What's more, it's all cross-browser code!

The book Learning jQuery 1.3 is written by Jonathan Chaffer and Karl Swedberg. Both are members of the core jQuery team and John Resig, the creator of jQuery speaks glowingly about them in the foreword of the book. This book builds on the earlier edition which was one of the first books on jQuery. I've benefited from reading this book & recommend it to everyone working or starting to work with jQuery.

This book is a comprehensive guide for beginners & a handy reference for experienced developers. Web developers & designers with a fair knowledge of HTML, CSS & JavaScript can sink their teeth into this 400+ paged book & start coding in jQuery confidently after finishing the book.  Spread across 11 chapters, the book covers the basics of jQuery in the introductory chapters, goes progressively into complex topics and concludes with a chapter on developing your own Plug-ins. Like I keep doing, you will probably refer to the Appendices multiple times. The code is download-able from the book's homepage. There are a lot of tips, tricks & best practices in the book and learning about them is sure to make you the jQuery expert at office. Sample this -
..when we plan to use a jQuery object more than once, it's generally  a good idea to cache the selector by storing the resulting jQuery object in a variable as well.

Written in plain-English, the style is conversational & friendly. The book has numerous practical examples (like those for implementing pull quotes, headline rotator, image carousel, table sorting, filtering & pagination) that can be directly used at work. While elaborately explaining how a particular client-side feature can be built, the authors show where something could go wrong and this helps in understanding a concept better.

The authors provide sufficient background & context while getting into topics that may be intimidating to beginners. For instance, this explanation of the hide() and show() methods impressed me -
The .hide() method sets the inline style attribute of the matched set of elements to display:none. The smart part here is that it remembers the value of the display property—typically block or inline—before it was changed to none. Conversely, the .show() method restores the matched set of elements to whatever visible display property they had before display:none was applied.

One place where I remember missing the background though was in a snippet that used the rel attribute. I learnt from W3Schools that the rel attribute of the anchor tag is not really supported by any major browsers and it can take over a dozen possible values. This is a minor detail though & I'm probably nit-picking.

I wish the key features of jQuery 1.3 as well as critical differences from the older versions were highlighted. While it's no doubt good to use the latest version of jQuery, it would have been beneficial to those who have already used older versions to know how breaking changes can impact their code. For example, some folks may miss the fact that if you upgrade jQuery from 1.2 to 1.3, you also have to upgrade the jQuery UI Plugin suite that they may also be using from version 1.6 to 1.7. At a minimum, the Quick Reference at the end of the book could have briefly mentioned when something not in the original jQuery API was introduced or modified. I'm glad however that there is a Quick Reference as I had wished for while reading the first edition.

There is a sample chapter available online(PDF) that you can check to see if the book suits your tastes.

This review is based on the ebook version that I received from a PacktPub representative.

Also see:
My favorite jQuery plugins
180
Read More

Book Review - CSharp for Sharp Kids

Using real-world analogies, Martin Dreyer does a great job of explaining the introductory concepts of C# & OOP to absolute beginners in the free E-Book C# for Sharp Kids. The 2.9 MB MSI file, containing the E-Book in MS Word format & code samples, can be downloaded from the Kid's Corner of MSDN's Beginner Developer Learning Center. The code samples are expected to run with Visual C# 2005 Express Edition but you can get it to work on a newer version of the Express Edition as well.

Although this text is targeted at young developers (aged between 12-16), it is equally good for folks of any age wanting to learn about programming with C#. Spread across 5 parts & about 165 pages, it is light-hearted & filled with meaningful cartoons. Here are a couple of samples -





Once readers finish the book, they will be able to build simple Console & Windows applications. It will also whet their appetite to know more about C#.

I highly recommend this book to those starting to learn programming with C#. What's more, it's free as well.
90
Read More

Book Review: Head First PMP

I purchased Head First PMP after a PM friend recommended me that book as a good starter guide to taking the PMP certification. As he mentioned & others have vouched, no one book including this one can help you pass the exam. What this book does is that it makes learning Project Management concepts enjoyable. This was my first book in the Head First series. I liked the book's unusual, non-linear style (with things like notes in the margins) of presentation although the excessive use of goofy pictures put me off a bit. The tone throughout is very informal, friendly & conversational which makes the guide engaging.

The 42 processes which form the core of the PMBOK (Project Management Body of Knowledge) Guide, 4th Edition and cross-cut 9 Knowledge Areas & 6 Process Groups are explained well. Processes grouped by Knowledge Area make up a chapter. Besides the 9 chapters focusing on the Knowledge Areas, there are 6 more which cover the preliminaries & practice tests with answers. Important points in them are reiterated & highlighted. 2 complete chapters including a Practice test are available for free download. You could check these out & see if the book suits you before you buy it.

On the negative side, there are some typos & errors that you would have to look out for. I found some of the examples in the book to be too unrealistic & contrived to be of practical benefit.

Summary: Whether or not you are taking the exam, I feel this is a good guide on Project Management to start with if you are an aspiring PM or one by circumstance.
Read More

Book Review: Microsoft Windows SharePoint Services 3.0 Step by Step

Microsoft Windows SharePoint Services 3.0 Step by Step
Like cycling or swimming, Sharepoint is easy but you need help to get started. Microsoft Windows SharePoint Services 3.0 Step by Step lives up to it's title of being a good step by step guide. It walks you through the maze of options in WSS 3.0 by gently holding your hand & showing the way. The instructions are straight-forward & in plain English, like any good technical book should be.

The book is practical & engaging with it's hands-on exercises covering the basic features. The authors highlight important points & offer troubleshooting tips at appropriate places, such as this one -
You can save documents directly to a document library by specifying the HTTP location in place of the hard drive, such as http://wideworldimporters/SharedDocuments/. Only saved documents can be attached to list items as attachments.

This book answers all the HOWs of WSS but not the WHYs and for that you will need another resource. However, after finishing the 16 chapters of this roughly 500-paged book, you'll learn enough to get going on your own. I recommend this guide to beginners. Even after you finish reading it, it'll be a good reference to go back to while you are working on Windows SharePoint Services 3.0.

Also see:
Free Sharepoint 2007 goodies on Microsoft e-Learning

.
Read More

Book Review: The Engaging Web

Manning's MEAP (Manning Early Access Program) books allow early access to electronic version of the chapters as they are completed. Manning provided me with a review copy of a MEAP version of The Engaging Web by Gabe Zichermann & Christopher Cunningham. Being inquisitive about technologies & ideas related to the Web, I dived into the book intrigued by it's title. Having finished reading it, I'm now sold on the idea that the concepts which make Games popular can be applied to engage users of a website and contribute to achieving the site's goals.  The term Funware is used in the book to describe any application that integrates social game design theories or mechanics with software and services to increase stickiness, user engagement and revenues.
The design philosophy of Funware can basically be summarized as “every application and user interaction can be made more fun.” Through the systematic application of game design principles, fun can be embedded even within the most utilitarian applications.

The authors show examples of how real-life sites use Game mechanics without making us realize that we are engaging in a game (a characteristic of "Funware"). Although they don't mention StackOverflow, the hot technical Forum site that has got popular in a short span of time, I feel it qualifies as a good example of "Funware".

This book builds on the premise that the endearing & addictive qualities of Games can be extended to non-game contexts like Web applications; ranging from anything like consumer finance to booking corporate travel.

The first chapter shows how eBay in fact is a game in the way it induces us to play, win and compare our scores & ratings. It explains how basic game designs (frequent flyer, leaderboard, casino) can be "mashed up" with existing websites and applications. Chapter 2 discusses approaches to offering a game channel. Chapter 3 covers the topic of building websites that don’t just leverage game mechanics, but that are focused on games as a thematic or commercial enterprise. Chapter 4 dwells on principles of Funware and tactics to help you build your own fully integrated Funware applications. In Chapter 5, the authors pick an open source Ruby on Rails Forums application called Altered Beast & extend it by implementing Funware elements into it.

If you want to learn about how game design principles can be applied to a website to improve its viewership  & better engage its users, this book is for you.
Read More

Book Review: Website Owner's Manual

Ever since the Internet took off in a big way towards the end of the last century, it has revolutionized the way we live & work. It is a great platform for selling ideas or products as it provides a level playing field to anyone in the world with Internet access that wishes to leverage the medium. It makes it irrelevant whether someone seeking an online presence is working from a garage or some remote corner of the world.

Successful websites have earned their owners unimaginable wealth; far outstripping what traditional companies have earned in decades. Websites that are frivolous & provided only short term value have perished. The dotcom bust of the last decade sunk the fortunes of website owners who took their users for granted with their short sighted strategies.

So what makes a successful website? Is building one an obscure art?

Website Owner's ManualPaul Boag, a Web development veteran, answers these questions and shares the recipe for building & maintaining a winning website in the book Website Owner's Manual. It is a one of a kind book that consolidates key topics that a website owner needs to be aware of. It covers diverse themes like planning the site, selecting the team, creating website content,  handling it's design, aesthetics and development, usability, managing traffic, using Content Management Systems, Search Engine Optimization, hosting etc. There are also practical tips throughout the book. Sample these -

To quickly find out who is linking to your competition, you can type the following into Google link:http://www.yourCompetition.com

The first paragraph of the page should provide a summary of everything that follows, allowing the user to quickly ascertain if the page is relevant.

The author's writing style is breezy & informal. The cartoons that go with the content are thoughtful & keep the content light. I liked the mini website case studies spread throughout the book that highlight best practices, pitfalls and items of special interest.

I have known small business owners, entrepreneurs, non technical professionals (like doctors, academicians) who appreciate the power of websites to further their goals but lack the technical expertise to leverage the Web. This book can be a good introductory manual for such people.

I have been a honorary reviewer of this book while it was in the draft stage and I'm happy with the way the book has come out finally.
Read More