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

Top 25 Terms All Computer Students Should Know

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15. ISP: Internet Service Provider.

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

17. MIME: Multipurpose Internet Mail Extension.

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

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

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

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

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

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

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

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

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

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

Mortgage Loan Origination Software – 10 Functions of Mortgage Banking

Regardless of a mortgage lending organizations’ size, mortgage loan software, data security solutions and automation tools and services should be able to assist with mortgage loan automation requirements. In today’s chaotic mortgage lending environment origination and document security systems need to be easily configured to emphasize a company’s special needs and increase efficiencies across all aspects of the loan origination process, allowing lenders to increase quality and productivity.

Technology-driven automation is the key to succeeding in the increasingly complex, deeply scrutinized mortgage industry. Web-based (Software-as-a-Service), Enterprise mortgage software that supports the ten primary functions in mortgage banking will provide lenders with the necessary competitive advantages to succeed in today’s mortgage industry.

Ten Primary Functions in Mortgage Banking

  1. Mortgage Web site design, implementation, and hosting to provide product, service, loan status, and company information to mortgage customers and business partners
  2. Online loan applications for gathering information from borrowers and business partners that issue loan terms, disclosures, and underwriting conditions
  3. Loan origination software for managing loan data, borrower data, property data, general status reporting, and calculations
  4. Interface systems to send and receive data from real estate service providers, such as credit reports, flood determinations, automated underwriting, fraud detection, and closing documents
  5. Internal automated underwriting system that is simple enough for originators and sophisticated enough for underwriting portfolio loan products
  6. Document generation for applications, upfront disclosures, business processes, and closing documents
  7. Integrated imaging that is used from loan origination to investor delivery and for file archiving
  8. Interest rate and fee generation along with program qualification guidelines
  9. Secondary marketing data tools to track loan revenue and investor relationships, including warehouse line management and interim servicing to complete the back-office system
  10. Reporting such as loan delivery, year-end fee reporting, and HMDA reporting for loan application disposition

Web-Based, enterprise mortgage software that supports the ten primary functions of mortgage banking simplifies compliance, maximizes operational efficiencies, and increases profitability.

Posted in general | Comments Off on Mortgage Loan Origination Software – 10 Functions of Mortgage Banking

Effective Job Numbering And Cost Code Systems

Overview

Many companies have a sequential job numbering system, but have you considered the possibility of altering the numbering sequence so you can pull reports for a certain type of project or projects by year and the informational reports that could be generated?

And, are your cost codes sufficient to cover the details you need to see in your reports? Do you lump all site related travel and subsistence into one code, or do you have the details of hotels vs. Housing and meals vs. Subsistence?

Not all software programs are sophisticated enough to allow for customized job type numbering sequences; However, even the basic job cost software systems can be adapted to allow for an advanced numbering system.

Specific Job Numbering Sequences

Advanced reporting techniques can yield a wealth of information. How jobs are numbered so ease the reporting burden so projects of a certain type and / or year can be easily excluded from the software. Samples of numbering sequences could be based on the following criteria:

· Year project was awarded

· Public vs. Private works

· Commercial vs. Residential

· Construction vs. Service

· Division (s) of the Company

If your software allows, you may start the job number with the year awarded, followed by the job type and then a sequential number. Management may request a report for gross revenue on all the commercial contractor improvement projects in 2013. If you have a numbering sequence, this would be an easy report to pull, rather than go through all your 2013 projects and manually add the numbers to obtain the Results.

The job cost master file is another good source of information if all fields are completed and there is a common usage of custom fields that can be used to pull reports.

Cost Codes – Too few or Too Many?

Often we see cost code lists that spill onto multiple pages. Most job cost software programs allow for use of one cost code for multiple categories (Labor, Materials, Direct Job Expense, etc.).

A good source to use for establishing a cost code list is the bid recap and detail sheets used when bidding projects. This will yield the different stages of labor, types of materials to install associated with that labor, the different types of equipment to be rented, categories of subcontractors and the details of direct job costs to be incurred.

These activities can be "numbered" to establish a list of cost codes. If the software allows for use of one code across multiple categories, give thought to not duplicating descriptions, but arranging codes together by "type" of work being performed, rented equipment, direct job expenses, work typically contracted out, etc.

