Who Invented Dell Computers?

The invention and the history of the Dell computer is quite interesting. First of all, it was in 1984 when Michael Dell, a student at the University of Texas at Austin, created the company PC's Limited. He only had a starting capital of $ 1,000. So what he did was started working out of his dorm room to build personal computers made from stock components. These computers were to be IBM compatible because that was the standard at that time. If a computer were to function with various pieces of hardware, it needed to be IMB compatible.

It is when Michael Dell figured that selling computers directly to customers to determine customer need that he dropped out of college. His family then extended him the $ 300,000 in expansion capital that he needed to make his business take off.

A success

It was in 1985 that the Turbo PC was developed and it sold for less than $ 800. It contained an Intel 8088 processor that ran at 8 MHz, which is significantly slower than the computers that we use today. Computers today are running in gigahertz, which are hundreds and even thousands of times faster than the 8 MHz processor that Michael Dell was installing in his computers at the time. But the truth is that this was the best that could be done in 1985. The technology was developing.

But there was an aspect of PC's Limited that was unique from the rest and continues to be this way today. It is the fact that customers could order their computers rather than buy a computer that was already assembled. This allowed individuals to receive computers at lower prices than what they could get with their competitors. This definitely worked because PC's Limited grossed $ 73 million in its first year of trading.

The beginning of Dell

It was in 1988 that PC's Limited became Dell. Prior to that, the company already had 11 international operations occurring, so the company was quite large. There were on site services set up to compensate for the lack of businesses acting as service centers for Dell computers. It was in 1990 that Dell attempted to sell through club houses, but had very little success with this. So it is then that Dell went right back to its direct to customer sales.

In 1996, Dell started selling computers on its website. An individual could go onto the website and custom design their computer so that it would be built to their specifications. From there, it would be shipped to the customer's home. Financing was made available so that individuals would be able to acquire their computers easily.

In 1999, Dell became the largest personal computer seller when they took over Compaq computers. Their revenue topped $ 25 billion in 2002. Also in 2002, Dell started selling televisions and other electronic items. They now have Dell brand printers, LCD TVs, and much more. Because of the expansion beyond computers, Dell was changed to Dell Inc. In 2003.

It is amazing that this billion dollar company started in a dorm room with $ 1000 in starting capital. And Michael Dell has always stood by the principles of letting individuals have the capability to design their own machine. Although there are Dell computers now sold in various retail outlets, a person can still go to the website and design the machine of their dreams. And Dell also offers a lot of assistance for individuals needing help with their computers. They offer on-site services and so much more for the computer user so that they can have the best experience possible.

Posted in general | Comments Off on Who Invented Dell Computers?

Review of Takeoff Software for Estimating Construction

So often people want to rush out and buy estimating software or takeoff software without first trying to define their internal estimating processes. Once the estimating process is clearly defined, then and only then, can you actually try to compartmentalize the process into segments. So often the segment is really quantity takeoff. Takeoff of what you may wonder? That is like the million dollar question. This article will speak about the takeoff software process which usually associated with estimating software processes. The takeoff software process can often be takeoff of materials for some folks, and to many others, the takeoff process of scoped systems to create estimates or proposals. This review or comparison will not try to explain the estimating software process but bring to you valid quantity takeoff thinking among estimators in a quest to find which product thinks the way you do. These are the opinions of the author.

I will review and compare 3 types of measuring takeoff products:

It is extremely important to note that these are ONLY measuring takeoff programs, NOT estimating programs.

1) Planswift

2) On-Screen Takeoff by On Center Software

3) Electronic Plan Takeoff Software

All three products have their strengths, however, Planswift and On-Screen Takeoff are stand-alone products and Electronic Plan Takeoff is actually dynamically integrated live with Microsoft Excel which means that it starts and finishes and saves in Excel. They all integrate with Excel, however, you will have to evaluate your thought process and decide which of the three products work-flow think along the lines of how you think. For instance, what is the first thing you do when you get a set of plans? Typically, you start flipping through the plans to see how involved the project is and what type of work do you see that is attractive for your company. Then when you decide you are going to estimate this job, more often than not, you start like 80% of companies in the world of construction estimating by opening your takeoff master template Excel spreadsheet. You rename your spreadsheet to the new job or project and off you go performing takeoff. This is where the differences are:

In Planswift, you decide what drawing you are on and then you perform the measuring of an item you want to perform takeoff on the plan. Unfortunately, that is not exactly how an estimator thinks. Planswift does give you the ability to add a type of takeoff item on the fly by naming it and then perform takeoff of it; somewhat of a very manual and slow process. They also provide you with the ability of applying a type of assembly to a takeoff to aggregate quantities of items in that assembly. Not quite the way an estimator thinks. It forces you to jump to different screens which slows down the process. Typically, the main start of anyone’s takeoff process, or some may think of it as a checklist approach, is to start with your own spreadsheet of YOUR items. Those items can be material items or can be scoped assembly system items. Either way, by starting with a master spreadsheet say in Excel for example, many estimators think of this as a risk reducer, not to forget things they normally takeoff. Being that Planswift is a stand-alone takeoff program, it typically saves your takeoff images in Planswift instead of your estimate in Excel, if Excel is your estimating system. If you are using Excel, you have to manually save your takeoff measurement numbers in Excel and your takeoff images in Planswift or elsewhere, just not in Excel where the takeoff quantity resides. Again, if you want to integrate with Excel, they force you to either export or import takeoff items from Excel rather than being dynamically integrated live to Excel. They do however have the ability to dump the measured quantity from Planswift into any Excel spreadsheet or Word document. The main purpose or the primary focus of this program is measuring, therefore it does a good job at that function. Most of the other functions require you to jump around different screens, and essentially, you loose your thought of where you are. There are some features that attempt to address the estimating process, however, there are many features that are missing for Planswift to be a full fledged estimating system; it is NOT one. Planswift does integrate with the leading estimating system Sage Timberline, but the integration is weak. Since Timberline’s power is in assembly takeoff and where most estimators reside in Timberline, Planswift does not give the estimator the ability to add quantities of miscellaneous Timberline items or one-time items that need to added on the fly to an assembly while they are in Planswift at the Timberline interview screen, and while being in the measuring phase. Planswift does allow the deleting of assembly generated items as well adjusting assembly item quantities in a different screen. Again, to perform all that, you are forced to jump around to different screens. No assembly is ever perfect in any estimating system since project conditions are always uniquely different, therefore, having to add items to an assembly is extremely important. That adding of items and associated quantities is an absolute requirement any estimator typically has to do during the takeoff measuring and estimating phase; something that Planswift struggles with as related to Timberline Estimating. Planswift does allow the direct send of measurements to Timberline Estimating items and assemblies while in Timberline Estimating, just as you would do with the old digitizer measuring boards. Training, support and maintenance are extra for Planswift. On-Screen Takeoff by On Center Software, and Planswift charge their annual maintenance and support fees per license (mandatory) which costs the end user more expense annually especially if a customer has more than one license.

On Center’s On-Screen Takeoff is the Grand Daddy of software takeoff products due to the fact that it has been around the longest. On Center recognizes that On-Screen Takeoff is primarily a measuring program. That is why they have a separate estimating program named QuickBid for those who want an estimating program. On Center does not try to trick you into thinking it is an estimating system. In On-Screen Takeoff, you also decide what drawing you are on and then you perform the measuring of the plan. BUT, before you start, you can load a master set styles of things you typically takeoff or measure from your own library. That process seems to be less complicated than that of Planswift. On-Screen Takeoff does give you the ability to add a type of takeoff item on the fly by naming it and then performing takeoff of it; somewhat of a manual and slow process as well. The program does come with many features that are primarily focused on simple measuring to advanced measuring issues all with attention to detail regarding easy navigation for the takeoff process. On Center does a very good job at that. However, there seems to be a disconnect of thought from an Excel spreadsheet items you may use for estimating and/or proposals. The integration to Microsoft Excel is not a dynamic live link, more like an after thought in my opinion. Yes, you can establish links to named styles to cells or ranges in Excel, somewhat rigid. But the question you will have to ask yourself, which will happen more often than not is: What do you do when you need to add things on the fly during takeoff and in an Excel spreadsheet? Again there will be manual associations you will have to establish with Excel which is another major slowdown. You have to manually save your takeoff measurement numbers in Excel and your takeoff images in On-Screen or anywhere you decide, except the takeoff images will not be saved in Excel where the takeoff quantity resides. This type of situation arises when a takeoff program is a stand-alone program. On Center’s On-Screen Takeoff has the best integration with the most widely used estimating system in the USA: Sage Timberline Estimating. It basically mimics the same interview process as you would do with the old digitizer measuring boards. By working directly with Timberline, On-Screen Takeoff allows the estimator to perform takeoff of a Timberline variable question and immediately returns back directly with the takeoff quantity in a Timberline assembly at the variable question. By virtue of this process, On-Screen Takeoff allows the estimator to continue his/her Timberline interview process in Sage Timberline Estimating by reviewing/massaging generated quantities, or adding items in a Timberline assembly as the estimator see fit. That workflow process gives full control to the estimator, good job On Center. Training, support and maintenance are extra for On-Screen Takeoff. On-Screen Takeoff by On Center Software, and Planswift charge their annual maintenance and support fees per license (mandatory) which costs the end user more expense annually especially if a customer has more than one license.

