Search This Blog

30 March 2014

Training the Software Requirements Engineer

What are different type of training required for a Software Requirement Engineer?

The correct answer is, it depends. Software requirements training should fit with the type of project management used by your organization.

One type of training you don't need

Many people think a software requirements engineer should thoroughly understand programming and software engineering. Obviously, you should know something about the software engineering discipline, but knowing too much can destroy your ability to write good requirements. This happens for two reasons.

First, good requirements should ignore the technology (such as which platform or language is used). This is because requirements should not dictate the solution; they should only define the problem to be solved. Devoting too much study to the technology will bias a requirements analyst toward particular solutions. This makes consideration of alternate solutions more difficult for the design engineers.

Second, requirements elicitation is an art as much as a discipline. Managing stakeholders, conducting meetings, choosing elicitation methods, and choosing methods for representing information require strong skills in psychology and communication. Putting all your energy into learning programming languages and tricks will cost you on the human side. It would be as great a mistake as putting all your energy into market research. You need to know enough about programming to win the respect of the designers and to communicate with them, but your job is to build a bridge between the customer and the designer.

What should I wear? Well... where are you going?

Organizations that work with large systems that integrate multiple technologies tend to follow traditional Project Management and Systems Engineering methods. They use some variation of the Waterfall model, such as the V model.

For a high-level understanding of Systems Engineering requirements methods, I recommend starting with INCOSE's (International Council on Systems Engineering) Systems Engineering Body of Knowledge (SEBOK) and using the SEBOK as a guide to subjects for study. Also consider studying Model-Based Systems Engineering, one subset of traditional methods, and SysML, the modeling language used for MBSE.

Organizations that work primarily with software tend to follow Agile project management methods. In Agile environments, requirements engineers tend to go by the title Business Analyst. I recommend starting with the IIBA's (International Institute for Business Analysis) Business Analysis Body of Knowledge (BABOK) and using the BABOK as a guide to subjects for study.

Agile is a set of principles and not an actual method. I have asked for a recommendation for a book that describes the different methods (such as Scrum and Kanban) but have been told no such book exists; for each Agile method, you need to find a different book.

The requirements methods differ considerably between traditional and Agile. Traditional methods nail down requirements and then negotiate schedule and cost. Agile nails down schedule and cost and then negotiates, prioritizes, re-prioritizes, and drops requirements.

The two methods do share some of the same tools. I suggest studying Unified Modeling Language (UML). UML is not a language, but a set of graphical methods for defining requirements. The most commonly recommended book on software requirements is Software Requirements, 3rd edition, by Karl E Wiegers and Joy Beatty.

23 March 2014

Classes for Technical Writers / Communicators

Any suggestions for what further education pairs well with technical communication?
-- Nicholas
Ask the Right Question

Nicholas has asked the right question -- sort of. I don't think anybody can answer the question for him.
A technical communicator translates the Subject Matter Experts' (SME's) geek-speak into plain human-speak. Learning the SME's language will play a pivotal role in success. Even introductory courses in the chosen domain will dramatically shorten the learning curve once he lands a job.
The question omits any decision about the domain in which Nicholas will practice. When he chooses a direction, he will be better able to determine the answer for himself.
If Nicholas has not chosen a domain, yet, I would suggest that he visit his school's career office and the state employment office and ask, "What industries show growth potential for Technical Writers?" Once he has a list of, say, the top ten fields, he can consider which field(s) would most personally reward him.

After that, he can ask, "What subjects would best help me learn the language of the SME's in that field?"
Supporting Skills
An employee does not just sit down and start doing the job. Each job has supporting knowledge areas such as planning work, reporting activities, conducting meetings, and defining and adhering to ethics. A successful employee also looks ahead in the direction that the career and the profession will take. That adds soft skills, management, and industry trends to the list.
I will name two of the most important skills Nicholas could add to his quiver.
First, the most important SME in anybody's career is the boss. Learning about project management (I suggest PMP Exam Prep by Rita Mulcahey) will help Nicholas:
  • Understand how he can support his manager's success
  • Learn more about organizing his own work
  • Start his climb up the career ladder