Keeping your cost codes consistent will then allow even more sophisticated reporting – management can now ask for all commercial contractor improvement projects in 2013 and the total cost of crane rentals for the year on those specific projects.

Why Go Through These Steps?

History is a great source of information when anticipating the future. Cost details can be analyzed for specific types of jobs when preparing to bid a similar project. Historical information can be analyzed for margins on certain types of projects or a division of the company to make decisions on whether or not a certain type of work is profitable.

If fields are available in the job cost master file, reports can be declined not only by type and year but by project manager as well to look at performance and estimate vs. Actual results.

Conclusion

When developing any numbering system, consistency is important in order to maximize the reporting results. Management should determine the information they wish to see and develop job numbers and cost codes that will allow for advanced reporting not only to themselves but provide useful information to estimating, project managers and accounting as well.

Posted in general | Comments Off on Effective Job Numbering And Cost Code Systems

How to Fix an Error Accessing the System Registry Easily

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

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

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

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

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

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

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

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

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

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

What Are the Advantages of Using a Web Based Project Management System

Every project needs a large number of people for the completion of any task. Projects are of several kinds, and there capacity level is also variant. In order to help the managers control all tasks, management system was introduced. Project management system is used to make the managers feel easy. The first type of a project management system is manual.

However, nowadays much web-based project management software is available in the market. There is no need to process data manually. Everything is computerized; managers just have to enter the basic information into the system. Nowadays, lots of project managers are opting for web-based project management systems. They have access to the web-based project management software’s, and tools.

Using a web-based management system has several benefits. Project managers can reach their computers from anywhere, not only computers, but they can also contact their team members and check the progress of work. Discussing any problems that arise with the team is a lot easier. Team members can also interact with each other via e-mail.

Project scheduling is the basic solution of web-based task management plan in a large organisation. In many ways a web-based activity management plan can help your managers achieve optimum results. Whether a project is based on finance, marketing, construction, or information technology (IT), and web-based project management plan can help t.

Web-based activity management plan helps managers to make a proper scheduling plan of the project. Web-based software has many tools which help in managing time, and activities. The software includes spreadsheets, network diagrams, or Gantt charts to control the task management scheme.

In project-management scheme, HTML, ASP, or PHP are the supported languages coded into the software, and browser. The team can access it through a web browser. Moreover, main software is installed on to the server for multiple clients.

Project management scheme helps managers to supervise all the team easily. If the manager finds any team member late in the completion of the task, he/she can track the problem, and change that member, thus, avoiding any delays.. Web-based project-management-system enables the mangers to distribute the workload according to the capability of human resource (HR). In addition, he/she can monitor the performance of each person involved in the completion of a job. This web-based project management system also enables the manager to measure the achievement, and performance of the team in accordance to the strategy chalked down for completion, or achievement of the target.

Web-based project-management system keeps the human resources satisfied from the point of view that whatever performance he/she is given is being registered, and is not over looked. If, a company is using a custom-made programme, which is flexible to different projects, it remains cost effective, and is not a burden on the bottom line. For different projects, which have different dynamics, companies may need a tailor-made programme for them, This can be a little costly, but it ensures better management, proper monitoring, and timely completion of tasks, ultimately ensuring good performances. Nowadays, this web-based project software is a very important tool for the management of any project. Furthermore, using the correct project management scheme, and software, can help managers to manage their project smoothly, and effectively.

Posted in general | Comments Off on What Are the Advantages of Using a Web Based Project Management System

History and Components of a Modern Mainframe Computer

Mainframe computers are critical for some of the largest corporations in the world. Each mainframe has more than one modern processor, RAM ranging from a few megabytes to multiple-score gigabytes, and disk space and other storage beyond anything on a microcomputer. A mainframe can control multiple tasks and serve thousands of users every second without downtime.

The chief difference between mainframes and other computing systems is the level of processing that takes place. Mainframes are also different in terms of data bandwidth, organization, reliability, and control. Big organizations-banking, healthcare, insurance, and telecom companies, etc.-use mainframes for processing critical commercial data.

In this article, we discuss the evolution of mainframe computers and their components.

History of mainframe computers