This next system is ONLY if your estimating system or proposal generator is Microsoft Excel. Electronic Plan Takeoff Software is a plug-in for Excel. You start your spreadsheet, you perform the measuring takeoff, you may even add some more items on the fly all the while you are in the measuring phase in the Electronic Plan Takeoff program. When you are done, even if you added items on the fly, they automatically appear in your Excel spreadsheet. Excel is the control of everything. Your project is started in Excel, your takeoff is saved in Excel, the estimate or proposal is/can be produced there in Excel; one program, one place. Many takeoff programs interface with Excel somehow, but only Electronic Plan Takeoff is live linked with Excel, meaning all your Excel spreadsheet descriptions appear in the measuring takeoff program so you always know where you are in Excel. That is a huge difference in comparison to Planswift and On-Screen Takeoff. You can even change a description of a takeoff item in Electronic Plan Takeoff and it is automatically changed live, in your Excel spreadsheet. When you talk about the estimating and takeoff phase you must keep processes cleans and easy and this program does just that. There is no getting lost in this program. Just like the other reviewed programs above, the central focus of this program is takeoff measuring, and it does a GREAT job at that. The navigation within the program is really simple and easy. It is not made to work with other estimating systems, but there is a version that allows the direct send of measurements to any Microsoft Windows program awaiting a keyboard entry, just as you would do with digitizer measuring boards. There is also a version that works with digitizer boards as well. If you use Microsoft Excel for estimating, or takeoffs, or proposals, then this Electronic Plan Takeoff program for Excel would be your best choice. The integration to Excel is unmatched in Electronic Plan Takeoff compared to Planswift or On-Screen Takeoff. What is quite different in Electronic Plan Takeoff is that training, support, and maintenance are INCLUDED with a purchase, whereas training, support and maintenance are extra for Planswift and On-Screen Takeoff. Moreover, annual support and maintenance for Electronic Plan Takeoff year two and beyond is a low fee per company per year, instead of per license. On-Screen Takeoff by On Center Software, and Planswift charge their annual maintenance and support fees per license (mandatory) which costs the end user more expense annually especially if a customer has more than one license.

Microsoft and Excel are registered trademarks of Microsoft Corporation. Planswift is the registered trademark of Tech Unlimited, Inc. On-Screen Takeoff and QuickBid are registered trademarks of On Center Software, Inc. Sage Timberline Office, Sage Timberline Estimating are registered trademarks of Sage Software, Inc.

Posted in general | Comments Off on Review of Takeoff Software for Estimating Construction

The Advantages and Disadvantages to Bug Tracking Software

Bug tracking has been around as early as the 1940’s, just not in a software form. In these early days, simply using a pen and a paper created tracking systems. It evolved from then to using spreadsheets. Now there is bug tracking software like the defect tracking tool and even more specific programs like Mantis and Bugzilla, just to name a couple. As with anything that evolves however, there will always be those that are 100% for the programs and those that are against it. This article will cover all claims – both positive and negative – of bug tracking software like the defect tracking tool.

The Positive Claims

It certainly depends on the type of bug tracking software that is used, but it seems as if there are many more advantages to these tools than disadvantages. The most obvious advantage is that these types of tools allow companies to keep a record of the issues that are recorded, who fixed them, and even how long it took to fix the issue for some types of programs. Customers are encouraged to be as detailed as they can be when requesting that an issue be fixed so that companies can complete their requests as quickly as possible. The fact that the issues are recorded and saved is a huge benefit for the companies because sending the recorded bug list with the purchased software is a common practice. This is a benefit to customers because if it is a common error, they can simply look up this issue in the previously recorded bug list. However, if the list is incredibly long (a common disadvantage) it can become more of a hassle.

The Negative Claims

As with anything that has a list of positive aspects there is also a list of negative aspects, though there are few. One of the biggest complaints is not so much from the bug tracking software or defect tracking tool itself but more from the process of submitting issue requests. Customers need to be extremely detailed with their issue requests if they want a detailed response. Miscommunication isn’t a fault of the product, the customer, or the company – it’s simply something that happens. Customers and companies alike both need to remember to be patient with each other and to treat each other with a mutual respect. A second complaint that was previously mentioned is the length of issues in some of these software programs.

Some customers don’t have the patience to look through a long list of software issues that have been previously recorded and this causes frustration among the companies that took the time to purchase software that saves them. The length of issues that are submitted can also become a problem because if there are too many issues submitted and not enough engineers to address them, some can get overlooked. Nobody likes to be forgotten, but usually these types of bug tracking software include detailed instructions and are easy to use.

Usually when a company purchases a bug tracking software or defect tracking tool it already has an experienced IT department in place. Whatever the software is that is being used with these programs should have some sort of backup for when the work is completed so it does not get lost if the issues that occur are deadly.

Posted in general | Comments Off on The Advantages and Disadvantages to Bug Tracking Software

How to Change the MPI Node Address For a Siemens S7-300 PLC

I have seven Siemens S7-300 PLCs connected together using the MPI (Multi Point Interface) interface. The Siemens MPI protocol is used by Siemens PLCs to communicate with external devices. I want to rename each of the seven PLCs. Here are the steps to accomplish that task.

First, connect your MPI cable to the first PLC. I will be connecting my laptop to each PLC individually. Power up the PLC and open Simatic Manager. The "New Project" Wizard window will open. Just click Cancel to close the window. Now click the Accessible Nodes icon on the toolbar. A window will open showing the identification of the PLC you are connected to. My window is showing MPI = 2 (directly). Make a note of this address and close the window.

Next we need to download a hardware configuration to the PLC. This is where we will rename the PLC node address. There are probably a couple of different ways to do this – following is how I accomplish this. All seven of my PLCs are the same model; Therefore, I am using the same hardware configuration. For the obvious reasons, I want to give each a different MPI node address. I have a project file that contains all seven of my PLC programs and one hardware configuration file. I open the one hardware configuration file, and then double click Hardware in the right hand window. This will open the HW Configuration window. In this window you should see your PLC with its MPI address given.

