Computer Viruses Problems and Solutions

We all are now aware with the term Computer Viruses

Let’s understand this simple definition: Computer Viruses can be considered as small software application which tends to take control over computer operation. The computer virus may delete contents from the hard disk and even take a ride on e-mail programs to become pandemic. Computer viruses be in various formats like in form of images, audio or video files. They may spread while downloading files from the Internet. Sometimes they may be purchased along with the pirated software too.

Let’s concentrate on symptoms of Viruses

There can be difficulty in accessing any disk or drive. The system might be running slow. Sometimes it may freeze. You may see distorted menus and dialog boxes. Any program may disappear on its own without any action. Sometimes you may see some new icons on the desktop. Application will not be running smooth. You may get error of any system file missing. Your windows may restart automatically sometimes. If you see this kind of symptoms on your system, then install any latest version of anti virus which you think compatible with the Operating System you have. Scan your system for the Computer Viruses. Even in severe condition you may need to format your system completely.

Let’s see what we can do to remove a Virus

You need to apply a Computer Viruses removal tools for the purpose. Sometimes you may find specific problems which are associated with some unwanted software programs which carries Computer Viruses You may get those viruses again in your system after uninstalling those programs. So you should be very much smart while choosing for the Tools for Computer Viruses removal.

To remove virus, follow these steps

1. Visit the Microsoft website to get latest updates from Microsoft Updates.

2. Perform regular scanning of your system with any updated Anti- Virus.

3. Download, install, and then run the Microsoft Malicious Software Removal Tool to remove Computer Viruses the system.

Preventive measure for Computer Virus

Its highly recommended you to keep your Operating systems updated. If you are not online don’t forget to check for Windows updates frequently. This is important because the Virus creator always tries to make use of any void in your Operating System to install their software Computer Viruses. If you are online user then make sure that your web browser is also an updated one. Try to use the most compatible and latest of the Web browser may be from any one like IE, Firefox, Opera or anyone else, because the Virus writer always tries to find mistakes in your browser.

Posted in general | Comments Off on Computer Viruses Problems and Solutions

Automated Real Estate Software – The New Trend in Investing

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

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

Then comes landing good buyers.

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

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

Lead generation –

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

Website creation –

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

Direct mail generator –

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

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

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

Investing tips –

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

Diverse user base –

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

Contracts and paperwork –

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

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

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

Application Software in Business Activities

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

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

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

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

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

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

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

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

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

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

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

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

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

10 Top Reasons Why I Have to Upgrade My Computer

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

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

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

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

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

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

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

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

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

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

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

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

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

Advantages of Antispyware Programs

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

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

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

Real time scanning

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

Automatic Updates

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

Customer Support

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

Posted in general | Comments Off on Advantages of Antispyware Programs

The Importance Of Excel In The Workplace

Excel is perhaps the most important computer software program used in the workplace today. That’s why so many workers and prospective employees are required to learn Excel in order to enter or remain in the workplace.

From the viewpoint of the employer, particularly those in the field of information systems, the use of Excel as an end-user computing tool is essential. Not only are many business professionals using Excel to perform everyday functional tasks in the workplace, an increasing number of employers rely on Excel for decision support.

In general, Excel dominates the spreadsheet product industry with a market share estimated at 90 percent. Excel 2007 has the capacity for spreadsheets of up to a million rows by 16,000 columns, enabling the user to import and work with massive amounts of data and achieve faster calculation performance than ever before.

Outside the workplace, Excel is in broad use for everyday problem solving.

Let’s say you have a home office. You can use Excel to calculate sales tax on a purchase, calculate the cost of a trip by car, create a temperature converter, calculate the price of pizza per square inch and do analysis of inputted data. You can track your debt, income and assets, determine your debt to income ratio, calculate your net worth, and use this information to prepare for the process of applying for a mortgage on a new house. The personal uses for Excel are almost as endless as the business uses for this software – and an Excel tutorial delves into the practical uses of the program for personal and business use.

The use of spreadsheets on computers is not new. Spreadsheets, in electronic form, have been in existence since before the introduction of the personal computer. Forerunners to Excel and Lotus 1-2-3 were packages such as VisiCalc, developed and modeled on the accountant’s financial ledger. Since 1987, spreadsheet programs have been impacting the business world. Along the way, computerized spreadsheets have become a pervasive and increasingly effective tool for comparative data analysis throughout the world.

Today, end users employ Excel to create and modify spreadsheets as well as to author web pages with links and complex formatting specifications. They create macros and scripts. While some of these programs are small, one-shot calculations, many are much more critical and affect significant financial decisions and business transactions.

