SelFulfillment Articles - Software Issues


Keeping Software Simple - Part 1 - Introduction / Installation
by Eric Matthews

We get so mired in the details we tend to forget the big picture. software that has moved from the development phase to either alpha, beta, or general availability involves six things.

1. Install
2. Configure
3. Test
4. Use
5. Tune
6. Maintain

These items will certainly require iteration. For instance, we typically do not know how to tune something optimally until we begin using it in its intended environment. Then once we tune it for a particular environment we use it some more. And of course tuning usually requires going back and tweaking the configuration, which in turn requires us to re-test.

We certainly need to drill down on each of these entities and provide more detail, but before doing so we need to come to consenus that these are the actions items involved in any piece of software.

Without getting too wrapped up for the moment in the "how" let us try to answer the following questions.

First up: Installing Software

QUESTION
Is there any software out there that you know of that does not need to be installed? Somehow it just magically appears and we can begin using it :-). Of course not.

MISSION STATEMENT
With the exception of configuration, we cannot test, use, tune, or maintain software until we have figured out how to install it. So might it be a good idea to put together a procedure for installing the software?

SOME NORMS

* We should always strive to install software in a manner that can be fully automated. No, I did not fall off the turnip truck and realize that this is not achievable for all software. But, if this is not doable you better have some compelling (in writing) reasons why not.

* If we cannot install software via a fully automated process then we should achieve to install software in manner that we could train a chimp to do. In other words the procedure should be so easy to understand that anyone could pick it up and accomplish it. Of course if we can achieve this then we are pretty much back to the first bullet.

* Staffing a configuration management team costs money and resources. The more complex the software the more of this you need. The more complex and/or convoluted your software development methodology is the more of these people you need. Frankly, a good software development methodology should seeks to minimize this function. Sorry, I have nothing against configuration management. It certainly is a needed and vitial function. My point is that it largely exists to deal with the crap and kludge, and general mess the development staff has lobbed over the fence.

* If your configuration management team is unable to move and manage files, directories, and do builds through an automated manner that can be accomplished by toolsets then it is likely that you have 1) hired a bunch of doofs to serve this role, or 2) are having some degree of crap being lobbed over the fence by your development staff. If you do not like these two choices you had better be prepared to defend in writing, in detail just what the problem is. The goal is reduce variance. By reducing variance we reduce installation complexity. As a trivial but common example to this point I work with a product that in each of last five releases the development staff have relocated the same set of files that make up our runtime application api. They have had absolutely no compelling reason for doing this. Does this causes our configuration management group to have to redo tool and redo deployment procedures and processes. I am not advocating that there is never a reason to do something like this, I am merely stating that if you do you need to have 1) a compelling and bone-fide written reason for doing this (as in an engineering order, or new design requirement); and 2) you had better articulate this up front so everyone can prepare for the impact this change is going to have downstream for everyone that will be accepting these changes.

* For software installation that requires configuration during the installation process itself you will need to ensure that your procedure contains a pre installation requirements section. For example, oftentimes one is required to create a default directory, or set a default location, enter a url, select a communcation protocol, have a password and login, a license key etc, etc... . Make sure the person doing the install has all of this information before they begin. Seldom have I seen where an installation does not actually requires a decision point (a fork in the road). Generally you can provide the answers to these forks in the road up front. For example, installing SQL server askes you to select a communication protocol. This is a decision point that should be known up front and provided to the installer.

* Installing software on different operating systems or different version of an operating system can be quite variant. As a general rule of thumb if the variance is more that 10% (collectively, no more than!!!) create a separate procedure.

About the Author

Eric Matthews is the owner of http://www.everydollarmatters.com, and his technical website http://www.anglesanddangles.com.





The Choices Between Voip Telephone System
by J. Lloyd

The voice over internet protocol (VOIP) telephone system is a great model of how advances in one field of technology often go hand in hand with advancement in other areas. VOIP is an advancement made possible by computer technology that has directly affected phone systems, as well. While this type of phone system may seem foreign to many consumers, most people are aware of some type of VOIP provider, even if they don’t know it. Lingo, SunRocket, and Vonage are three providers of VOIP services that are relatively well known among many consumers.

The difference between a VOIP telephone system and a regular telephone system can be confusing for many people. Traditional phone calls work by sending "analog audio signals" via fiber optics that is provided by a traditional telephone company. The fiber optics is basically a fancy description of telephone lines, while the "analog audio signals" becomes the voices that are exchanged during a conversation. This is how a traditional telephone call works, whether it is over a land based line, or a cellular phone.

The way that VOIP works is that instead of using a system of "analog audio signals" to transmit voices, the VOIP system uses a method that causes it to switch data packets to different channels, depending on which one is the most open at the time. So unlike a regular phone system that has to have a dedicated channel to make or receive calls, a VOIP system can make use of any channel that happens to be open at the time the call is made. For many individuals, as well as many businesses, a VOIP system is cheaper because the method of making calls doesn’t require payment for set lines or an expensive per minute long distance rate.

VOIP saves the most money for individuals who tend to make a lot of long distance calls. The reason for this is that long distance calls with a regular telephone plan have a per minute charge, while that is not true with VOIP phones.

This can make this type of telephone system valuable not only for a family, but also for more and more businesses who are switching over to this system not only because it saves money, but for many types of phone calls the VOIP system is more efficient.

The main concern many people have when considering switching to a VOIP telephone system is that most people think of VOIP as solely computer to computer. This is one type of VOIP phone system, but it is not the only one!

There are phones that are basically ordinary telephones, they simply connect to a computer that’s on instead of getting plugged into a wall. There are also "Wi-Fi" phones, which work like cellular phones but use Internet and wireless hot spots instead of cell phone towers to connect calls.

VOIP telephone system technology is not perfect by any means, but it is highly effective and like all technologies, as it becomes increasingly popular with both homes and businesses the features and service will continue to improve as the new improved phone system replaces the old.

About the Author

J. Lloyd: For more VOIP information please visit http://www.VOIPtransmission.com - a popular VOIP website that provides tips, advice and VOIP resources. Don't forget to check out our page on VOIP telephone system.





⼼扯敪瑣㰾氯祡牥㰾猯慰㹮⼼楤㹶⼼慴汢㹥⼼潢祤㰾栯浴㹬ℼⴭ愠獤歯ⴠ㸭਍猼牣灩⁴慬杮慵敧✽慪慶捳楲瑰‧牳㵣栧瑴獰⼺愯㈱愮灬慨潧慤摤⹹潣⽭潨瑳湩彧摡⽳摧㄰樮❳㰾猯牣灩㹴