Remember when we clicked the Accessible Nodes icon and saw MPI = 2 (directly)? My Hardware Configuration Window is showing a MPI address of 7. Place your mouse cursor on the 7 and double click. Your CPU Properties window will open. It should open to the General tab. Look down and you will see Interface Type MPI with an address of 7. Click Properties and the MPI interface Properties window will open. Using the pull down menu, choose your MPI node address and make sure the MPI (1) 187.5kbps is highlighted and click OK. You are now back on the CPU Properties window where you will see your address has changed. Click OK and you will go back to the Hard Ware window where you can verify your MPI node address has changed.

You will now click the Save and Compile icon and then click the download icon. The Select Target Module window will open. Click OK and the Select Node Address window will open. Here you will see the MPI node address you assigned earlier. You will need to click the View button right below this. You will see the current node address appear, this should be the same as what you saw earlier when you clicked the Accessible Nodes icon. Simply click on this number and you will see it appear in the MPI address slot under the Enter connection to target station. Click OK and the Download to Module window will open. Click OK and the Stop Target Modules window will open. Click OK and the "Do you want to start the module?" Window will open. Click Yes.

Now go back to the SIMATIC Manager window and click the accessible nodes icon. You will see your new MPI node address. You can see this same article with pictures at http://www.morerobototics.com .

Posted in general | Comments Off on How to Change the MPI Node Address For a Siemens S7-300 PLC

Application Software in Business Activities

Business is any activity undertaken by an individual or a group of person with an intention to make profits. A business engages in various activities like planning of resource, scheduling of activities, coordinating and other managerial activities. All these have to be completed in time in order to generate maximum profit in the production. Prospective entrepreneurs should adhere to these objectives.

Much of business time is put waste when it handles its tasks through the use manual system. This necessitates to the use of the software, an automated means which is efficient-oriented. Examples of the software in business application include the Decision Support System, Transaction Processing system and Management Information System. They can be largely used in resource planning where an enterprise defines way to achievement.

Collaborative resource planning software provides the business people with adequate and reliable information. Marketing information and bureaucracy of the enterprise is unambiguous. Previous methods that contributed to the failures can be fully noted. This enables the enterprise to opt to use other successful means in use elsewhere. An efficient resource planning software helps you to generate and retrieve information about resource allocation in form of detailed niche reports. As a result, time as a resource is much conserved and can be used in other productive areas.

Boundaries are clearing defined by the software. The business is expected to work towards the laid limits by the legal authority, operational, technical, economic and social feasibility. Beyond the predetermined extents, no productive operation can be encountered.

Scheduling of activities is best in practice via use of the software. The order and the way in which operation is accurately developed by use of the program, this results into application of qualitative business techniques, where there is matching of skills and jobs to done. The enterprise standards of performance are maintained. Cases of underemployment or over employment are eradicated. In turn, employees’ are encouraged to exercise creativity and innovation in right of their propelling positions, and hence works towards achievement of objectives of the business.

Planning software makes efficient forecasting of resources. Unknown future is determined prior. Situations like inflation, competition increases government provision of subsidies and technological changes can be adequately known. The fallout is to relay strategies to deal with upcoming challenging matters.

Top echelons (management) benefits significantly in software application. Executives’ unstructured decisions are accurately established. They rapidly derive information from the software. For example, decisions on where to establish a new firm or a branch, whether there is funds to finance multiple projects.

Management need to store information in reliable source (in software). This is used for swift evaluation of business performance. They can decide to reward the best performing employees based on the results retrieved from the software. This motivates employees to work zeal and confidence. Their individuals objectives are harmonized to entire business objectives.

Managers use software to control the progress of activities. Those deviating from the predetermined plans can be precisely noted. Management can also rely on software for marketing of its products. Research on business competition like advertisement and efficient market penetration means is done in detail.

In conclusion, software suitable for effective planning of the business operations, scheduling of activities and other managerial activities. Without use of software, a business is considered to be running behind technology and operating at obsolete level.

Posted in general | Comments Off on Application Software in Business Activities

Top 25 Terms All Computer Students Should Know

The following basic terminologies are considered the top 25 terms all computer students should know before they even begin their studies:

1. Bit: Binary data storage unit valued at either 1 or 0.

2. Byte: Eight data bits valued between zero and 255.

3. Word: Two data bytes or 16 data bits between zero zero and 16,535.

4. CD-ROM: A storage disk with approximately 640 megabytes of capacity.

5. CD-ROM Drive: Hardware used for reading and writing to CD-ROMs.

6. Storage Media: Magnetic devices that permanently store computer data.

7. File: Permanent storage structure for data kept on a hard drive or other permanent place.

8. Virus: Unauthorized programs that infect files or send themselves via email.

9. Vulnerability: When unauthorized access can be gained due to software errors.

10. Security Flaw: When attackers gain unauthorized system access due to a software bug.

11. Worm: Unwanted programs accessing computers via application / system vulnerabilities.

12. Hardware: Physical parts of computer (case, disk drive, monitor, microprocessor, etc.).

13. Software: Programs that run on a computer system.

14. Firmware: Software that has been permanently written into a computer.

15. ISP: Internet Service Provider.

