Advantages and Disadvantages of Professional Shopping Cart Software

Advantages & Disadvantages of professional shopping cart software As e-Commerce is becoming a regular technique in the business industry it appears that more and more software development firms are developing professional shopping cart software to be released in the market. There is currently a huge range of free shopping cart software that has been released, and it seems that most e-Commerce website owners prefer these free systems over paid for professional shopping cart software. In this article we are going to look at the advantages and disadvantages of professional shopping cart software.

Advantages

• Even though you will have to pay for the solution, you get a cart package that has been fully developed, tested and used in the real working world by other e-Commerce websites. If the solution is used by a popular website service then the chances are it has been under more than enough testing to be deemed ready for use.

• Professional shopping cart software will be supported by the people who developed it. A lot of free solutions out there are simply developed and then discontinued as the freelance developers move onto their next project. Support is essential if you are going to want upgrades as mentioned in our next point.

• As the system is supported, the development team are likely to fix any bugs that may occur and provide patches and security fixes. This means the shopping cart software will only get better as time goes on and furthermore improve your e-Commerce website.

• Your site is likely to be more secure when using a professional software solution as in most cases the it developed house private content management systems. This improves security as public content management systems such as WordPress are constantly under threat from hackers as they try to compromise the free source code.

• Another huge advantage of using professionally developed software in e-Commerce is that they will already support a huge range of different payment options for your customers. There are various carts – that only offer PayPal for payment by standard, and it can take a very long time to find plug-ins or figure out how to add other methods yourself. With professional software you can save time and possibly money as it is all included.

Disadvantages

• Your e-Commerce venture might be a small time project and professional cart does cost money which you may not have. In this case you may have to make do with a free shopping cart solution. The good part of conducting business online is that after you have made profit with the free system you can reinvest your money to buy a professional package.

• You trust the developers to do everything they promise to ensure the best experience. It might be slightly difficult to use at first and you might have to spend some time getting used to the bespoke system. You also have to understand that you are vulnerable until patches are made if a security flaw is found.

Posted in general | Comments Off on Advantages and Disadvantages of Professional Shopping Cart Software

10 Top Reasons Why I Have to Upgrade My Computer

The rate at which technology is improving is very fast and in the time you get comfortable with the computer hardware you have bought, several new and improved models appear in the market. While some people prefer to keep their computers state of the art, most of us have a 'If it is not broken, do not fix it' attitude when it comes to upgrading or replacing our computers.

This is a strategy that could prove expensive in the long run. It is always better to upgrade your computer on a regular basis, especially if you have had it for over 2-3 years. Even if your computer has had a large trouble-free existence, you really need to consider periodic upgrades and here are the reasons why you must dos so:

1. Increase in Processing Speed ​​- This is one place where you really get to notice an improvement in performance. If you are upgrading from a Celeron 433MHz processor to a Pentium 4 1.6GHz, you would really notice the difference in performance!

2. Faster Memory Access – Improvements in CPU speed are typically accommodated by improvements in the speed at which data transfer occurs between the CPU and RAM. This is another area that provides an improvement in performance.

3. Size and Capacity improvements – Technology drives a reduction in component size coupled with an increase in storage capacity. This means that a RAM card or hard disk of the similar size as the older ones in your computer could have double the capacity!

4. Software Compatibility – Many of the new software packages you may wish to use in order to improve your productivity or entertainment experience may not function well on you old computer. It is better to upgrade your computer to enjoy the benefits of new software fully.

5. Obsolescence of Hardware – As your hardware gets older; Getting a replacement will get more difficult once manufacturers start phasing out the production. With improvement in technology, the older hardware becomes cheaper initially and becomes expensive as supply dries up.

6. Technical Support Issues – Many manufacturers stop providing technical support for older components as they cease production. The older your computer gets, the harder it is to find help in fixing it when it malfunctions.

7. Development of New Hardware – New hardware products appear in the market frequently that revolutionize your computer experience and are based on newly developed technology. The chances of your old computer supporting new devices are very low.

