Up to Newsletter Index

October 2010 Newsletter


Quotable Quotes


The scientist describes what is; the engineer creates what never was.  Theodore Von Kármán


Meetings: After all is said and done, there's a lot more said than done.  –Unknown


In looking for someone to hire, you look for three qualities: integrity, intelligence, and energy. But the most important is integrity, because if they don’t have that, the other two qualities, intelligence and energy, are going to kill you.  –Warren Buffett


The trick is in what one emphasizes. We either make ourselves miserable, or we make ourselves strong. The amount of work is the same.  –Carlos Castaneda


Emerging requirements exist on every nontrivial project, and they can cause problems. For example, emergent requirements make it impossible to perfectly predict schedules. Similarly, an up-front design phase will always be imperfect because it will be impossible for the designers to consider the emergent requirements until they do, in fact, emerge.  –Mike Cohn, Succeeding with Agile


It behooves every man to remember that the work of the critic is of altogether secondary importance, and that, in the end, progress is accomplished by the man who does things.  –Theodore Roosevelt


Return to top


Software Development Process and Methodology

Article:  Thinking big—as in big projects

In this essay, the author thinks about whether agile techniques can scale to large projects and how agile concepts can be applied to the traditional methodologies.  One key idea is decomposing large projects into smaller projects that can be successfully approached with agile.



Article:  Six Behaviors to Consider for an Agile Team

One of the key success factors for agile is building a team that works well together.  Check out this article for some ideas about the kinds of skills that make agile succeed.



Article:  Design Thinking vs. Data Thinking

This author suggests that the key organizational characteristic that separates organizations the create "great" products (simple, intuitive, etc.) is what he calls "design thinking".  Most organizations focus on "data thinking", which is important, but design thinking is needed to take a product the last 20% to excellence.



Article:  Doing the Board:  A deceptively simple daily planning exercise is our most important process

In this article, the author describes a simple planning practice similar to daily scrum meetings for agile teams where they use a white board with three colors to specify the work tasks to be completed.  The key to the process is that no task can stay on the board for more than two days, which drives people to define them with good precision.



Article:  Transparency, accountability, and IT success

When business and IT work together and demonstrate honesty with each other, projects are more likely to succeed.  Interestingly, the US government seems to be leading the way in some of these transparency efforts.



Article:  Is Good Code Enough for a Project to Be Successful?

As developers, we often like to think that excellent code can counteract many other deficiencies or bad practices.  This article emphasizes that a holistic approach to project is necessary for success.



Article:  Let's Change the Tune

This author suggests that much of the terminology that has grown up around agile development results in confusion and miscommunication with our business customers.  He offers some suggestions for alternative vocabulary.



Article:  Agile Ruined My Life

This article (more of an essay really) explores some of the dark underbelly of "big A" agile methodologies and its purveyors (consultants, authors, etc.).  While some of it seems to be a bit of bluster, he does make a good point that teams need to learn and evolve agile (or any other technique!) by doing and to adapt it to their particular needs.  Likewise, management can't look at agile (or, again, any technique) as the panacea for all of the organization's problems.



Article:  Four Characteristics of a Good Product Owner

Who's the most important member of an agile development team?  In my view, it's the product owner, because he/she can really set the tone for success (or failure!).  This author gives some great advice on traits of good product owners.



Article:  Here's the Secret Behind Almost Every Application Software Development Disaster

This writer suggests that one of the factors that frequently contributes to software development project failure is the fact that most developers are creative types, but the most important skills for success, particularly those emphasized by agile methodologies, are management skills.  The key to success he says is to let the managers manage, but ensure that they understand that they are managing creative people.



Article:  Agile Development: The quickstart guide to doing it right

Even the most seasoned agile convert is likely to find something in this brief, but comprehensive guide to getting started.  The author covers the entire agile process from start to finish.



Return to top


Software Testing & Quality

Article:  Great Bug Reports

Whether we as testers like it or not, one of the most tangible deliverables of the testing process are bug/defect reports.  Thus, to bring due honor to our efforts, it is imperative that we write thorough, yet succinct reports.  Here are some excellent practical tips and general principles to follow.



Article:  Epic failures: 11 infamous software bugs