IBM developed a critical part of mainframe computing, the Automatic Sequenced Controlled Calculator (ASCC) for arithmetic operations, in 1944. From the late 1950s through the 1970s, several companies manufactured mainframes: IBM, Burroughs, RCA, NCR, General Electric, and Sperry Rand, for example. Since then, System / 390 by IBM is the only kind of mainframe in use. It evolved from IBM's System / 360 in 1960.

An Early mainframe occupied a huge space. New technologies have drastically reduced the size and cost of the hardware. A current-generation mainframe can fit in a small closet.

Components of a modern mainframe computer

Like a PC, a mainframe has many components for processing data: operating system, motherboard or main board, processor, controllers, storage devices, and channels.

• Motherboard: The motherboard of a mainframe computer consists of a printed circuit that allows CPU, RAM, and other hardware components to function together through a concept called "Bus architecture". The motherboard has device slots for input cards and cable interfaces for various external devices. Where PC motherboards use 32- or 64-bit buses, mainframes use 128-bit buses. General instructions regarding the internal architecture help the motherboard connect to the other devices and retrieve data using binary computation.

• Processor: A CPU acts as the central processing point in mainframe architecture and includes an Arithmetic Logic Unit (ALU) for performing arithmetic calculations. It also works as a controller for the bus architecture and handles traffic and data requests. The processing power of mainframes is much higher compared to PCs, so that they can handle huge amounts of data.

• Storage devices: Storage devices are for entering, retrieving, storing, and recording data. Many are external devices, such as hard drives, tape drives, and punch card readers, all connected to terminals of the mainframe and controlled by the CPU. Their capacity for data storage can be hundred or even thousands of times that of a PC.

• Communication controllers: Communication controllers allow remote computers to access a mainframe. With the help of networks, LAN or WAN, communication controllers establish connections with various devices, perform data transmission over communication channels, and keep track of users at terminals.

• Channels: The "channels" are the cables used to connect the CPU and the main storage to other parts of the system and make sure that data is moved in a systematic way without losing its integrity.

Modern mainframes have advanced features such as expanded service management capabilities, cross-platform integration facilities, etc. And so are suitable for critical data center operations. The cost of maintaining modern mainframes is much less compared to older models.

Posted in general | Comments Off on History and Components of a Modern Mainframe 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

Creative Marketing Ideas For Hardware Stores

With large nationwide chains that dominate the market, small hardware stores sometimes have a difficult time being competitive. The key is to find a unique selling proposition for your business and to capitalize on it so customers see the value in choosing you over one of the larger stores. Here are some great ways to make your business stand out.

  1. Giveaways -When your store first opens (or even if you're just looking for an extra push), offer small giveaways to your customers with their purchase. These will be tools or products they can use that are branded with your store's information-hammers, tape measures, levels, etc. When a customer is using this product and runs out of something or determinates the need to visit a hardware store, they'll see your information and immediately head your way!
  2. In-Store Classes -Hardware stores often form a bit of a culture and social atmosphere, so find ways to play this up. One great choice is to sponsor training classes and educational seminars in your store. Work with your vendors to provide information that your customers will find valuable. Even your employees can instruct these classes-anything from minor home renovation products to full-scale remodeling. List the classes you're offering that month above your cash registers with a large, visible vinyl banner which clearly-informs customers of their opportunities to expand their skills.
  3. Charity Donations -Offer your products to charity groups and organizations in-town which build or repair homes for the less-fortunate. This is great PR for your business, it makes you look more-reliable, and in return you're often able to advertise at the home-site using a banner or yard sign. When customers see that you're giving back to your community, they are more-inclined to shop with you.
  4. Ladies Night -Most hardware stores predominately-market toward men. While the majority of your customers are probably male, do not neglect the ladies. Host a "Ladies Night" at your store that offers your educational classes and even a special discount on purchases made by women. Use removable window clings to give your store a slight feminine touch. There's a huge potential market here that is somewhat-untapped, and with the right approach, female customers can dramatically affect your business.
  5. Personal Shoppers -Some customers complain that hardware or home improvement stores are overwhelming. Counter this objection by providing customers with a personal shopping service. Your employees already help customers find products daily anyway, but creating a formal program provides a revenue opportunity. Customers can have one of your employees guide them around the store and help them find exactly what they need for their project, or for even-more convenience, your employee can preselect the products they need so that when the customer arrives, all they have to Do is check out.
Posted in general | Comments Off on Creative Marketing Ideas For Hardware Stores

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