April 2011 Newsletter
Quotable Quotes 1
Software Development Process 2
Software Testing & Quality 14
Tutorials/References 15
Career Development/Miscellaneous 19
Telecommunications/Networking Industry 31
Useful Utilities 31
Productivity Tips 41
Just For Fun 43
The really unhappy person is the one who leaves undone what they can do, and starts doing what they don't understand; no wonder they come to grief. –Johann Wolfgang von Goethe
Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile. –Vince Lombardi
I wish to do something great and wonderful, but I must start by doing the little things like they were great and wonderful. –Albert Einstein
Success seems to be connected with action. Successful people keep moving. They make mistakes, but they don't quit. –Conrad Hilton
For a system to remain alive, for the universe to move onward, information must be continually generated. If there is nothing new, or if the information that exists merely confirms what is, then the result will be death. Isolated systems wind down and decay, victims of the law of entropy. The fuel of life is new information--novelty--ordered into new structures. We need to have information coursing through our systems, disturbing the peace, imbuing everything it touches with new life. –Margaret J. Wheatley, Leadership and the New Science
Being realistic is the most commonly-travelled road to mediocrity. –Will Smith
Most of us are well aware of how software development projects frequently
(typically?) miss deadlines. This
article gives some good tips for doing a better job at making your schedule.
http://www.smashingmagazine.com/2010/07/28/passing-the-holy-milestone-how-to-meet-deadlines/
This author recommends that, when decomposing user stories to fit within
a particular iteration, the best approach is to break them down according to
business value, rather than along technical lines.
http://www.accurev.com/blog/2010/06/28/breaking-down-user-stories/
Everything seems to go through cycles. This author wonders whether agile has become
so mainstream in its use/implementation that, just 10 years after the adoption
of the Agile Manifesto, has it
lived up to expectations or perhaps it's in the chasm
between early adopters and general use.
http://www.infoq.com/news/2011/03/agile-trough-of-disillusionment
Schedule and effort estimation
is the bane of project managers and developers everywhere. This article gives a great overview of
research into why estimation is simply nearly impossible for anyone, regardless
of experience.
http://allankelly.blogspot.com/2011/03/humans-can-estimate-tasks.html
Economist Paul Krugman's recent column
indicating that technology is ruining the knowledge economy has raised eyebrows
from many quarters. This author says
that Krugman is missing the point that as technology advances, the labor market adapts and creates new jobs.
http://informationweek.com/news/software/bi/showArticle.jhtml?articleID=229300891
When starting out with agile, one of the more difficult aspects is how to
size user stories and how use them for planning. This author gives some solid, practical
advice on how to do this and also provides some nice classifications (that he
calls "storyotypes") of the types of user stories that you are likely
to encounter.
http://www.dennisdoomen.net/2011/02/story-about-user-stories-where-do-you.html
One of the hardest tasks you'll face as a project manager or leader is
telling others that their idea isn't going to be included. This article provides some ideas for how to
say 'no' and make it stick without disrupting the project.
http://www.alistapart.com/articles/no-one-nos-learning-to-say-no-to-bad-ideas/
Sometimes, our own experiences cause unintended biases that prevent us from thoroughly testing an application. Here's a great list of some of these pitfalls to watch out for.
http://www.softwaretestpro.com/Item/4721/Unconscious-Limitations-to-Your-Testing/
As agile development methodologies continue to grow in use, software testers also need to change their approach to match the more frequent delivery concepts. This excellent, comprehensive ebook describes both strategies and tactics for successful testing in this environment. In particular, the book provides a detailed example of how to plan testing.
http://www.eurostarconferences.com/media/67979/anders%20ebook.pdf
In this article, the author emphasizes that just as most people have recognized that programming is very much a creative activity (think "craft"), so too is software testing. He also notes that this is becoming more and more the case as automated testing increases.
http://sitessoftware.com/software-testing-an-art-or-science
Google software testing expert, James Whittaker, gives an overview of the
process and organizational structure for testing and QA at Google. One of the interesting insights is that
"testers" at Google don't actually test, but instead support
development by building the necessary test infrastructure.
http://www.infoq.com/news/2011/03/Ensuring-Product-Quality-Google
Fortunately, most of us will never need to concern ourselves with how
Java (and any
other language that runs on the JVM) gets compiled into bytecode
for interpretation by JVM. But if you
do, this article gives an excellent, detailed explanation using simple
examples.
http://arhipov.blogspot.com/2011/01/java-bytecode-fundamentals.html
Keeping your hands on the keyboard while
developing helps improve productivity and concentration. Here's a
nice cheat sheet for keyboard shortcuts for VS 2010 for all of you .NET folks.
http://weblogs.asp.net/scottgu/archive/2010/07/29/visual-studio-2010-keyboard-shortcuts.aspx
Java 7 is coming to a desktop near you soon. This downloadable reference card gives you
the skinny on the new features (and even some that didn't make it) of the new
version.
http://www.developer.com/java/get-ready-for-java-7-with-the-free-jdk-7-reference-card.html
Interested in learning about MongoDB or key-value store databases generally? This excellent online interactive tutorial
leads you step-by-step and gives you the hands-on feel for what it's all about.
Two years ago, Google started work on using data mining techniques to determine the key behaviors that make great supervisors. Check out the process they used and the 8 points that they came up with.
http://www.nytimes.com/2011/03/13/business/13hire.html?pagewanted=all
Only about 1 in 40 people can function well on less than 8 hours of sleep per night, yet most people get less than 7 hours each day. This article has some tips on how to get the rest you need.
http://blogs.hbr.org/schwartz/2011/03/sleep-is-more-important-than-f.html
Older (which I think generally means middle-aged/40+ in our industry) developers are often viewed as having low productivity and being unwilling to change or adapt to new technologies. Here is some evidence to counteract these stereotypes.
http://www.lessonsoffailure.com/developers/pervasive-myths-older-software-developers/
Different methodologies and processes often call for different tactics in leadership and management. (Remember that "leadership" and "management" are different things!) This author says that the best leaders for agile/lean development are those who are focused on the value stream (i.e., improving flow by eliminating waste) of the effort.
http://alaverdyan.com/readme/2011/02/about-good-leaders-agile-managers-and-value-streams/
This is an article from the IEEE magazine for students. Each month they give any overview of a career from across the technology spectrum.
http://www.todaysengineer.org/2011/Mar/career-focus.asp
What did you guess this article is about? Some new online time-tracking tool or fresh spin on Pomodoro technique? Well, not quite. This author makes the case that to truly be productive, you need to set aside (i.e., plan!) "strategic thinking time", without distractions and interruptions, to ponder those big questions that will really make the difference between success and failure.
http://www.bnet.com/blog/time-management/the-best-productivity-tool-you-8217re-not-using/309
We've all heard the stories about how HR doesn't do a very good job of screening resumes. But what about some of the other stereotypical ideas about HR? According to a new article in Reader's Digest, many of them are true (at least to some degree).
http://www.techrepublic.com/blog/career/dirty-little-secrets-of-hr/2905
IT certainly has its fair share (or maybe more!) of quirky (that's the nice word!) people. So you're likely to run across a few of these folks, whom John McKee refers to as Typhoid Marys. How do you handle ones who are great at the work itself, but not so easy to work with?
http://bhorowitz.com/2011/01/04/when-smart-people-are-bad-employees/
In general, I think I give fair treatment to the various sides of topics in this newsletter, including outsourcing. This article is a cautionary tale about how outsourcing your core business functions can prove catastrophic to your organization.
http://www.latimes.com/business/la-fi-hiltzik-20110215,0,442445.column
There are plenty of timed system shutdown/restart utilities out there, but The Final Countdown has some really nice features, including allowing you to schedule the action for any time in the future, including many days or hours, "anti-guest" feature that locks the system until the action, and more. Of course, it supports scheduled actions of shutdown, restart, hibernate, lock, and sleep.
http://sourceforge.net/projects/finalcountdown/
This is a very useful Eclipse plug-in that allows you to perform normal text editing functions on columns of data that extend across multiple lines. Supported functions include copy, paste, search, replace, change case, and more.
http://columns4eclipse.sourceforge.net/
Ever found an old Microsoft Word document that was password protected and you couldn't remember the password for the life of you? I'm sure you also remember the sinking feeling that went along with it. Word Password Recovery uses a brute-force method to recover the document password. You can seed the recovery process with valid password characters to help speed the process if you like.
http://www.appnimi.com/softwares/1-password-tools/9-word-password-recovery
If you already use the Firefox web browser, why bother using a separate SSH client? FireSSH is an basic-featured SSH client extension for Firefox written in Javascript.
Last month, we featured the startup name generator. Now that you've gotten your startup running, you'll have to actually create an application and you might get "developer's block" and be unable to think of good class names. Well, ClassNamer comes to the rescue.
Some companies, like Microsoft and Google, are famous (or infamous!) for asking those "lateral-thinking" puzzle interview questions. Here's one developer's take on what would happen if Richard Feynman came in for an interview.
http://blogs.msdn.com/b/ericlippert/archive/2011/02/14/what-would-feynman-do.aspx