8. Faster Devices – Your old computer may not be in a position to accommodate the speed at which the new devices communicate.

9. New, Fast Communication Protocols – You may not be able to implement new or faster communication protocols in your old computer because the hardware is unable to support them.

10. Operating System and File Format – Your old hardware may not be able to run newer operating systems and some of the file formats may not be supported.

Posted in general | Comments Off on 10 Top Reasons Why I Have to Upgrade My Computer

Surviving Missing Futon Frame Hardware Nightmares

There seems to be quite a few of us who have owned a futon frame and ended up losing the connecting hardware at one time or another. I myself bought a futon from the retail store I worked in for a number of years back in the early 1990s when futons were all the rage. Maybe you purchased your futon in college, purchased it from a friend or maybe made the purchase for a family room. If you're lucky to live out your life in the same house or apartment there will never be a need to move your futon except except to a different room or location. Obtaining replacement futon frame hardware involves several steps approached in order to locate exactly what you need.

In the first place do not panic just yet. Without the hardware to attach everything back together you're in some serious trouble. However there are ways to obtain what you need. At this point we could explain the many benefits of using a small bag to contain the hardware and attach it to a part of the frame with heavy packing tape so it's easily found. Who am I kidding though? I've moved mine now about three times and each time I ended up missing a bolt, a barrel nut, a nylon roller here and there. Heck, I was lucky I had all the wood components show up at each new move let alone any hardware that happened to make it as well. Besides, is not moving your home stressful enough without having to keep track of a small bag of metal hardware among a sea of ​​furniture, clothing, dishes, toys and appliances?

Pursuing this further we must calmly step back and think for a moment. Yes, we're stressed out and fuming at either our spouse or the moving company for losing the futon hardware but we need to move past that now. To be sure the futon needs our help and we're the only ones who can do it at this point. It's time for us to go through the steps of obtaining replacement hardware and there is a specific order in which we do this to obtain the fastest results. I would suggest the following steps to start tracking down replacement hardware as soon as possible.

First – identify your futon frame.
Having worked retail, it's quite possibly the toughest situation when a customer comes into the store requiring assistance but can not identify the product to the salesperson or service individual when requesting parts. Granted you're going to have to do a little research by pulling your receipt when you bought the futon from the store and identify the model or name of the futon. If you inherited the futon, found it by the side of the road or bought it at a garage sale you're in for a tough road ahead. Fear not however as the internet can be used to help you find the design and attach a name to it for use in tracking down hardware. Be aware that there are dozens of manufacturers out there using different hardware in their frames including many that have since closed their doors. Hopefully the manufacturer of your frame is still around.

Second – speak to the retailer.
Of course if you purchased your futon frame through a local retail store it's time to head down there and see if they can track down the hardware for your frame. Bring your receipt. If you do not have a receipt, then bring an image of the futon frame with you. Hopefully the salesperson or service representative is knowledgeable about the products that they've carried in the past. Best case scenario, they either can provide you with the name of the manufacturer with contact information or have the parts on hand to get you back up and running. Worst case scenario the store you purchased it is out of business or if the store is still around they have no clue about the product anymore.

Third – search online.
Supposing we've hit the worse case scenario it's time to use the web to search for the manufacturer or the name of the style of futon you have. I'd suggest using Google, Bing or Yahoo and use the name adding the word futon to the search. If you were not able to locate a name you're going to have to become a very good spotter and sift through the many images of futon frames till you find one that is very close to what you have. Identify the name of the style and the manufacturer and then proceed to locate the manufacturer of the futon frame.

Fourth – speak to the manufacturer.
Assuming the retailer did not have parts but could identify the manufacturer for you then at least have something to go on. Perhaps you were able to locate your frame style through the search engines. Again, search online using the websites previously discussed using the name of the manufacturer. You'll likely get some online retail stores off of the search. Filter them out visually until you find a link for the manufacturer. Most do have websites, locate a contact phone number or email address and contact them for information on obtaining hardware. If you're unable to locate the manufacturer's website go ahead and contact one of the many futon stores that pop-up in the search results and email them with your issue and ask if they can either sell you hardware or point you in the right direction For finding the manufacturer in hopes of tracking down hardware.