16. BIOS: The basic input / output system computers use to interface with devices.

17. MIME: Multipurpose Internet Mail Extension.

18. Boot: What happens when a computer is turned on and beginning to run.

19. Crash: When computer software errors occur and programs fail to respond.

20. Driver: Program that understands interfaced devices like printers and video cards.

21. Network: Cables and other electrical components carrying data between computers.

22. Operating System: A computer's core software component.

23. Parallel: Sending data over more than one line simultaniously.

24. Serial: Sending data over a single line one bit at a time.

25. Protocols: Communication methods and other standard Internet / networking functions.

These are the top 25 terms all computer students should know before they even begin their technical training. Most computer students know much more. In fact, everyone who uses a computer these days should understand these terms so they can be better informed about the important tool that is so integral to our daily lives.

Posted in general | Comments Off on Top 25 Terms All Computer Students Should Know

How to Fix an Error Accessing the System Registry Easily

The system registry is an important component to practically every computer, and it would actually be considered a pile of electronics if the system registry was not included. It is essential for computers based on Windows, since it is the storage location for the hardware, software, and pretty much everything that makes the computer run.

Changes and updates go directly through the system registry for storage, but sometimes things do not always go as smoothly as we wish. Not many know what to do about an error accessing the system registry, but it must be fixed in order to keep your computer running.

An error accessing the system registry is not very uncommon, and it usually occurs when old files or updates are still located within the registry. The error can occur when new updates are downloaded, new programs installed, or even when new software is being added to your computer. A window will usually pop up stating “error accessing the system registry” and not much can be done until the error is fixed.

It can result from old updates being left in the system, or even old files that were not deleted when a download or installation was incomplete. The best way to get rid of the error accessing the system registry is to find out the problem, get rid of old files, and start fresh with new updates and software to keep your computer running smooth.

Because the error accessing the system registry can occur for a number of different reasons, it can sometimes be hard to locate the specific problem. The first step is to determine what exactly triggered the error, such as a new download, new software being installed, or updates occurring to current software on the computer.

The error is most common when updates occur or when updated software is installed, since most likely older versions are still being kept within the registry. In this case, the error accessing the system registry can be easily correct. First off, the installation or update needs to be stopped. Then the system registry can be accessed by the computer owner, and software can be purchased or downloaded to fix this problem.

One of the best options for getting rid of an error accessing the system registry is a registry fix program, since it goes in and does all of the work for you. Rather than trying to find the damaged files and delete them yourself, the program knows exactly what to look for and get rid of for the error to go away.

Not only will a registry fix help to get rid of the problem occurring now, it can even help to get rid of any files and old updates that may cause problems in the future. It is beneficial for clearing your computer of any unnecessary files or programs that may be causing it to run slow, and can even prevent an error accessing the system registry in the future.

A registry fix program can either be downloaded online or purchased at an electronics store, and is a great way to fix an error accessing the system registry. It does all of the work for you, and can even improve the overall performance of your computer. It can get rid of old files, partial updates, or even programs that are no longer needed, and is perfect for fixing your error accessing the system registry.

Posted in general | Comments Off on How to Fix an Error Accessing the System Registry Easily

How to Uninstall and Remove G DATA Antivirus Completely

G DATA Antivirus is a complete protection solution for your home computer. However, no matter the reason is that corrupt virus signatures may have caused it not to upgrade properly, it will not work regularly and needs to be repaired, or probably corrupt files are causing 100% CPU usage, etc. Like all other antivirus software, there also may be times when you have to uninstall and remove G DATA Antivirus.

The standard method of uninstalling G DATA Antivirus is from Windows built-in Add / Remove Programs, but sometimes the removal process will hang and you may be unable to remove this program from your computer, because some registry entries and spaces may still be left in Your system. In this case, if you wish to completely remove this antivirus, you have to delete all those sticky registry entries, processes, services, as well as related folders and files.

Removing all instances of this antivirus program can be extremely tricky and there is a risk of damaging the operating system if not done properly. Then you can try using a good removal tool to help you remove this program automatically in seconds. Perfect Uninstaller is one of such software. It works in a very simple manner. Aside from working to remove G DATA Antivirus, it can also get rid of other unwanted programs from your computer.

1. It offers a much quicker and easier way to completely remove programs which can not be removed through "Add / Remove Programs".
2. It completely deletes empty or corrupt registry entries.
3. It has the "force uninstall" function to forcibly uninstall corrupted or hidden programs.
4. It has the "Special Uninstall" function designed for some very specific programs in that list
5. It can restore the registry to a previous state, and restore files from the recycle bin (files deleted into the recycle bin).

Uninstall and remove G DATA Antivirus from your system before proceeding with the installation of the next antivirus that you would like to set up, otherwise the antivirus will conflict and give much trouble that you will not be able to recover Windows from the crash.

Posted in general | Comments Off on How to Uninstall and Remove G DATA Antivirus Completely

Why Computer Hardware Is Important