The knowledge areas defined by project management standards can also serve as springboards into further studies.
Second, the ability to visually model processes and information would help Nicholas in any industry. To that end, he should familiarize himself with the Unified Modeling Language (UML). An Internet search will turn up plenty of tutorials.)
UML is not a language (not in my vocabulary, anyway), but rather a set of graphical styles and standards for defining and illustrating relationships between entities and for defining the processes in which entities interact. If Nicholas works in the software field or supports business processes, he will probably need to understand UML, anyway.
Basic Life Skills for Success in Any Technical Career
People normally associate project management with management and producing products, and they associate UML with software engineering, systems engineering, and business analysis. However, the set of tools these two topics would give Nicholas, and the ways of thinking that they teach, would be invaluable in almost any domain. He can study those areas while thinking about the industry he wants to work in.
"Professionals" distinguish themselves by continuously and independently learning. Schools lead students through semi-standardized curricula, but professionals write their own curricula. Nicholas should plan his future studies but bear in mind that:
  • he will continuously update that plan, and
  • he does not have to do all his studying now.

The Dramatic Death of Windows XP (yawn)

Update for Commercial Users (29 May 2014)

If your computer stores consumer data such as credit card or health information, certain regulations require you to upgrade your system. Charles Ripley of IDG Creative Lab states that regulators and credit card companies require many businesses to upgrade their systems immediately or else risk fines or discontinuation of service. For more details, read Protect Your Bottom Line by Making Sure Your Business is Compliant.

(Updated: 8 April 2014)

Death! Destruction! Hackers! Viruses! Despair!

For the last decade, it seems, we've heard about the impending crisis due to Microsoft discontinuing support for its 12-year old Windows XP operating system, Office XP, and Office 2003. This snippet comes from NASA's CIO:
Using Windows XP past April 8, 2014 may leave users significantly more vulnerable to viruses and malicious code. There is a high likelihood of a significant increase in attacks targeting XP users by malicious actors once support is officially discontinued.
That's pretty calm, compared to some sources.

Windows XP End of Support: A Hacker's
Hackers Will Feast On Windows XP Starting April 2014

Windows XP Could Be Infected Within 10 Minutes of Support Ending
End of Windows XP support will be 'starting pistol for hackers'

Take a valium, breath into a paper bag, and count to ten.

Obviously, the hype will drive many to replace their XP operating systems with Windows 7 or 8. This will bring a boom in sales to Microsoft. It will also benefit computer manufacturers when people find out that Windows 7 or 8 won't run on their old computers.

In fact, it will probably benefit Apple as people who really wanted a Mac finally go through with that purchase they've been putting off.

XP still accounts for almost a third of personal computers, worldwide. The loss of support from Microsoft will eventually make XP computers a soft target for hackers. However, as the world rushes give Microsoft more of their money, XP will become less common and, therefore, a less interesting target for hackers.

XP will not suddenly become vulnerable to all viruses on April 8. Microsoft updates operating systems after weaknesses are discovered. That process of identifying and responding to new threats takes weeks to months. Since Microsoft releases its updates once per month, XP won't miss its first security update until May.

When XP misses its first security update in May, the hackers will pick apart the updates for Windows 7 and 8. Since some of the vulnerabilities in 7 and 8 date back to XP, the May update will give hackers clues about weaknesses in XP. Deciphering all that will take time. Inserting code to exploit the weaknesses into new viruses will take more time. Then they have to start distributing the viruses, and it takes more time for viruses to spread.

Microsoft stops, but not everybody stops.

Microsoft stopping its XP updates does not mean that antivirus software will stop working! Antivirus makers such as AVG and Norton will continue updating their software.

Keep Calm and Compute On

I have an old XP desktop that I use for recording audio. I generally do not use it for accessing the Internet.

On April 8, I'll make sure I have the latest updates from Microsoft. Then I'll back up the softpacks in case I need to restore the drive.

I'll order the barkeep to pour me another sarsaparilla, and pay attention to tech news. When I begin to fear that XP has become too vulnerable, all I have to do is turn off its access to the Internet. I right click on the Wireless icon and click on Disable.

