Stages of Software Development

I’ve noticed a trend in searches, where people are trying to find out what phrases like “RTM” mean.  And I’ve explained it in a post on Windows 7, but I wanted to go a little more in depth for those who are interested.  So, I’m going to take you through the stages of software development.

The early stages:

Software development begins with the customer requesting a specific task or software feature.  Or, it can be that the developer decides that some feature would be interesting to make (read as will become something people will want).  Typically there will be documentation and consultation with potential users to refine the plan.

Some of the documentation you’ll see are “IPO charts” (Input, Processing and Output), flowcharts, pseudocode, and request forms.  After these charts are created, and the project is approved, then the actual source code will be written.

The source code is human-readable code that will be compiled into computer-language (assembly language or binary language).  It will be in any number of programming languages, such as Visual Basic, C#, C++, Java, COBOL, or others.  In “closed source” systems, this code is not released to the general public.  In “open source” systems, the code is released and anyone is allowed to modify and contribute to it.

The code is compiled and tested in development.  Then it’s compiled and made into executable files (or operating systems).  This leads into the next stage of software development: Testing.

Testing Stages:

Alpha Testing: This is the first stage of testing. It could even be considered part of the development testing.  Typically the executable is bare-bones and has a lot of bugs or performance issues.  This will very rarely be released outside of the development team—as it’s considered extremely unstable.

Beta Testing: When the development team starts to create a more stable version of the software, they will release it to a more widespread audience.  Sometimes this is in a private beta (or Technical Beta), and other times it’s a public beta (where anyone can download the software).  Examples of each are Acronis TrueImage (private), Windows Vista (private), Windows 7 (private/public), Windows Live Messenger (public), and Office (private/public).  This is where the users have their chance to find bugs (or errors) and suggest improvements.

Release Candidate: In a perfect world, this is the final stage of the beta testing process.  The version of the software is essentially what the final product will look like.  It’s close enough to “perfect” that the developers are no longer taking suggestions for features or improvements, but are mainly trying to fix the major bugs. Major bugs are considered “Showstopper” bugs, because they are critical to the success of the software.

Final Product (Gold)

RTW: If the product is a download only or download preferred, then this stands for “Release to Web”.  It means that you can go to the company’s website, and download the installer for the product.

RTM: If the product is going to be released in disc form, or installed on computers, then it’s called “Release to Manufacturing”.  Typically the product is released to the manufacturers a couple of months before it will be available to the general public.  This gives the manufacturers time to create discs, install the product, and tailor it to their desires (add their specialized programs to the computer, for example).

General Availability: This is the point where you can purchase the product.  If it’s a download, and the manufacturers were bundling it with other products, then this will be the time that it’s available for download.  If the software was developed for an internal use, then this would be the time where it’s released to the entire corporation or entire network.

Hopefully this has cleared up some of the stages and explained some of the terms that you read online.  If you have comments, suggestions, or questions, please feel free to add them.

Have a great day:)
Patrick.

Windows 7 RTM’s.. What does it mean?

Microsoft announced publicly today that Windows 7 and Windows Server 2008 R2 have reached their RTM stage today.  The official build number for Windows 7 is 6000.16385.  So, what does this mean?

If you’re a tech beta tester (Microsoft’s internal beta testers), it means the end of an era of sorts.  We’re no longer hunting for bugs, although we can still use the Release Candidate until Windows 7 is available.  And I’m sure we can still submit them.  We also will lose our communication with the other testers shortly.  And, we’ll patiently (and anxiously) await our next calling—be it service packs, or a new version of Windows.

For the public beta testers, nothing really has changed.  They can still use the Release Candidate until the “General Availability”.  They didn’t have the community that the tech beta testers have.  And while they could submit bugs and feedback, it wasn’t quite on the same level as the tech beta testers.  But, that’s the nature of the game.

For the General Public, this means that those brand new PC’s and laptops that you bought with the upgrade offer will finally get that upgrade.  And, if you purchased Windows 7 through their “50% off” deals earlier this month, you’ll be getting them in 3 months.