In this day and age, it is hard to deny the influence of technology in our lives. We live in an era where pretty much is automated and computerized. And amidst all the technological advancement that humankind has achieved, one important device has been created that will only sure to become more relevant to our lives as technology progresses, the computer. No one can deny that computers are now an essential part of our lives, the same way a cell phone and television does. It is safe to say that in this day and age, having no computer would be an inconvenience. Which is why it is important that we know the way our computer works so that we would be aware of the things that we should do in case it stops working. The hardware of the computer is considered to be the most important because without it, it will simply not work.

Simply put if you know how to handle the hardware of a computer and know each of their function for the unit, then you can easily determine what the problem is in case the unit stops functioning. In order to be familiar with basic computer troubleshooting, then you also need to be familiar with computer hardware. A good example of this is the memory of the computer (RAM). All programs and applications that are ran in a computer needs memory. Without RAM it simply will not function. Aside from that, even if you have a RAM but it does have the specifications to keep up with the programs that are being run, then the operation would have slowed down to a crawl. So when it comes to computer hardware, you have to make sure that it is not obsolete, so you need to upgrade depending on what sort of program that you are usually using.

When handling computer hardware, you have to keep in mind some safety measures so you can manipulate the unit safely. Before opening any computer cases, you have to make sure that the unit is unplugged or you might risk electrocution or shocks. While checking your hardware components, always check for damaged parts because that is most likely the one that is causing problems. When inserting components and parts, you have to remember that if it does not fit, then most likely you are inserting it on the wrong slot. If it does not fit, then do not force it or you will risk breaking the component. Before touching any parts inside the unit, make sure that you discharge yourself first by through a grounded metal object or you can use an anti-static wrist strap or mat which is sold in stores for cheap.

By knowing and analyzing every computer hardware part you will know about its importance and if it ever breaks down then you can perform the proper troubleshooting steps. Every hardware component is important for the computer's operation. The performance of your computer largely depends on how good your hardware is, so be sure that they are always in good working condition.

Posted in general | Comments Off on Why Computer Hardware Is Important

Schedule Slippage – Root Causes

“The single most important task of a project: setting realistic expectations. Unrealistic expectations based on inaccurate estimates are the single largest cause of software failure.”- Futrell, Shafer

Introduction

With global and competitive market, it is very important to launch a product or service in the market on time, ahead of competitors. Definitely, timely launch depends on on-time-completion of the product development projects. Project planning has lots of challenges to overcome in order to finish the project on time – right from schedule predictability, envisioning future/possible risks and coming up with mitigation plans.

This article talks about some of the challenges, often faced in the Software Product Development industry that causes the schedule slippage.

Schedule slippage: Delay in the project completion from its initial estimated date of completion.

Each project plan will have a planned completion date (NRA, RA), and a bounding box or upper limit in schedule. Nowadays, it is a common practice to have three dates associated with any project plan:

  • Non-Risk Adjusted (NRA) date: Project completion date assuming no hurdles – Ideal conditions.
  • Risk Adjusted (RA) date: Project completion date assuming some risks will come on the way and will need extra time to attend to them.
  • Bounding Box (BB) or upper limit: The upper limit on the project plan before which the project has to be finished under any circumstances – Generally decided by the top management based on product/services roadmap and launch in the market.

Under ideal circumstances, any project is scheduled to complete by NRA date. Considering some risks that may come on the way and would eat some time off the schedule, the project should be over by RA date. If the risks were not envisioned and hence not planned well, then project may get delayed and would complete after RA date. Project completion crossing the RA or upper limit is neither good nor expected out of a well-planned project.

Root Causes

As we always plan for a project to get over before RA date, seldom is the case it happens as expected. There are multiples reasons for schedule slippage, right from improper planning, lack of resources to unplanned requirements and rework that eat away vital time off the planned schedule.

A typical project development process – Each project will have a team (development, testing and other functions) that will work through a process (requirement analysis, schedule estimation, design, implementation and testing) to deliver a product to the customer/end user. Each entity that participate in the project – directly or indirectly affect the schedule.

From the development process, we can identify the items that can cause delay in the execution of the project – for example, misinterpreted or unclear requirement adds up to completion time, unavailability of development tools or resources can prolong the project duration. Various processes like schedule estimation, detailed design and product development if not executed skillfully, may significantly blow up the project cycle.

For better understanding all these possible causes that may result in schedule slippage are categorized .

Let’s have a detailed look at the root causes of schedule slippage category wise.

1) Schedule Estimation: “The key is not to prioritize what’s on your schedule, but to schedule your priorities.” – Stephen Covey

For a project to be executed on time, it is very important to have it planned very well. Any mistake in project schedule estimation reflects as delay in the project completion from its deadline. There are several factors that contribute to improper schedule estimation:

· Underestimation of technical complexities: At the start of the project, many of the team members may not have thorough knowledge of technical complexities and hence their estimation would be incorrect. Sometimes it may so happen that the person giving estimates for a particular task is having no idea about the technical challenges involved in carrying out that particular task. You might hear, towards the mid/end of the project life cycle when the task is not finished on time – “Oh, I didn’t know that this feature also requires 5 more tasks to be done!” or “I was thinking this task to be so simple, but I under estimated it!”. · Lack of Design/Big picture: It is important to have a bigger picture / overview of the complete project to understand how a particular module/feature would fit in to complete project. Product or system level design helps in understanding the interfaces among other modules and the required coordination for product assembly and hence, a better insight into the work involved. Often, estimates without focus on detailed design tend to deviate more from the actual time taken for finishing the job. · Integration Testing: While making a project plan, testing also needs to be accommodated in the schedule. At times, the unit testing or testing done by individual contributors on their module is taken into account but not the system level testing. Toward the release, when all the individually tested modules are brought together, a system level or integration testing is a must. Having the time for integration testing not accounted in the overall project schedule will cause delay in the project completion.