Finally – the last resort.
If you were unable to determine the name of the futon frame or the name of the manufacturer you are indeed in a tight spot. At this point your options are limited to heading down to a hardware store and seeing if you can locate some generic parts that might get you back up and running. The problem will be in the way of connecting bolts and barrel nuts and getting the right lengths if available. I would suggest taking one of the wood arms and a stretcher rail with you to the store. Begin plugging in different bolts and nuts till you find a combination that connects correctly. You'll also need to track down connecting pins, washers and clips for the seat and back section as well as the four nylon rollers that most futon frames use on the back rest. If you're lucky these may still be attached to the backrest deck making your job a bit easier.

In conclusion we've discussed the issues presented with lost futon hardware and how to go about tracking down the hardware you need. Basically identify your frame through a receipt or spotting it online. Visit the retailer store you purchased it from and obtain parts through them if they are still open. If you purchased it privately or inherited the frame track down the manufacturer using a search engine of your choice and speak to them about ordering replacements. If you are not able to locate the manufacturer but have found stores online contact one of them to see if they can sell you hardware. If all else fails visit the local hardware store with your wood futon sections in hand and begin trying bolts and nuts till you find some that work. I sincerely hope you're able to obtain the needed hardware to get your futon frame back up and running. I wish you the best of luck to you and your futon.

Posted in general | Comments Off on Surviving Missing Futon Frame Hardware Nightmares

What Is The Difference Between ERP And Enterprise System?

Enterprise system and Enterprise Resource Planning System terms are similar but there is difference between an enterprise system and an ERP system. An ES or enterprise system is a large scale system which includes packages like ERP and CRM. ERP is a subset of Enterprise System or it can be said that ES is a superset of ERP. It contains a variety of solutions. ES contains applications and packaged solutions which can be directly used in an enterprise. On the other hand ERP system is the automation of the business processes and the solutions are in the form of modules which are designed according to the client’s requirements.

The functions are customized according to the client’s business environment. Enterprise system does not include architecture of other solutions whereas an ERP implementation automates systems using technical aspects. ERP system includes architectures and databases and is client server architecture. The system is server based therefore the consultant needs to be aware of the technical aspect too.

Another difference between an ES and an ERP system is that the ERP is aimed at improving the functionalities of the organization whereas the ES helps to improve the overall maintenance and accuracy. It provides for better solutions and aids in decision making. ES is difficult to implement compared to Enterprise resource planning and even the timeframe needed for implementation maybe more. The overall impact is high but so are the risks involved. If the ES is not implemented in the right manner, it can cause business failure and if implemented properly it can increase the efficiency and profits of the business organization. It is normally required when there is a big drawback in the current procedures and methodologies in the organization and need to be corrected. The company going in for enterprise system needs to be careful while choosing the software and the vendors due to the risk of failure involved.

The difference between an enterprise system and an ERP system is that ERP is mostly used for medium scale companies to big companies and ES is restricted to the big companies. There are many complex functions involved in big companies which cannot be provided solutions for alone by ERP. The role of ERP is restricted when compared to enterprise system because it does not include customer relationship or vendor management.

These applications are needed when the business process is complex and on a big scale. Therefore bigger organizations need to go with ES instead of enterprise resource planning alone. ERP is also an important system to streamline the internal processes but it does not provide for taking care of the external processes. Enterprise system takes care of the end to end business process of organization since it involves other applications also like SCM and CRM. There is quite a lot of difference between an enterprise system and an ERP and it depends on the company whether it wants to go with an ES to streamline the entire process starting from supplying, production and customer or whether he wants to go with an ERP system to streamline the internal process.

Posted in general | Comments Off on What Is The Difference Between ERP And Enterprise System?

Kitchen Design Ideas

