The Leading Gaming PC Cases Are Essential To Help Protect and Power Your Extreme Gaming Hardware

Gaming PC Cases come in a variety of shapes and sizes. From rack mount to ATX tower casing, you can find one that best suits your gaming needs. Many games are played by as many 15-24 users and such games require the power of hardware to control both the graphics and many millions of instructions to the CPU with great speed. Custom Gaming PCs are the current rave with game lovers who strive for a better playing experience, adding more hardware.

With a large variety of casing, it is confusing to choose the right one. A good PC Case for gaming is one that has ample space to add more fans and USB ports. Heating is the main problem that slows down the PC and in some instances can damage it. Looks also matter a lot, an attractive and next-gen look, makes for a better playing experience.

All gaming PC cases come with microphones and headphone sockets, while the more advanced ones have fan controllers. New game players can do with two fans while some want to get additional fans to keep the PC from heating up. More advanced users utilize much of CPU power, and need more cooling.

When you are ready to buy a case, first look at the price options, compare various makes and models and see where you can save money and get the same functionality. The most accommodating case is considered the best. It will allow for more fans, and offers ample space for advanced graphic cards. Check to see, if the case can allow more than 4 fans and has at least two USB ports.

Some cases come with 4 USB ports and have space for up to six fans. If you are an advanced level player, you may want to consider one that has a fan speed controller, so you can monitor the cooling easily. Further up the ladder, there are cases that come with space for as many as 12 hard drives. Such a case, can take any kind of mother board you want to use.

The ATX are more popular these days and are like the industry standard. ATX form-factor allows for better air passage so all components can stay cool. It uses less cable, generates less heat and is more affordable. The expansion slots are easily accessible making it easy for users to add more graphic cards.

Looks wise, a clear panel looks attractive and spices up the computer using LEDs. There are also cases with bright graphics, and a modish look to add to the adventure. It all depends on your game choice, if you like a good thrill considering Gaming PC Cases that will add excitement to game time.

Posted in general | Comments Off on The Leading Gaming PC Cases Are Essential To Help Protect and Power Your Extreme Gaming Hardware

Corel DRAW – Best Desktop Publishing Software

Corel DRAW is a supreme supplier of graphics software, including the popular Corel DRAW program. Corel DRAW has tools that allow the user to both create and edit images. The type of desktop publishing tools that you use will depend on the type of project. For more information and assistance, use the Corel website.

Corel DRAW is the best Desktop publishing software that empowers users to create illustrations containing graphics, text and photographs. Corel has an extensive range of tools which enable the user to edit any shape or character with ease and precision, fit text to curves and create custom color separations. It is developed and marketed by Corporation of Ottawa. This tool can open files: Adobe PageMaker, Microsoft Publisher and Word, and other programs can print documents to Adobe PDF using the Writer printer driver, which such software can then open and edit every aspect of the original layout and design.

Several innovations to vector-based illustration originated with Corel: a node-edit tool that operates differently on different objects, fit text-to-path, stroke-before-fill, quick fill/stroke color selection palettes, perspective projections, mesh fills and complex gradient fills.

One of this software’s many strengths is the huge range of over 1,000 fonts that it comes with, provided in both TrueType and Postscript Type 1 format. Corel differentiates itself from its opponent in a number of ways: The first is its positioning as a graphics suite, rather than just a vector graphics program. A full range of editing tools allow the user to adjust contrast, color balance, change the format from RGB to CMYK, add special effects such as vignettes and special borders to bitmaps. Bitmaps can also be edited more extensively using Corel PhotoPaint, opening the bitmap directly from Corel and returning to the program after saving. It also allows a laser to cut out any drawings.

Expert believed it was the first of the Windows-based drawing programs and has built on this early start to become far-and-away the dominant drawing package on the PC. Its biggest strength – and its biggest potential limitation – is its all-encompassing approach. In the past this has led to accusations of unfocused bloating, but with version 7.0 Corel has addressed the criticisms with a far tighter and better rationalized program. Even so, there’s a huge range of functionality to cover.

Corel DRAW Download was originally developed for Microsoft Windows and currently runs on Windows XP, Windows Vista, and Windows 7. The current version, X5, was released on 23 February 2010.

Posted in general | Comments Off on Corel DRAW – Best Desktop Publishing Software

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

Choosing the Right SDLC For Your Project

