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

Recommended Software for Arena Management

When there is a little over a month left to enter the data for a thousand plus cattle penning teams into a fickle spread sheet software program that was built by good intentioned volunteers; the last thing anyone should be doing is looking for replacement software. However, as any event/entry secretary or producer knows this is sometimes the lifeline that is needed to get the job done.

The preparation of all of the necessary data combined with balancing a three-quarter of a million dollar show in the six weeks prior to its start should have been enough to do. Throwing in a new piece of software to learn and master would be considered ludicrous to say the least. The producers deemed it to be a necessity in view of the history of inconsistencies in the program currently in use.

With a three-year old recommendation in hand and very little back ground checking, Arena Management Software became the chosen lifeline. The software was purchased, loaded onto the computers, played with for a day or so and then our team went to work. The KCI support group was there, day and night, to help with the learning curve and any snags that presented themselves. Our team quickly realized that the new user-friendly software program we had taken a chance on was going to be our ongoing choice for future events. The show was a success. The producers and contestants were happy. All was good in our world!

There have been a lot of years pass by since those short six weeks when our group became acquainted with the Arena Management Software. The program still provides a user-friendly format that has the talent to produce minimal data to realms of reports. From rodeo to cattle penning events the product continues to amaze our team with its ability to perform in and out of the arena.

Posted in general | Comments Off on Recommended Software for Arena Management

What is the Purpose of ERP Software?

Enterprise Resource Planning (ERP) software can be described as a complete business software solution. It is aimed at the integration of all business processes and sub-processes into a single unified system. This system is formulated and implemented in an organization to effectively and efficiently achieve the business goals of the organization.

ERP packages are implemented to manage the existing and prospective business plans and policies in an efficient manner under strict deadlines. It can be referred to as the ultimate business solution package that is predominantly concerned with making sure that the available resources of the organization are utilized in the best possible manner and coordinated with the business objectives of the organization.

It is crucial that modern day business organizations have a single unified system, which aims at harmonizing its business efforts. This can prove to be a crucial determinant in deciding the scope, area and net results of the organization as a whole, rather than running many different systems that don’t work well together. What makes ERP different from any other business solution package is the presence of a single and unified database system.

ERP software is as essential to the needs of a business today as food is for living. Businesses cannot run competitively in the absence of properly drafted and formulated ERP software. The more effective implementation and follow-up, the better are the results. ERP software is needed by all modern-day organizations, irrespective of the size, area of operations and business objectives.

Nowadays there are many ERP packages available in the global market, including SAP, PeopleSoft, Oracle, J D Edwards, and BAAN.

The selection of an ERP software package is dependent on many factors: previous software implementation, nature and size of operations, recommendations of consultants, and management decisions.

Before installing specialized software, a detailed study must be made and reviewed to match the business requirements with the available packages. This must be taken as a serious study as any mistake in selection or its effective implementation can prove disastrous to the organizational objectives and prospects. The ERP software must be installed by an ERP vendor or third-party consulting organization, which are expert service providers when it comes to providing Consulting, customization and support.

Some of the benefits of ERP Software:

* All processes and sub-processes are linked and unified into a single system.

* There are enhancements in the field of productivity, efficiency and achievement of business objectives.

* ERP tends to considerably reduce the response time by effectively transferring crucial information.

* ERP helps in streamlining the numerous functions performed by the organization as a whole.

* It helps the management to make vital decisions with unparalleled accuracy and in-depth study.

Thus, ERP software can effectively change the outlook of any business organization that exists in today’s cutthroat business world. Proper implementation of the ERP software is the key factor, which can benefit the growth prospects of any organization.

Posted in general | Comments Off on What is the Purpose of ERP Software?

The Advantages of Working With a Software Boutique Company

First of all, a boutique is a small shop where clients can find dedicated merchandise and unique items, or products which are produced in small quantities. The advantage of entering in such a shop, compared to big supermarkets, is that here you’ll also find staff ready to assist you and to give you guidance step by step. Indeed, one may say that a boutique charges higher prices, also in comparison to chain stores, which is definitely true. However, once you bought something from a boutique you’ll have the feeling that you own a unique item, which will differentiate you from the rest, and isn’t this what we all want – to be unique?

Software boutiques are a new way of defining petite software companies which are focused on a certain niche, and which are able to offer specialized support to their customers. Even more, such a firm is able to offer a unique product, tailored on the client’s needs and requirements. But, let’s see what advantages does a customer have when collaborating with a software boutique company:

Tailored product

A software boutique takes the client’s specifications and transforms them into a customized piece of software. Practically, if you are not satisfied by the mass-produced software programs which you can find, then a boutique company will tailor a product according to each and everyone of your requirements. The outcome will be a software product which is able to fit perfectly your company’s needs.

Niche focus

Generally, a boutique company is focused on a certain niche, for example developing applications and software products using Microsoft technologies. The advantage of having such a partner, is that you’ll have the confidence that he has the knowledge and proven experience to offer you the best advices regarding that specific area, and that he’s always updated with the latest technologies.

Crystal clear communication and dedicated support

Having a smaller amount of projects, a boutique software company can offer its clients dedicated support, according to every client’s need through a direct communication flow. This means that the information won’t need to travel through several departments until it reaches you, so that you’ll always be updated with the status and the quality of the work.

A good communication, not only that can save time, but also can make the development process more efficient. For example if you want a specific functionality for your application, collaborating with a boutique firm, you’ll able to keep track of the development process and promptly interfere in the development process if the work isn’t going in the desired direction, or if you want to change the approach. Also, fewer the clients, better the support. Practically, a software boutique will offer you their entire attention and expertise, whenever this is required.

Every client is important

For a boutique company every client is important, and because they can’t afford to lose a client, they can’t really afford to do a bad job. Every development project is treated with care, and you’ll know for sure that your project will be handled by the best men.

Posted in general | Comments Off on The Advantages of Working With a Software Boutique Company

Define Computer Hardware

It is quite well known that the working of the computer is dropped by hardware and software. One can define computer hardware as the electronic, magnetic, and electric devices that carry out the computing functions. Hardware is the physical components of the computer like microprocessor, hard disks, RAM, and motherboard. The peripheral devices such as monitor, mouse, keyboard, printer, and speakers can also be included in the list of hardware parts. The programs that run on the computers like Windows, C ++, and Photoshop are the software parts of the computer. A good example for an easy understanding of hardware-software definition is music CDs. The actual compact disk is the hardware, while the songs and music in the CD are the software parts.

There is another way to define computer hardware. Hardware devices are the executors of the commands provided by software applications. For example, let us see what happens when you click the print button of the web browsing software. The software application provides a command to the processor, which is the central part of all computer hardware. Processor in turn checks for an attached printer. If the printer is ready, the software will get a positive response from the processor. Then the software application provides instruction to the printer via the processor to print the web page. In that sense, hardware parts are the foot soldiers and software applications are the commanders in the digital operation that takes place within a computer.

The main player of computer hardware is unduly the microprocessor. It is the sun in the solar system of computer hardware devices. It is the central component and all other components work around it. It is an integrated chip on which a number of functions are incorporated. Two specifications determine its efficiency. One is its processing speed, which is measured in gigahertz. The other is its bit rate. Commonly available processors are 32 bit and 64 bit. The bit rate is a measure of the efficiency of a processor to carry out multiple operations at the same time.

One can not define computer hardware without mentioning the two types of memory used in computers. One is permanent memory. It refers to the magnetic storage capacity of hard disk. It is measured in gigabytes. The second is RAM or random access memory. This memory is able to store data only when the computer is switched on. The memory will lose all the data when the computer is switched off.

Another important product that one should mention when one defines computer hardware is motherboard. It is the electric and electronic circuit board on which all the other components are inserted. There are several other kinds of products such as sound card, video card, network card, and modem that complete the hardware spectrum.

Posted in general | Comments Off on Define Computer Hardware

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

Advantages of Antispyware Programs

Much like the antivirus programs, now a days anti spyware programs also is a must if you are browsing the net. Most of the antivirus programs provide a good job by taking care of the computer viruses. However, many of them fail to detect the spyware which gets installed onto the PC when connected to the internet. This is where Anti spyware programs comes to help. They do a good job by protecting our computers by identifying the spyware and promptly remove them.

There are so many antispyware programs are available in the market. Both in the Online as well as near to your computer retail showroom. However, you have to ensure that you buy a good Anti spyware program which fulfills the requirements what it promises. Also, make sure to check that the software works on your Operating System. Most of them work on Windows Operating system; however, there is no harm in double checking the same.