Kitchens have so many design options that they are literally never ending. Kitchen design ideas include features such as cabinetry, tiles, counter tops, appliances, hardware and fixtures. Each feature on its own has a multitude of design options and the possible combinations are endless. Two identical kitchens with only one different feature can look like very different kitchens when finished. Because of the vast number of design options, thoroughly research what products are available on the market and get a fairly good idea what it is you are looking for.

The main feature in any kitchen is the cabinetry. It is more often than not the first thing that people notice in a kitchen. The layout of the cabinetry is unique to each kitchen. Measure the size of your kitchen and determine the types of cabinets and where you would like them placed. If you have a solid wall with no windows, doors or appliances opt for floor to ceiling cabinets full of drawers for storage. Include a broom or cleaning closet in these cupboards. Glass fronts in corner cabinets are a popular design feature. Cabinets have a wide variety of door styles. There are recessed, flat paneled and raised cabinet doors. Each of these options comes with several design choices. Once you have picked the design of your cabinets you need to decide on the stain that suits your kitchen space. Opt for lighter colored stains for smaller kitchens to keep them feeling open and spacious.

Counter tops are also an important feature in a kitchen. They too are highly visible. Counter tops should be chosen for durability as well as looks. Granite counter tops are the most popular choice today. You may also choose from engineered stone, ceramic tile, laminates, wood and stainless steel. The material and color of your counter tops should compliment your cabinetry, backslash and tiles. If your kitchen is a large room but does not have a lot of counter space you might want to consider adding an island for additional space. Not only does an island adds counter space but also storage space.

Flooring is an integral kitchen feature. Most kitchens are done with ceramic tile flooring but wood floors and laminates are growing in popularity. Many kitchens have tiled backslashes. Be sure that the tiles used in your backslash compliment the flooring. Besides the type of flooring you use, you must also pick a color of tile, wood or laminate as well as texture. Quite often a kitchen with light colored cabinetry will look best with a slightly darker floor and vice-versa. Contrast between the cabinetry and the flooring, no matter how small, creates the illusion of depth.

The kitchen design ideas listed above are just the tip of the iceberg. We have not even touched on cabinet hardware, lighting fixtures, sinks and taps, paint colors or appliances. Matching appliances are ideal in any kitchen. Stainless steel appliances are a favorite because they match just about any kitchen design. Families with small children may wish to consider black appliances since stainless steel shows fingerprints. Put as much thought into the small features as you do the larger ones. Something as simple as buying the wrong cabinet hardware can ruin the look of the completed project.

Posted in general | Comments Off on Kitchen Design Ideas

Automated Real Estate Software – The New Trend in Investing

The value of real estate has appreciated in the last few years. It also shows great potential for growth. Hence, now might be the best time to look at an investment in property. However, if you’ve spoken to someone who already has his knees deep in real estate investing, you will realize that a lot of things are easier said than done.

It requires skill and experience to scour the market for high value properties.

Then comes landing good buyers.

Finally, there’s a humongous amount of paper work to handle.

This is where real estate investing softwares might lend a hand. They automate the entire process of real estate investing. If you would like to know more about such applications, here’s a low down on some of the common features they offer.

Lead generation –

At the click of a single button you are able to find a comprehensive list of buyers and sellers scattered across the country. The information elicited includes names and mail addresses of buyers, owners of properties, the type of property (bank owned, foreclosed, low and high equity, absentee owner etc.) and amount of cash paid.

Website creation –

Every business needs a website, especially if you do not have a physical location from which operate. Not all of us know the technicalities of writing HTML codes and designing a website. The real estate softwares can help you create targeted and user-friendly websites that you can use to showcase your business.

Direct mail generator –

Marketing is the soul of a real estate business. The more you network the more leads you can generate. The direct mail generator feature helps you setup a highly productive and efficient mailing system. You can send out emails, newsletters, posters and flyers.

There are a range of pre-made email templates you can use to send out messages to your leads. Autoresponders make sure you can keep in touch with sellers and buyers even when you are not physically present to answer their queries.