Choosing the right SDLC (Software Development Lifecycle) methodology for your project is as important to the success of the project as the implementation of any project management best practices. Choose the wrong software methodology and you will add time to the development cycle. Adding extra time to the development cycle will increase your budget and very likely prevent you from delivering the project on time.

Choosing the wrong methodology can also hamper your effective management of the project and may also interfere with the delivery of some of the project’s goals and objectives. Software development methodologies are another tool in the development shop’s tool inventory, much like your project management best practices are tools in your project manager’s tool kit. You wouldn’t choose a chainsaw to finish the edges on your kitchen cabinet doors because you know you wouldn’t get the results you want. Choose your software methodology carefully to avoid spoiling your project results.

I realize that not every project manager can choose the software methodology they will use on every project. Your organization may have invested heavily in the software methodology and supporting tools used to develop their software. There’s not much you can do in this case. Your organization won’t look favorably on a request to cast aside a methodology and tools they’ve spent thousands of dollars on because you recommend a different methodology for your project. We’ll give you some tips on how to tailor some of the methodologies to better fit with your project requirements later in this article. In the meantime, before your organization invests in software development methodologies you, or your PMO, ought to be consulted so that at least a majority of projects are benefited from a good fit.

This article won’t cover every SDLC out there but we will attempt to cover the most popular ones.

Scrum

Scrum is a name rather than an acronym (which is why I haven’t capitalized the letters), although some users have created acronyms, and is commonly used together with agile software development. Scrum is typically chosen because of its iterative nature and its ability to deliver working software quickly. It is chosen to develop new products for those reasons. There is typically no role for a project manager in this methodology, the 3 key roles are: the scrum master (replacing the project manager), the product owner, and the team who design and build the system. There is only one role that you would be asked to play if your organization is committed to using this methodology, scrum master. If you should determine that this would actually be the best methodology for your project, you’ll have to re-examine your role as project manager. You can either identify a suitable scrum master and return to the bench, or fill the role of scrum master.

Scrum suits software development projects where its important for the project to deliver working software quickly. Scrum is an iterative methodology and uses cycles called sprints, to build a working system. Requirements are captured in a “backlog” and a set of requirements is chosen with the help of the product manager. Requirements are chosen based on 2 criteria: the requirement takes priority over others left in the backlog and the set of requirements chosen will build a functioning system.

During the sprint, which can last from 2 to 4 weeks maximum, no changes can be made to the requirements in the sprint. This is one of the reasons that a project manager isn’t necessary for this methodology. There is no need for requirements management because no changes are allowed to the requirements under development. All changes must occur in the requirements set in the backlog.

Scrum will be suitable for software development projects where the product is a new software product. By new I mean that it is new to the organization undertaking the project, not in general. The methodology was developed to address a need for a method to build software when its necessary to learn on the fly, not all requirements are known to the organization and the focus is on delivering a working prototype quickly to demonstrate capabilities. You need to be careful when choosing requirements to deliver in each sprint to ensure that the set developed builds a software system that is capable of demonstrating the feature set supporting the requirements included.

You also need to ensure that these requirements are well known and understood as no changes are allowed once the sprint starts. This means that any changes to the requirements must come through a new set of requirements in the backlog making changes to these requirements very expensive.

This methodology divides stakeholders into 2 groups: pigs and chickens. The inventors of this methodology chose this analogy based on the story of the pig and the chicken – it goes something like this. A pig and a chicken were walking down the road one morning and happened to notice some poor children who looked like they hadn’t eaten for days. The compassionate chicken said to the pig: “Why don’t we make those children a breakfast of ham and eggs?” The pig said: “I’m not happy with your suggestion. You’re just involved in making the breakfast, I’m totally committed!” The point to this is the product owner, scrum master, and team are all in the “pig” group. All others are in the “chicken” group. You will be in the “chicken” group if you choose the Scrum methodology as a project manager.

Waterfall

Waterfall methodology calls for each phase of the development cycle to be repeated once only. Requirements will be gathered and translated into functional specifications once, functional specifications will be translated to design once, designs will be built into software components once and the components will be tested once. The advantage of this methodology is its focus. You can concentrate the effort of all your analysts on producing functional specifications during one period rather than have the effort dispersed throughout the entire project. Focusing your resources in this way also reduces the window during which resources will be required. Programmers will not be engaged until all the functional specifications have been written and approved.