Well, I missed "debugging day" this year, but I'll try to remember it for 2011.  Anyway, in honor of this auspicious occasion Computerworld tells the story of some of the more well-known software failures.



Article:  Databases and Refreshing Test Data

One of the frequent tasks for test groups is to refresh their test environment with production data.  This can be a time-consuming and frustrating process.  This article presents an automation technique to manage the refresh process.



Article:  Get Software Quality Right

Software development expert Capers Jones argues that we already have many of the tools and metrics needed to improve software quality, but most organizations fail to use them.



Article:  Automated Exploratory Testing

This article presents a technique for combining exploratory testing with test automation as a method for determining which areas of any application are good candidates for developing automated tests.  Very interesting concept!



Return to top



Tutorial:  Creating a Conceptual Data Model

To effectively design a database, it helps significantly to take an evolutionary approach starting with the conceptual data model (CDM), which defines the general business entities and primary attribution.  This tutorial gives some great tips on what's important in the CDM analysis process.



Tutorial:  Demystifying Monads

In transitioning from procedural or object-oriented programming to functional programming, some of the concepts can be quite confusing.  This excellent video with slides does a great job of explaining monads.



Tutorial:  Applying Design Patterns – For Everyone

Design patterns can really simplify and standardize your code development process.  But for newcomers, they can be difficult to conceptualize at first.  This tutorial explains the various patterns and when to use them and then presents relevant examples in C#.



Tutorial:  Let's Play: Test-Driven Development

This screencast teaches the principles of test-driven development by showing you the technique used on a real project, including the pitfalls and stops and starts.



Reference:  Design with Intent

Most developers would do well to at least learn some of the basic concepts around user experience and interaction.  The "Design with Intent" toolkit helps you learn the patterns and paradigms that you can use in your application to influence user behavior and provide a more pleasing user experience.



Return to top


Career Development/Miscellaneous

Article:  Programming Skill and Dreyfus’ Stages of Expertise

How would you classify your skill as a programmer?  Unlike Lake Wobegon, not everyone can be above average.  This article gives a good explanation of programming skill levels, based on Bert Dreyfus' description of competence development.



Article:  Self-Control Is Way More Important Than IQ… (and why doubting it gets you in trouble)

In this very interesting essay, the author explains why self-control (and its close cousin of seeing things through to completion) is so important to success.  In addition, he discusses the importance of meta-cognition in developing self-control.



Article:  Why Companies Should Insist that Employees Take Naps

Recent high-profile cases notwithstanding, the airline industry is recommending that pilots take short naps to improve alertness.  Now, some are suggesting the all organizations have employees get a little shut-eye too, instead of relying on caffeine.  Maybe the Spanish have been right all along.



Article:  The Update, The Vent, and The Disaster

The periodic meeting with your manager, typically called a "one-on-one", is ubiquitous in most organizations.  This author gives a nice 3-step approach to these sessions to make them useful and valuable to both the manager and employee.



Article:  Habits of Mind

Although this article is written primarily for educators or students, it provides some great ideas about how to learn anything new and how to advance your skills from novice to guru in most any area.



Article:  Einstein’s Secret to Amazing Problem Solving (and 10 Specific Ways You Can Use It)

You’d be hard pressed to find a deeper, and yet incredibly productive, thinker than Albert Einstein.  Here are some ways that he approached problem solving that you can use too.



Article:  72% Of Adults Texting

According to a new study from the Pew Center, while teens are still the texting champs, almost 3/4 of adult cell phone users in US send text messages, up from 2/3 a year ago.  However, only 1/3 of adults have applications on their phones.



Article:  How to Prioritize, Military-Style

Whether you need to prioritize your work tasks or just your “honey-dos” around the house, this article offers a nice technique to assign an appropriate weighting to each of your items.



Article:  $1 Million Doesn't Cut It for Retirement

Although you might question their motivation, almost 3/4 of investment advisers say that for the generations following the Baby Boomers, most families will need $2 - $3 million in retirement savings to maintain their standard of living.



Article:  Humans are not automatically strategic

Everyone wants to improve their productivity, even if it's just to have more free time.  So why do we tend to procrastinate, even though we know it's such a drain?  This author says that it's because we think (and act) tactically.  One tip for improving in this area is to write down the things you need to do.