(But first, I'll probably update the virus scanner one last time.)

Then, to free up disc space, I uninstall my browsers and email program. No big deal!

But, but, but... the ATMs!

On the dangerous side: I have read that all ATMs use a version of XP. I have not seen any articles describing what ATM owners intend to do about it.

However, I suspect that ATMs use Virtual Private Networks (VPNs) to communicate with bank servers. A VPN is an encrypted link, like a tunnel through the internet between two computers. A VPN would block most other Internet communications.

When was the last time you saw somebody using an ATM to browse the Web, download music, or check email? Those are the most common sources of malware. ATMs don't get exposed to viruses and hackers like our home or work computers do.

I'm sure many hackers will take up the challenge as new weaknesses in XP become known, but again, such things take time, and ATMs have a lot of security already in place.

Recurring Theme

Do you see what I'm getting at? Instead of an asteroid slamming into Earth at 20,000 miles per hour, it will be more like The Blob, creeping slowly as people run around in panic.

We have time to take steps and to figure this out.

Steps to Protect Your XP Computer

  • It is 9 PM, California time. Microsoft is still allowing me to download and install the latest security updates. If you haven't done so, open Internet Explorer, click on Tools, Windows Update. Then guide your computer through the update. I suggest using the Custom update because some of the optional updates will add to your computer's security.
  • I went to update our house guest's laptop and found that, apparently, it had been years since she had run the update. Almost 160 updates are being downloaded now. (Estimated time, almost 6 hours!)
  • Make sure your Windows Firewall is turned on.
  • Make sure your antivirus software has the latest updates and virus definition files. If you use the Internet much, make sure the antivirus software scans your computer at least weekly. If you do something that raises your suspicions, run the scan manually.
  • If you don't have an antivirus program, get one. PC Magazine's The Best Free Antivirus for 2014 names AVG and Avira Free Antivirus (2014) as the best for keeping viruses out of your system. (Look under Real-Time Protection in the article. If you have viruses already, look under the Cleaning Up the Mess.)
  • There's good news about antivirus programs: Most of the antivirus programs that support XP will be supported for another year -- even Microsoft Security Essentials. Make a mental note, though: In April 2015, you may have to replace your antivirus program with another one.
  • If you log on as the only user, you are probably the Administrator. That means that, when you run a program, it can make changes to Windows. If you are not the Administrator, you may still have admin privileges. To prevent infected Web sites from making changes to your computer, you need to log on as a regular user without Admin privileges.
  • If you are the Admin or sole user of the computer, go into the user accounts settings and create a new user (you). Make sure the new user account does not have Admin privileges.
  • If you have a secondary account but also have Admin privileges, have the Admin log in and disable your Admin privileges.
  • Although Internet Explorer is up to version 11, the latest version that supports XP is version 8. Microsoft will stop supporting IE 8. I recommend Chrome and Firefox. Install them and don't use IE unless you find a good reason to.
  • As I said above, when I begin to fear that XP has become too vulnerable, all I have to do is turn off its access to the Internet. I right click on the Wireless icon and click on Disable.


(C) 2014, Richard Wheeler

Use Google to Search for Jobs on Craigslist

You can use Google to look for jobs on Craigslist by keyword.

Go to and type

site:[the URL of the Craigslist site for the city where you want to work] [keywords]

For example, barista coffee espresso

If you don't care where the job is, just use "" instead of "".

One of the advantages of this is that an employer might post a job under any of several categories. This way, you don't have to move from page to page in your search.

As another advantage, you don't have to read through all the postings that don't relate to your search.

You can get Google to send you an email alert with your search results.

Just go to and enter your search as shown above. Then adjust the settings and click on Create Alert.

You can change the alerts and their settings by clicking on "Manage your alerts."

You can create more than one alert.

Here are some ideas:
  • Create an alert for each city or region where you would take a job. Just browse around the Craigslist site to get the URLs.
  • Instead of having Google search just Craigslist, have it search the whole internet for your name (and variations on it). This way, you can monitor your reputation.
  • If you want to keep up with the news about a particular company, you can set up an alert for it, too.