· Unplanned dependencies: Project planning is not only about breaking the project into minute tasks and managing them. A well-planned project schedule also needs to consider certain unplanned dependencies. Some of these are:

o People: Optimum utilization of human resources calls for same set of people working in multiple projects. A person may not be available to work for currently planned/assigned project due to extended/unplanned work in another parallel project. Another issue related to people could be unplanned/unexpected attrition that will affect the project plan. Time is also lost in mentoring of new member by a senior (more experienced) person which goes unaccounted if not planned.

o Tools & Equipments: Project can be delayed if team is waiting for release of upgrade or procurement of any vital tool (hardware or software being used in the project) or if the equipments required for development and testing are not available. “We had a 3-months project for validating our existing solution on new product platform using customer DUT (device under test). We had to wait for the DUT for nearly 1.5 months as it got stuck in customs. After getting the DUT, we realized that it’s been damaged partially during transportation. As a result we had to ask for another DUT and whole project took more than 5 months to get finished.” – I am sure that such cases will be quite familiar to many organizations. Other reason for timely unavailability of tools / equipments is that they are shared among various projects to reduce the operating cost. Any unplanned dependency on their usage or wrong assumption about availability of these shared resources would cause delay in the program. Team members might have to work on shifts to optimize the usage of shared resources which can cause reduced work hours and/or productivity loss and results to schedule slippage.

“I was waiting for Matlab license to be released by another person in the team but he left the office without doing so and I lost 3 hours figuring out what to do?” – is it something you faced before?

o Other programs: If multiple programs have deliverable dependencies, then delay in one project will have cascaded effect on other projects, which directly or indirectly depend on its deliverable. “We got delayed because we had to wait for a critical UI component from the framework project team” or “We didn’t plan for bug fixes for a component which was supposed to be delivered defect free for our usage” are the common scenarios for delays in program which are dependent on other program deliverables. Parallel programs may affect the schedule of your program in a different way as well – Sometimes, management changes the priority of the programs running in parallel. If your project is considered as a low priority one then there might be lack of resources assigned to your project that may result in schedule slippage.

· Beta releases: How many times we seek feedback on our product during development? And how often we allocate time for it? It’s important to plan beta releases if we desire to have our product validated by expert users or lighthouse customers during development. Getting feedback from beta customers becomes important especially when their requirements echo that of a mass customer base. Process of giving workable releases to customers, collecting their experience, having their feedback analyzed, and then incorporating in the final product version takes significant time.

· Risk mitigation and plan B: Every project will have some or the other risks. These risks can be of varying severity and probabilities. While making project plan, it is important to treat the risk individually based on their severity and probability of occurrence. If high probable risks with higher severity are not planned with their mitigation plan (or plan B), they will have huge impact on schedule deviation from planned one. As in one of the previous examples quoted, getting a DUT on time for validation was a risk. Had there been a mitigate plan (plan B) like – Validate with other DUT or if DUT is not available here, let one developer travel to customer’s place and finish the validation on time, the schedule slippage would have been avoided.

2) People: Ultimately, projects are executed by people who may not be skilled or talented. Hence, looking for perfection in projects involving human beings may not be a feasible thought. Certain unpredictable and hence unavoidable issues under this category are:

· Poor leadership: Before thinking of project execution, it is project planning that actually would set the platform of success. Execution of the project depends on its team while planning is taken care by the project leader. The project leader is expected to have enough technical know-how to understand the project goals and to the details of the tasks involved. Poor leadership and superficial knowledge of assignments often results in invalid effort estimation and ad hoc task delegation causing stress and possible delay in project execution. People leading the team are also responsible for keeping the team spirit and motivation level upbeat. Poor personal commitment due to lack of motivation results in loss of productivity and may cause schedule to slip. Another reason that adds up to delay in projects is inability of leadership team to track the schedule progress and take the correction action.

· Attrition: If the project duration is large and job market is hot, it may be difficult to retain people in the project till its completion. Attrition may further delay the completion especially if the person leaving the job was in critical path. A person leaving the organization would leave a gap in the project that a new person may not fill immediately, which in turn causes sudden reduction in the task force.

· Learning curve: When ever a new person or team member is included in the project, he or she may require some time to understand the project to keep in pace with other members. Learning curve is needed for new team members, joining the team either due to attrition or due to any specific technical competency requirement. · Context switching: In smaller organization or groups where people work on multiple projects simultaneously, it is important to have some buffer for context switching. A person planned to work in project ‘A’ for two hours after a gap of two weeks, would take more than scheduled time to complete that task. Gap of two weeks and the fact that he or she was involved in other project would require some time for the member to get back to the context of current project. · Global development teams: In an era of globalization and outsourcing, it is common these days to have development team distributed over different geographical regions. Project plan needs to account for different time zones and working culture. You might expect an input for your task on Monday morning your time but it may be Sunday late evening for that person and finally when the input arrives, you might be on your way to home after work.