Widely used by businesses, service agencies, volunteer groups, private sector organizations, scientists, students, educators, trainers, researchers, journalists, accountants and others, Microsoft Excel has become a staple of end users and business professionals.

The beauty of Excel is that it can be used as a receiver of workplace or business data, or as a calculator, a decision support tool, a data converter or even a display spreadsheet for information interpretation. Excel can create a chart or graph, operate in conjunction with Mail Merge functions, import data from the Internet, create a concept map and sequentially rank information by importance.

Excel offers new data analysis and visualization tools that assist in analyzing information, spotting trends and accessing information more easily than in the past. Using conditional formatting with rich data display schemes, you can evaluate and illustrate important trends and highlight exceptions with colored gradients, data bars and icons.

Indeed, Excel can be customized to perform such a wide variety of functions that many businesses can’t operate without it. Excel training has become mandatory in many workplaces; in fact, computer software training is a must for any workplace trying to keep up with the times.

Let’s say you’re an employer with 97 workers, 17 of whom called in sick today, and you want to know the percentage represented by absentees. Excel can do that. You can learn Excel and use it to determine the ratio of male to female employees, the percentage of minorities on the payroll, and the ranking of each worker by compensation package amount, including the percentages of that package according to pay and benefits. You can use Excel to keep track of production by department, information that may assist you in future development plans. You can create additional spreadsheets to track data on vendors and customers while maintaining an ongoing inventory of product stock.

Let’s say you want to know your business production versus cost. You don’t have to be a math wiz – you just have to learn Excel. Excel allows you to input all of the data, analyze it, sort it according to your customized format, and display the results with color, shading, backgrounds, icons and other gimmicks that offer time-saving assistance in later locating precisely the information desired. If this spreadsheet is for presentation purposes, Excel helps you put it together in such a visually appealing way that the data may seem to pop and sparkle.

The single most important thing an employer may do is learn Excel – it is one of the most essential tools of the workplace.

Excel and Microsoft are trademarks of Microsoft Corporation, registered in the U.S. and other countries. Lotus is a registered trademark of International Business Machines Corporation in the U.S. and/or other countries.

Posted in general | Comments Off on The Importance Of Excel In The Workplace

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

What Requirements Does a Dot Net Developer Need to Fulfill?

Microsoft Dot Net is a useful software development component. It provides tools and libraries to the software developers so that they can create Windows-based applications in a more efficient manner. A Dot Net developer is a software programmer who has specific skills using .Net to develop software and computer applications. For people who are in the midst of looking for developers for your projects, there are some areas you need to take note. You are advised to look for competent programmers who can really assist you to complete your tasks successfully.

First thing first, you need to be clear about the responsibilities of a .Net Developer before you start looking for suitable candidate. Seriously speaking, the programmer is required to:

• Work hand in hand with other software engineers and architects to develop a logical series of instructions referred to as programming code for the computer to communicate with the networks, applications and databases.

• Create new software applications to suit the business needs

• Modify, repair, test and enhance existing applications

After knowing what the developer is required to do, the next area we need to take into consideration is the academic qualification. In general, a programmer should have degree qualification in computer science, information technology or any related discipline. If the programmer is not a degree holder, you may take a look at his or her working experience. If the candidate has extensive experience dealing with .Net development tools, you can consider getting him or her in. Check with the candidate whether he or she is familiar with maintenance of ASP Applications, e-Commerce solution, online education and learning, social networking sites, corporate web applications, and so on.

At the same time, a good dot net developer must be competent in carrying out all the important tasks. It is a must for him or her to have the following skills in:

• Classic ASP

• Microsoft SQL 2000 / 2005

• MS Access

• JavaScript, XML, DHTML, AJAX and CSS

• VBScript and JScript

Frankly speaking, if the programmer does not have the above mentioned skills, most of the employers in the job market are not willing to hire him or her.

Besides the skills, we should also take serious consideration on the general qualities of the programmers. They should have qualities as follow:

• Good passion in work

Having great interest in work is important. The programmers should love and enjoy what they are doing.

• Good learning attitude

Learning is a continuous process. We can’t stop at certain stage. Good developers must have positive attitude in learning. They must always grab the opportunities to learn new technology so that good applications can be adapted.

• Some “intelligence”

Honestly speaking, intelligence is something very subjective. What I mean here is the “personality” of the person. Being a programmer, he or she must be smart and sensitive to respond to all changes. It is important for a programmer to be open-minded and willing to take new challenges from time to time.

Posted in general | Comments Off on What Requirements Does a Dot Net Developer Need to Fulfill?