The disadvantage of this approach is its inability to teach the project team anything during the project. A key difference between the waterfall approach and an iterative methodology, such as Scrum or RUP, is the opportunity to learn lessons from the current iteration which will improve the team’s effectiveness with the next iteration. The waterfall methodology is an ideal methodology to use when the project team has built software systems very similar to the one your project is to deliver and has nothing to learn from development that would improve their performance. A good example of a project which would benefit from the waterfall methodology is a project to add functionality to a system the project team built in the not too distant past. Another example of an environment that is well suited to the waterfall methodology is a program to maintain a software system where a project is scheduled for specific periods to enhance the system. For example, an order and configuration software system which is enhanced every 4 months.

The waterfall methodology does not lend itself particularly well to projects where the requirements are not clearly understood at the outset. Iterative approaches allow the product owners or user community to examine the result of building a sub-set of requirements. Exercising the sub-set of requirements in the iteration’s build may cause the product owners or user community to re-examine those requirements or requirements to be built. You won’t have that opportunity with the waterfall method so you need to be certain of your requirements before you begin the build phase. Interpreting requirements into functionality is not the only aspect of development that can benefit from an iterative approach. Designing the system and building it can also benefit from doing these activities iteratively. You should use the waterfall method when your team is familiar with the system being developed and the tools used to develop it. You should avoid using it when developing a system for the first time or using a completely new set of tools to develop the system.

RUP

The Rational Unified Process, or RUP, combines an iterative approach with use cases to govern system development. RUP is a methodology supported by IBM and IBM provides tools (e.g. Rational Rose) that support the methodology. RUP divides the project into 4 phases:

1. Inception phase – produces requirements, business case, and high level use cases

2.Elaboration phase – produces refined use cases, architecture, a refined risk list, a refined business case, and a project plan

3. Construction phase – produces the system

4. Transition phase – transitions the system from development to production

RUP also defines 9 disciplines: 6 engineering disciplines, and 3 supporting disciplines: Configuration and Change Management, Project Management, and environment so is intended to work hand in hand with project management best practices.

Iteration is not limited to a specific project phase – it may even be used to govern the inception phase, but is most applicable to the construction phase. The project manager is responsible for an overall project plan which defines the deliverables for each phase, and a detailed iteration plan which manages the deliverables and tasks belonging to each phase. The purpose of the iterations is to better identify risks and mitigate them.

RUP is essentially a cross between Scrum and waterfall in that it only applies an iterative approach to project phases where the most benefit can be derived from it. RUP also emphasizes the architecture of the system being built. The strengths of RUP are its adaptability to different types of projects. You could simulate some of the aspects of a Scrum method by making all 4 phases iterative, or you could simulate the waterfall method by choosing to avoid iterations altogether. RUP will be especially useful to you when you have some familiarity with the technology but need the help of Use Cases to help clarify your requirements. Use Cases can be combined with storyboarding when you are developing a software system with a user interface to simulate the interaction between the user and the system. Avoid using RUP where your team is very familiar with the technology and the system being developed and your product owners and users don’t need use cases to help clarify their requirements.

RUP is one of those methodologies that your organization is very likely to have invested heavily in. If that’s your situation, you probably don’t have the authority to select another methodology but you can tailor RUP to suit your project. Use iterations to eliminate risks and unknowns that stem from your team’s unfamiliarity with the technology or the system, or eliminate iterations where you would otherwise use the waterfall method.

JAD

Joint Application Development, or JAD, is another methodology developed by IBM. It’s main focus is on the capture and interpretation of requirements but can be used to manage that phase in other methodologies such as waterfall. JAD gathers participants in a room to articulate and clarify requirements for the system. The project manager is required for the workshop to provide background information on the project’s goals, objectives, and system requirements. The workshop also requires a facilitator, a scribe to capture requirements, participants who contribute requirements, and members of the development team whose purpose is to observe.

JAD can be used to quickly clarify and refine requirements because all the players are gathered in one room. Your developers can avert misunderstandings or ambiguities in requirements by questioning the participants. This method can be used with just about any software methodology. Avoid using it where the organization’s needs are not clearly understood or on large, complex projects.

RAD

RAD is an acronym for Rapid Application Development uses an iterative approach and prototyping to speed application development. Prototyping begins by building the data models and business process models that will define the software application. The prototypes are used to verify and refine the business and data models in an iterative cycle until a data model and software design are refined enough to begin construction.