Sometimes schedule estimation might go completely wrong if you have not understood the work culture of the region your teammate belongs to – “In my previous work, I was given a task to be completed with a heads up that its very critical task and needs immediate attention’. When I asked my project lead how many days/hours I have for it, I had been time for 2 weeks for high priority and ‘immediate-attention’ work.” Definition of ‘urgent’, ‘high priority tasks’ changes with culture and region.

· Communication Issues: People communicate differently. If important issues are not brought to the notice of the team members, or are not escalated on time, the entire project may suffer. Often fear of embarrassment stops team members from reporting issues faced during execution leading to more time being spent on that task that can easily be executed additional help.

3) Customer Involvement: These issues are quite serious if customer or end users of the product are involved in the development phase. Understanding customer’s priorities, defining your expectation from their involvement needs to be clear and in agreement with both the parties.

· Expert user testing: In the beginning of the project, expert user testing cycle needs to be planned. Process of giving builds or releases for testing and collecting their feedback, analyzing and incorporating them in your product takes significant time which, if not planned, can delay your program. · Timely feedback: “I got feedback from customers for features, delivered in development milestone-1, after milestone-5 towards the release. These feedbacks are critical but now I am worried how to incorporate them without affecting the schedule.” It sounds like a common problem. Incorporation of feedback from customers needs to be planned well taking a commitment from the customer. · Product requirement specification review: Having a product requirement review planned and executed will keep you on right track throughout the project. Reviewing the requirement specification will avoid requirement related defects fixing which otherwise would have delayed, the project.

4) Ambiguous Project Requirement: For any project to be initiated, the first thing is to have requirements for it. In the product development life cycle, requirement phase acts like a foundation. Clear requirement or vision for the project navigates the team to success. However, requirements may not be clear at the time of estimation and may result in delay in the project completion. Issues related:

· Evolving specs: If you are making a product based on a standard which is not yet matured or still evolving, you are more prone to have this risk. Frequency changes in the specs will change the requirement for the project during different stages of product development and team will continue to work on something that is not yet evolved. This results in rework that would delay the project if time for dealing with these changes is not accommodated in the schedule. “We developed an algorithm and hence measurement that was based on certain industry standard. Towards the release of the product, the specs changed and our measurement was no more valid. We had to redo the algorithm to reflect the changes in the specs. This caused our product release delayed by 2 months.” · New requirements: Sometimes new requirements are added as the project evolves towards completion. Implementation of new requirements is not planned at the beginning of the project and hence is not accounted in schedule. Adding new feature without revising the schedule may result in delay.

· Untold expectation: Requirements from the customers may be of two types – implicit or explicit. It is important to have the requirements well documented. Implicit requirements needs to be better defined and documented to avoid any confusion towards the end of the project. Customers may not describe their requirements related to system performance, memory issues, user interface quality and usability but they are very keen on providing feedback in those aspects once the product is given for expert user testing. If we are not clear about such requirements, out design might not address them. Addressing them towards the end of the project may call for design changes and extra work that would delay the project.

5) Unplanned Tasks / Reworks: Bounding box for the project is set by higher management and often lack buffer for unplanned task(s). Having more of unplanned task that creep up at different phases of project can cause schedule slippage. The unplanned tasks or rework may arise due to:

· Sustaining work: In smaller organizations, some of the project team may also be responsible for sustaining / customer support of existing products. These unplanned tasks, which come on event basis, related to customer support are always of high priority. Excess or prolonged sustaining work may take resource out of the planned project causing a potential threat for schedule slippage. · Defect fixes: Defects are bad as they degrade the product quality and consume extra time/effort to fix them. It is good to have testing of the intermediate releases of the project to find and fix defects sooner in the development life cycle. If the fixing-cycle for such internal-milestone defects is not planned, then either the project is either going to slip or product is going to be of poorer quality. Poor programming skill of the team, not adapting to modern programming practices and having ad hoc development processes may lead to higher number of defects which would take more time to fix then planned and cause slippage.

· Task spillover from previous milestone: Tasks that are not completed in previous milestone, due to whatever reason (inefficiency, vacation of the team member, resource crunch etc), will have to be completed in the next milestone thereby increasing the load on the team. If adequate buffer is not planned, these tasks spilled from previous milestone over to next, can delay the project. · Requirement change / refinement: Requirement changes during the product development will result in rework of what has been previously done with first version of requirement(s). Addressing changes in the requirements needs extra time and effort and may cause schedule slippage. In some cases, the requirement from customer is misunderstood resulting in wrong system design and implementation. Additional, unplanned time is lost in correcting the design/implementation which causes schedule slippage.

Conclusion

On time delivery is the challenge software development companies are facing globally. To have a complete control over estimated schedule, it is very important to identify the elements in the development cycle that cause schedule slippage. This article uncovers and explains the root causes of delay in programs using examples from real world. Having an insight to the root causes will help the program managers to make good decisions to avoid future schedule slippage.

Posted in general | Comments Off on Schedule Slippage – Root Causes