Article:  People don't really like unselfish colleagues

In this counterintuitive research result, investigators found that those who looked out for the common good were most significantly punished by others in their organization for violating group norms.



Return to top


Telecommunications/Networking Industry

Article:  FCC Calls For More Input On Net Neutrality

In the on-going (never-ending?) saga of network neutrality, the FCC has requested more input about wireless regulation, winning praise from providers and raising the ire of public interest groups.



Article:  First Geometric 'Atlas' of the Internet Created

Computer science researchers have created a new model of the connectivity of the Internet that includes host countries and relationships to carriers/ISPs.



Return to top


Useful Utilities

Sysinternals Tools Auto Update Batch Script (Free – Windows 2000/XP/2003/Vista/7 – 4kB)

If you use the fantastic Sysinternals tools for monitoring and maintenance of your Windows system, you know how they are frequently updated and it can be difficult to keep up with the latest changes.  This simply batch script will check your installation against the version list on the Sysinternals site and then automatically update any out-of-date versions.



Gow (Free – Windows 2000/XP/2003/Vista/7 – 5.8MB)

Gow, short for Gnu on Windows, is called "the lightweight alternative to Cygwin".  It packages 130 *nix shell commands together in a Windows installer that weighs in at under 10MB after installation.  These include many of the useful commands missing from Windows like grep, tail, tee, wget, touch, and even the bash shell.



Notes For Later (Free – Online tool – N/A)

While I really love PIMs like Evernote, most of the time the last thing that I need is another application or website to check for things that I need to follow up on.  Notes For Later is unique:  Just add a bookmarklet to your web browser and when you are visiting any web site that you want to send yourself a reminder about then click the bookmarklet and it will email you a link to that page, the time you visited and include anything that you selected to your mailbox.  You can even add notes or comments.



WindowBuilder Pro (Free – Cross-platform Eclipse plug-in – )

Google has released an updated version of the Instantiations Java GUI (SWT, GWT, Swing, and more) visual design tool.  It is available for versions 3.4, 3.5, and 3.6 of Eclipse and includes drag-and-drop GUI creation and editing functionality.  Likewise, you can tweak the created Java code using the standard Eclipse editing facilities.



PowerCmd (Free – Windows 2000/XP/2003/Vista/7 – 1855kB)

PowerCmd is an amazing replacement for the standard Windows command prompt.  It allows you to have multiple command prompts open in a single window using either tabs or windowing.  It has context sensitivity for changing directories, keeps complete history of commands, automatically logs your command prompt sessions, and really simplifies cut and paste from the command prompt.



Return to top


Just For Fun

MIT Globe Genie

This cool mashup using Google Street View takes you to a random location almost anywhere in the world to give you a peek at what's there.  It's a great way to see some amazing (or even crazy) vistas on this planet that gets smaller each day.



For Sale: T. Rex, Good Condition, Woolly Mammoth, Needs Repair

The economic downturn has even hit those roadside attraction tourist traps.  Got an extra $45,000 burning a hole in your pocket?  Prairie Dog Town can be yours!



DOS on Dope: The last MVC web framework you'll ever need

Got a web development project coming up?  You might want to take a look at this new framework.  J  Seriously, this is a real MVC framework written using DOS batch files!



Awesomeness Reminders

Instead of making friends the old-fashioned way (you know, getting involved with those in your community, church, neighborhood, etc.!), you can just pay $10/month to have someone call you every day to tell you how wonderful you are.  And if you think I'm kidding about this, apparently over 750 people have already signed up!



11 Astounding Sci-Fi Predictions That Came True

Usually we say that art imitates life, but in this case, some of our most famous science fiction writers "invented" things that became reality later.




This parody, with the sub-title "The Entrepreneur's Handbook for Success and Life Success in Running Your Business Life", takes on the business success book industry.



I Write Like…

Ever wondered what famous author your writing style was like?  Paste in a few paragraphs of your writing from this site and it'll analyze it for you in a flash.  According to the site, I write like David Foster Wallace or H.P. Lovecraft.  I'm not sure whether I should be proud or dismayed!



Return to top