The purpose of RAD is to enable development teams to create and deploy software systems in a relatively short period of time. It does this in part by replacing the traditional methods of requirements gathering, analysis, and design with prototyping and modeling, the prototyping and modeling allow the team to prove the application components faster than traditional methods such as waterfall. The advantage of this method is it facilitates rapid development by eliminating design overhead. It’s disadvantage is that in eliminating design overhead it also eliminates much of the safety net which prevents requirements from being improperly interpreted or missed altogether.

RAD is suitable for projects where the requirements are fairly well known in advance and the data is either an industry or business standard, or already in existence in the organization. It is also suitable for a small development team, or a project where the system can be broken down into individual applications that require small teams. RAD is not suitable for large, complex projects or projects where the requirements are not well understood.

LSD

Lean Software Development, or LSD, applies the principles of waste reduction from the manufacturing world to the business of developing software. The goal of LSD is to produce software in 1/3 the time, on 1/3 the budget, and with 1/3 the defects of comparable methods. Lean does this by applying 7 principles to the endeavor of software development:

1. Eliminate waste

2. Amplify Learning (both technical and business)

3. Decide on requirements as late as possible

4. Deliver as fast as possible

5. Empower the team

6. Build integrity

7. See the whole

Although Lean Manufacturing has been around for some time, its application to the process of developing software is relatively new so I wouldn’t call it a mature process.

LSD would be a suitable method to use where you have a subject matter expert in the method who has some practical experience in applying lean methods to a software development project. “Amplified” learning implies that your development team has a depth of knowledge in the software tools provided, and also a breadth of knowledge that includes an understanding of the business needs of the client. LSD would be suitable for a project where the development team has these attributes.

LSD depends on a quick turnaround and the late finalization of requirements to eliminate the majority of change requests, so will not be suitable for a project where a delayed finalization of requirements will have a poor chance of eliminating change requests, or the size and complexity of the system being developed would prevent a quick turnaround.

Extreme Programming (XP)

Extreme programming places emphasis on an ability to accommodate changes to requirements throughout the development cycle and testing so that the code produced is of a high degree of quality and has a low failure rate in the field. XP requires the developers to write concise, clear, and simple code to solve problems. This code is then thoroughly tested by unit tests to ensure that the code works exactly as the programmer intends and acceptance tests to ensure that the code meets the customer’s needs. These tests are accumulated so that all new code passes through them and the chances for a failure in the field are reduced.

XP requires the development team to listen carefully to the needs and requirements of the customer. Ambiguities will be clarified by asking questions and providing feedback to the customer which clarifies the requirements. This ability implies a certain degree of familiarity with the customer’s business; the team will be less likely to understand the customer’s needs if they don’t understand their business.

The intent of XP is to enhance coding, testing, and listening to the point where there is less dependency on design. At some point it is expected that the system will become sufficiently complex so that it needs a design. The intent of the design is not to ensure that the coding will be tight, but that the various components will fit together and function smoothly.

XP would be a suitable software development method where the development team is knowledgeable about the customers business and have the tools to conduct the level of testing required for this method. Tools would include automated unit testing and reporting tools, issue capture and tracking tools, and multiple test platforms. Developers who are also business analysts and can translate a requirement directly to code are a necessity because design is more architectural than detail. This skill is also required as developers implement changes directly into the software.

XP won’t be suitable where the development team does not possess business analysis experience and where testing is done by a quality assurance team rather than by the development team. The method can work for large complex projects as well as simple smaller ones.

There is no law that states you must choose one or the other of these methodologies for your software project. The list I’ve given you here is not a totally comprehensive list and some methodologies don’t appear on it (e.g. Agile) so if you feel that there is some other methodology that will better suit your project, run with it. You should also look at combining some of the features of each of these methods to custom make a methodology for your project. For example, the desire to eliminate waste from the process of developing software is applicable to any method you choose and there is likely waste that could be eliminated in any development shop.

Be careful to choose a methodology that is a good fit for your team, stakeholders, and customer as well as your project. Bringing in a new development methodology that your team will struggle to learn at the same time they are trying to meet tight deadlines is not a good idea. On the other hand, if you have the latitude you may want to begin learning a new method with your project.

Posted in general | Comments Off on Choosing the Right SDLC For Your Project

Website Design – Hardware and Software Tools You May Need