If you’re wondering about whether it’s better or worse than Vista, let me show you the systems that I tested it on…

Test Specs:

Desktop
E-Machines WD3400
AMD Athalon 64 3000+
1.5G DDR2 RAM
ATI Radeon HD 2400 Pro
ATI TV Wonder 650 Pro

Laptop:
Toshiba Satellite A105-S2194 (Walmart Special)
Intel Celeron M
1.5G DDR RAM

Note the laptop. It’s 2 years old at least. All I’ve added was 1G of RAM, and a new hard drive.  It has Windows XP Media Center 2005, Windows 7 RC1 Ultimate, and Kubuntu installed in a triple boot.  And Windows 7 runs better on there, then it does on the desktop.  It even has all of the “Aero” features that Vista has.

So, if you’re looking to upgrade either from Windows XP, Windows VIsta, or maybe even Windows 2000/ME (Windows 98 would really be pushing the envelope, and I wouldn’t recommend it). 

If you have a computer with a 64-bit processor and the Hyper-V or AMD-V enabled, you can take advantage of “XP Mode” which will allow you to run a virtual machine containing Windows XP (licensed) inside of Windows 7. There is a version available for 32-bit also, but I’m not entirely positive of the hardware requirements.

You can preorder copies of Windows 7 up until October 22, or purchase it after it becomes available.  Also, if you want a copy now, you can still download the RC (which is pretty close to the RTM version) before August 30.  Note that the key that you’re assigned will expire on June 30, 2010.  However, around March 1, 2010 the computer will start rebooting every 2 hours or so.  So, the RC is only a temporary fix until you can (and should) buy the released version.

Have a great day:)
Patrick.

Malicious software and why would you want it anyhow?

Regardless of the title of this, I’m mainly aiming this at the copies of Windows 7 RC that are being distributed via .torrent files.  Yes I know there have been “leaked” copies of Windows 7 out, but the Release Candidate is available from Microsoft now.  So, my question is what do you have to gain by downloading it via .torrent files?

Do you get an extended license key? I doubt that highly.  The keys that you get from the public download are good until June 2010 (at one report).  And the Release Candidate is going to be essentially the same thing as the RTM version (unless there are “show-stopper bugs” in it).  Since Microsoft is allowing you to use the keys for 13 months, they’ll update the release candidate along with the RTM versions that you’ll buy.

Do you get an advanced copy that “no one else has”?  Um…  NO. You may have gotten an advanced copy that people who are willing to wait for didn’t have.  But, unless you were the FIRST person to receive a copy of the file, you aren’t getting something that “no one else has”.  You’re getting something that your friends may not have.  But truthfully, if your friends weren’t already running the beta version, they probably don’t care.

Are you getting a hacked copy that will run on anything?  Well now, we’re getting closer to the mark here.  But sadly, no.  You’re getting the same copy that everyone else has (with a little more).  You aren’t getting something with the “Blue Badge” (which unlocked features in the pre-Beta 1 versions).

So, what are you gaining by downloading Windows 7 RC from a .torrent file?  You’re gaining a system that will be PwN3d from the moment that you hook it to the Internet.  See one version of the .torrent file has two files in it.  One is a  setup.exe file, and the other is a virus.  The setup.exe file has been “hacked” to automatically call (and install) the virus as part of the Windows 7 installation.

What does this mean?  It means that if you’re upgrading from your Vista or XP computer, then there’s a good chance that all of your passwords and other information are being given out.  And if you’re doing a clean install, then your passwords and other information are SLOWLY being given out (slowly because you’ll have to reenter them one at a time).

And you’re not “Sticking it to the man” either.  Why?  Because there’s a really good chance that whatever “key” you installed with is going to expire in June, 2010 along with everyone else’s.  Not counting that if you get caught seeding the file,  Microsoft can sue you for a lot of money.  And given the legal status with Copyrights, you could end up in jail.  It’s doubtful, but really now, is it worth the risk?  For something that you can get at Windows 7 anyhow…

Have a great day:)
Patrick.