Some of the characteristics of a good antispyware program is as below.

Real time scanning

Real time scanning is the heart of these type of programs. The program once installed should reside on your system tray and should be able to do a real time scan in the background. This way it should be able to identify all kinds of threats like Adware, spyware, Trojans and the harmful key loggers.

Automatic Updates

There is no point in having an Antispyware software program which does not update the spyware definitions automatically and at periodic intervals.

Customer Support

Most of the time you will not be require to call up their helpdesk as the software will work automatically provided if the operating system is compatible and all the installation prerequisites are met. However, if you run across any installation problems or some kind of bugs customer service comes in handy.

Posted in general | Comments Off on Advantages of Antispyware Programs

The 4 Elements That Makes Up A Personal Computer System

There are 4 elements that make up a personal computer system: the user, software, hardware and the electricity all working together for the whole system. Each of these elements is essential to the system itself.

The user is the person's who perform the task using the computer system. The nature of the task depends upon the application program or software that is needed to perform the task. The software that the user used requires certain hardware components to function properly.

The hardwares of the personal computer system are made up of its equipment that are usually connected (the computer, monitor, printer and so on). It is defined as hardwares because you can physically touch these components. The programs are called softwares since their function can only be used when the computer is turn ON. Software is a set of coded instructions that the computer uses in order to carry out the user's tasks.

The user can only use the computer when it is turned ON. Without any electrical power to run through the personal computer system, it will not function. The ability of the personal computer system to control its components is through a series of on / off signals.

Here is how it works, when a user tries to type a document or a letter using his / her personal computer. The first thing the user do is to turn ON the power for the computer. Choosing a Word Processor software in order to write the document. The user uses the hardware such as the keyboard to write the content of the document; The typed document is then displayed onto the monitor screen. After the user finished writing his / her document. The user will use the software to instruct the printer to print the document. The software works together with the hardware components (the keyboard, monitor and printer) to accomplish the task that the user requested.

All of the four elements: the electrical power, hardware, software and the user work together to make up a personal computer system.

Posted in general | Comments Off on The 4 Elements That Makes Up A Personal Computer System

8 Criteria to Choose the Best Antivirus Program For Your Needs

There is no best antivirus program in general. You can make the best choice of your antivirus software depending on your goals, your needs and your environment. In order to choose your best antivirus software you should look at vendor information, independent antivirus certifying agencies reviews, as well as other sources. Here are the essential criteria for the right choice.

1. Compatibility
Antivirus program has to be compatible with your PC configuration. Your PC must meet hardware and software requirements of antivirus solution.

2. Range of Protection
Antivirus software should protect your PC from as many threats and on as many viruses as it can: viruses, worms, trojans, spyware, keyloggers, adware, rootkits, password stealers, phishing attacks, spam and others.

3. Effectiveness
Antivirus protection delivery by antivirus program should be effective and efficient. You may find and compare test results released by independent antivirus certifying agencies: Virus Bulletin, AV Comparatives, ISCA Labs, Westcoast Labs and others. If some antivirus solution was scored by these agencies high and consistently near the top, then you really can not go wrong with this top rated antivirus software.

4. Easy Installation
Good antivirus program has a prompt and easy installation. Interface should be clean, easy, and intuitive to use.

5. Easy to Use
Most users want to "install and forget" their antivirus software. So the best antivirus solution should have default configurations acceptable for most users. And at the same time good antivirus program can be easily configured and tweaked by advanced users.

6. Features
The best antivirus programs have the large features set that may include:
– list of compatible versions of Operational systems and platforms,
– amount of used system resources,
– using of proactive protection without false positives and with effective utilizing of system resources,
– availability of laptop battery saving mode,
– bootable rescue disk,
– silent gamer mode, and other available options.

A comprehensive features set adds strength to antivirus solution.

7. Update
The best security solutions have Automatic Update option and automatically perform updates every hour or "as needed updates" to keep virus definitions and program code up to date.

8. Support
The best security programs have a comprehensive online and offline technical support. The program vendor should provide online knowledge base, FAQs, tutorials, user forums. The best sellers provide 24/7 support so you can ask your questions by phone, email or chat at any moment.

The best for your needs antivirus program delivers you the best security and usability with a minimal outlay of your time, money, or your PC system resources.

Posted in general | Comments Off on 8 Criteria to Choose the Best Antivirus Program For Your Needs

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