Before you get started with your new website or editing your current site, you need to consider which hardware and software tools you may need to support your efforts.

When it comes to hardware needed this can be very simple or reasonably complex depending on your particular needs. Of course, if you plan to create a new website (or even view your new website later) you need a computer. Simple enough, right? Not necessarily. We prefer to work with Apple Macintosh (OSX Leopard on MacBook Pro) as we do a lot of intensive graphics work and have previously invested in Adobe Creative Suite software (Photoshop, InDesign, Flash, Dreamweaver, etc.). It is just as easy to create your new website using your Windows PC but we would suggest you stay away from using Windows Vista (any version) and migrate to Windows 7 or stick with Windows XP. These operating systems are just much more stable and reliable.

Another consideration for hardware should be some sort of backup hard drive or removable USB memory stick(s). It is important that you back up all of your website data to a removable drive in the event your computer crashes, is broken or is stolen. When you create website files, most of your data will be stored on the website hosting servers but, in many cases, you will have many other “builder files” that usually never make it to the hosting servers. If you lose this data you will be forced to start from scratch in many cases. Another piece of hardware that many forget about is a HD Video Camcorder. If you plan to include video on your site, you should be investing in something half decent; you can normally pick up a good video camera that also captures “still photos” for under $500.00.

When it comes to software needed, this can be somewhat more complicated, again depending on what your website design goals are. At the very least, you will need some sort of text editing software, FTP (file transfer software), graphics creation software and then a variety of other tools as you progress.

Here are some of the most common subjects you should consider when planning the design of your website product.

COMPUTER

Do you currently have a computer that can process large files (i.e. – video files) quickly and efficiently?

WEBSITE SERVER

Are you planning to host your own website portal? If so, do you know what type of hardware and server software you will need?

BACKUP HARD DRIVE or USB STICK

Do you currently have some sort of backup hard drive equipment or plan?

VIDEO CAMERA

Will you be creating custom videos for your website and, if so, do you have a HD video camera ready to go?

MOBILE WEB DEVICES

Are you planning to make your website “mobile web friendly”? If so, do you have an iPhone and an iPad? Android phone? Blackberry device? These will be needed for testing purposes!

WEBSITE CREATION SOFTWARE

Do you have any website creation software (i.e. – Adobe Dreamweaver or Microsoft Front Page) installed, licensed and ready to use?

GRAPHICS EDITING SOFTWARE

Are you planning to create your own website graphics or edit pictures? Do you have the necessary software (i.e. – Adobe Photoshop or Photo Studio)?

DATABASES

Are you planning on creating a database for your website and, if so, do you know which software to use for this purpose?

Posted in general | Comments Off on Website Design – Hardware and Software Tools You May Need

How to Resolve “Memory Card Error” From Canon IXUS 130

Canon IXUS 130 is a sophisticated digital camera that has a resolution of 14.1 megapixels. The camera is inbuilt with almost all advanced features, including fully wide-angle 4x zoom lens and motion blur technology. The IXUS camera is compatible with SDHC (Secure Digital High Capacity) and SDXC (Secure Digital Extreme Capacity) cards, with storage capacity as high as 2TB.

Since the storage memory of the cards is huge, data loss from these cards is simultaneously huge. One of the main reasons for data loss from cards is corruption of these cards. In most cases, you receive an error message after your card gets corrupted. However, an updated backup allows you to overcome card corruption. It allows you to restore data. But in case of unavailability of backup, you can use recovery software to recover data from a corrupted card.

As a practical case, you view the below error message on Canon IXUS 130 while attempting to view some previously stored photos on your SDHC card:

“Memory Card Error”

Every single photo saved in the memory card becomes inaccessible after the above error message appears. In addition, no more photo can be saved on card. In short, the card can not be read or written upon.

Cause:

The above error message that makes all the photos inaccessible is primarily caused due to corruption of card. Few reasons that are accountable for the above error message are virus infection, interrupted read/write operation, and human errors.

Resolution:

The resolution for the above error message is formatting of memory card in the camera itself. The process deletes all the previously saved data and allows you to save new data. While formatting proves a good resolution for users who do not require the old data, it becomes fatal for users, like photographers, detective agents, etc, who save critical data in their memory card. However, recovering formatted data now-a-days is an easy process. To do so, you need to use an advanced third-party Photo Recovery Software. A Image Recovery tool is readily available on the Internet by just one single click.