This feature is a highlight feature of most real estate software given that the savings in time and money are large.

Investing tips –

This is a section that most newbies can benefit from. Most applications include a resource library with info on the basic aspects of the trade. An open community of members can also give you an opportunity to interact and build your resource with real-time knowledge about making, building and closing a deal.

Diverse user base –

Modern-day automated real estate investing software applications cater to a varied group of investors. It includes those who buy, fix and flip properties. If you are a landlord, it can increase the convenience of managing your properties including finding tenants and repairing and renovating properties between subsequent deals. There are also features that rehabbers and builders of new constructions can use.

Contracts and paperwork –

Real estate investment also means a lot of paperwork. Most applications offer tools to generate contracts. Features such as auto-fill enable you to fill personal details into letters, contracts and other property-related documents. You can sign them online, and then email or fax them free of charge.

There is one thing – you need to be realistic. Real estate softwares are tools you can use to streamline your business. You should have a real estate business to start with and some basic know-how on investing.

Posted in general | Comments Off on Automated Real Estate Software – The New Trend in Investing

7 Top Reasons Why You Need to Upgrade the Memory For Your Computer

Are you dissatisfied with the way your computer works at a snail's pace? Do you have trouble running multiple programs at a time in a multitasking Operating System like Windows? Does it take ages for your computer to run programs? Can you take a coffee break while your computer opens an icon that you double-clicked? Do games and other resource-intensive programs frequently crash on your computer? If your answer to all these questions is a YES, then you need to think about upgrading your computer.

Upgrading your computer is not a joke, as random upgrades can be quite expensive. A processor upgrade frequently involves upgrading several other components to keep in pace with changes in technology and could be one of the most expensive options. Upgrading other components like graphics card or sound card alone is also not the optimal solution as performance improvement is limited to these areas alone.

Here are some reasons why it makes sense to upgrade the memory in your computer:

1. Cost-Performance Benefit – The upgrade cost versus performance boost ratio is greatest for a memory upgrade as compared to other component upgrades.

2. Programs Run Faster – The availability of RAM can speed up programs and save significant time hitherto wasted while waiting for a response from the computer.

3. Better Multitasking – Multitasking environments like Windows highly heavily on memory to function and increasing memory can provide better performance especially with concurrent running programs.

4. Enhanced Entertainment – Gaming and streaming media applications can benefit tremendously in both performance and speed by a memory upgrade.

5. Advanced Hardware and Software – With increase in memory capacity by upgrading, newer hardware and software components that went hitherto unused due to less memory can now be used.

6. Delay Costlier Upgrades – Memory upgrades to improve performance can defer other upgrades like processor upgrade that necessitate greater expenditure through a major revamp of the computer.

7. Improvement in Data Access Speed ​​- Greater amount of RAM can improve the speed at which the processor does data access and significantly increase the speed of execution.

Posted in general | Comments Off on 7 Top Reasons Why You Need to Upgrade the Memory For Your Computer

Best Windows 7 Optimizer That Can Stabilize and Improve Your Computer Performance

A system optimizer is a software designed to maintain the performance of your computer, fix software related problems and keep your computer stable and secure. The need of a system optimizer software in Microsoft Windows7 operating system is high. This is because Windows 7 itself is unable to maintain all the mentioned aspects without the help of third-party products.

We are going to learn what exactly Windows 7 optimizer software is.

The best Windows 7 optimizer software shall include all the following features:

1. Registry Cleaner to fix the registry related issues

2. System Cleaner to clean unnecessary stuff and free-up the disk space

3. Registry Defragmenter to defrag the system registry

4. Startup Manager to control the programs running when you turn on your computer

5. Backup & Restore feature to restore unfavourable registry changes

“Registry Cleaner” to Fix the Registry Related Issues

Windows Registry is a vital component in Microsoft Windows 7. It contains information stored by your operating system and installed software. For example, the default settings, changes you made to your computer, system information, runtime data, etc. are stored.