Posted in general | Comments Off on How to Resolve “Memory Card Error” From Canon IXUS 130

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

The Advantages of Having Personal Productivity Software

Personal productivity software is an application that no business should be without. This is because of the simple fact that this piece of software makes a great contribution when it comes to ensuring productivity in the workplace. But if you are not too convinced about the importance of purchasing personal productivity software just yet, well, this is actually normal. A lot of business men do become wary when presented with the notion of purchasing such software because computer software is a bit pricey in the market right now. However, when presented with the many benefits businesses enjoy with these software applications, the activity of convincing businessmen becomes very, very easy to do.

So, why exactly do you need personal productivity software in running your business? First of all, this piece of software can give any type and size business the professional touch it needs. The software comes with applications and programs that make it very easy for you to produce professional looking letterheads, marketing reports, brochures, mailing campaigns, and the like. Even the simple act of developing professional looking paychecks is easily done with the use of such software as well. And this is just one of the minor benefits that come with such software!

When you get the basic package, you actually get a word processor, a spreadsheet application, presentation software, and the like. For a more cost-efficient option, you could consider getting one of those suites that contain a number of these tools. This way, you are sure to get more value for your money. Some examples of these suites include Microsoft Office, Sun Staroffice 8, Microsoft Works, or Corel WordPerfect Office. An interesting fact about Microsoft Works is that it actually comes free with personal computers. Aside from these suites, you can also choose to get supplementary software packages that can make your whole life easier.

One of the popular software packages includes QuickBooks. This choice is popular because it is known to be very efficient in handling and managing inventory and business finances, such as payroll and benefits packages. Now, with all these abilities, you have to be sure to allot a hefty budget for your suite of tool and the additional applications and programs you would be getting. The typical price for suites and the individual applications range from a hundred to five hundred dollars. So, if your PC is meant for more than just doing the regular email and the basics on word processing, then you should consider this option thoroughly.

You may also be worried about the hidden and recurring fees that might come with having personal productivity software installed in your system. Yes, they do come with long term costs, but these are just minimal when you compare them to the benefits you would come to enjoy with the software. An upgrade would occasionally be needed, especially after a few years or so with your own application suite. Plus, your business should be growing in a few years, right? Thus, it would make much sense to avail of this upgrade, to foster improvement for your company in the business setting. Do not worry too much about upgrade expenses because they would definitely be lower than that of the original purchase.

Posted in general | Comments Off on The Advantages of Having Personal Productivity Software

Advantages and Disadvantages of Biometric Time and Attendance Software

First of all let me ask you what you understand by time and attendance software? Have you ever been asked to log in as soon as you enter office and the main gate of the office has a Biometric machine that takes in your finger prints and allows you to enter the office premise? Yes, these are the time and attendance software being installed in a company.

Biometrics consists of methods for uniquely identifying a person (human being) by his/her physical or behavioral traits. There are many biometric software available in market for such purpose and their use is widely known. One such use is Biometric time and attendance management software.

Those days are gone when we had to punch in cards or sign into a register to tell the other person that we are present. Just as paper checking has been changed from manual to computerized, identifying a person and letting him in your office has been changed from manual to biometrics.

There are many benefits of having such methodology in your office. Such as:

• Accurate timing: When a person looks at his watch and enters the time there is a slight chance that he may see the wrong timing and write. Whereas with biometric time and attendance software there is no possibility of such mistake. The user does not need to see or check the time, it automatically gets logged in.

• Less error: There is no scope of human error here.

• Profit to company: If it’s accurate and correct the company will definitely gain from it.

As everything has a good and bad side this too has its disadvantages, such as:

• Extra cost to company: Biometric software and machine cost a lot more, so installing such software need a good investment money wise.

• Extra management: Remember when every employee is logging his own timing when he comes or leaves; there is no extra management here. But, if you are putting a machine there has to be taken some care of it.

Biometrics time and management software is really helpful when creating payrolls for employees. Once a definite timing has been registered you don’t need to think twice before creating the employees pay.

Many homes are also using such kind of software to have a safe and secure home. Biometric software is really helpful when you need security in your home as well as in office. There are many companies all over the world providing such biometric time and attendance software. You just need to keep an eye on the technologies and websites that are providing you these.

Posted in general | Comments Off on Advantages and Disadvantages of Biometric Time and Attendance Software

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