Registry Cleaner is a software that finds the junk entries in the registry, and repairs them as far as possible. Unfortunately, Windows 7 does not include a built-in registry cleaner. The registry cleaner software included in the best Windows 7 optimizer lets you scan the genuine registry problems and correct them. It thereby helps avoiding many runtime errors and problems, such as, File Not Found, etc.

“System Cleaner” to Clean Unnecessary Stuff and Free-Up the Disk Space

A System Cleaner software lets you find the files and stuff that have unnecessarily occupied the hard disk space.

The tasks, like installing a program, uninstalling, repairing or updating the existing programs, and even just running the installed programs many times create temporary files, log files that need not be kept after the corresponding operation is performed. Sadly, many programs do not itself delete such files and stuff and thus your hard disk space is used for such unproductive stuff. Using a system cleaner software included in best Windows 7 optimizer, you can easily and safely delete such temporary stuff.

“Registry Defragmenter” to Defrag the System Registry

You know the importance of the registry in Windows 7 operating system, as already discussed. The continuous access of a number of programs to the registry results in its fragmentation. It reduces the system performance and freezes your computer.

The best Windows 7 optimizer software includes a registry defragmenter that enables analyzing the registry fragmentation and afterwards defrags it. A reboot is required to perform this process and all other running programs and services must be terminated.

“Startup Manager” to Control the Programs when you Turn on your Computer

Running too many programs at the Windows startup, results in system freezing and slow performance. A Startup Manager, included in best Windows 7 optimizer, lets you monitor and control the programs that run each time your computer is started. It lets you disable or delete the unwanted program entries and enable only those who are necessary.

Backup & Restore Feature to Restore the Unfavourable Registry

While doing all the above steps, care must be taken that you have followed some precautionary measures first, so that any unfavourable registry change can be later restored and unwilling situations can be easily avoided. The best Windows 7 optimizer should include such a feature.

Best Windows 7 Optimizer Recommended by Worldwide Experts

Posted in general | Comments Off on Best Windows 7 Optimizer That Can Stabilize and Improve Your Computer Performance

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

3 Main Causes of Kernel Errors

A kernel error is a failure in some code critical to Windows. If you have ever encountered a Blue Screen of Death (BSoD), then you have seen a kernel error. Windows is actually several layers of programs made to work together. You can think of Windows as if it were your body, with many pieces working together to make a whole, and, like your body, some parts of Windows are more important than others.

The kernel is the most important part of Windows. It includes critical programs to handle things like memory management and device drivers for the graphics card. These programs are like a body's heart and brain. If something in the kernel crashes, it will often cause all of Windows to crash.

Software Failures

Because there are a lot of programs in the kernel, there are many opportunities for bugs to appear. Although Microsoft does extensive testing to get rid of bugs, their testing facilities can not run through all the combinations that billions of computers use with Windows when some bugs get through.

However, many of the kernel failures are in device drivers written by companies that make hardware, not by Microsoft. Your graphics card, for example, probably uses a driver created by the video company. These companies often work with Microsoft to test their drivers, but having companies working together adds an additional layer of complexity.

Hardware Failures

A hardware failure can cause a kernel error. If your graphics card fails, it can send bad data to the graphics device driver, which then crashes, creating a kernel error. If your hard disk fails, it can corrupt files used by Windows and cause the programs that use those files to crash.

Registry Failures

Registry failures can cause kernel errors. The registry is a database of information that Windows uses to store information about programs. If the registry gets corrupt, the programs that use it can cause kernel errors.

Registry corruption can come from either software or hardware failures. Software corruption can come from a bug in one of the programs that writes information out to the registry. Or if you turn off your computer without doing a complete shutdown, the registry files may not get completely written to the disk. Hardware corruption can happen when the hard disk fails causing parts of the registry files to be lost. It's a good idea to do some research on kernel errors and other registry issues.

Posted in general | Comments Off on 3 Main Causes of Kernel Errors