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

How to Fix an Error Accessing the System Registry Easily

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

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

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

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

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

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

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

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

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

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

Strengths and Weaknesses of Waterfall Approach for Software Development

One of the most famous and widely used approaches for software development is the waterfall model. Waterfall approach is an old technique that has been in use for quite some time, but in modern times agile approach is gaining prominence.

Waterfall approach, as is evident from the name, refers to a systematic approach where one step comes after the other. It cannot go the other way round. The process works like the waterfall effect that flows in one direction, which is from up to down.

In this process the life cycle of the development process is predetermined. All the steps are defined before the start of the project. The approach is predictive, where the team is well aware of the order of each step and therefore works accordingly. It starts from the requirement analysis, the design phase and then proceeds on to the implementation, testing and the maintenance phases.

The waterfall approach can be quite beneficial for those who are quite clear on their requirements. A planned approach works for them because they want fixed processes and budget. Where fixed processes are beneficial, at the same time they can be inconvenient at times. In cases where the client is not clear on the requirements and finds in the middle of the project that he/she wants to change course, this approach can prove to be quite problematic.

Another point of the waterfall approach is that the requirement analysis and design of architectural structure can consume a lot of time. Extensive research is done initially as the next phases depend completely on the planning strategy. However, the good thing is that everything is thoroughly worked out and each aspect is studied beforehand. The developers in such cases know what is expected of them.

A waterfall approach works in a systematic order, with one step following the other and the testing phase comes in the end. If there are any big problems encountered in the testing phase, it means a long process to make the amends. The process can consume extra time and money.

We cannot conclude that one approach is better than the other, as every method would have its own strengths and weaknesses. The determination of success for each method depends on how it is being used and whether the approach suits the scope of work being undertaken. While one approach may be suitable for a particular project, it might become totally useless under different circumstances. For example, some believe that agile methods are not well suited for offshore development, as they require a closer contact and communication that is not possible in an offshore project.

Posted in general | Comments Off on Strengths and Weaknesses of Waterfall Approach for Software Development

Why Computer Hardware Is Important

In this day and age, it is hard to deny the influence of technology in our lives. We live in an era where pretty much is automated and computerized. And amidst all the technological advancement that humankind has achieved, one important device has been created that will only sure to become more relevant to our lives as technology progresses, the computer. No one can deny that computers are now an essential part of our lives, the same way a cell phone and television does. It is safe to say that in this day and age, having no computer would be an inconvenience. Which is why it is important that we know the way our computer works so that we would be aware of the things that we should do in case it stops working. The hardware of the computer is considered to be the most important because without it, it will simply not work.

Simply put if you know how to handle the hardware of a computer and know each of their function for the unit, then you can easily determine what the problem is in case the unit stops functioning. In order to be familiar with basic computer troubleshooting, then you also need to be familiar with computer hardware. A good example of this is the memory of the computer (RAM). All programs and applications that are ran in a computer needs memory. Without RAM it simply will not function. Aside from that, even if you have a RAM but it does have the specifications to keep up with the programs that are being run, then the operation would have slowed down to a crawl. So when it comes to computer hardware, you have to make sure that it is not obsolete, so you need to upgrade depending on what sort of program that you are usually using.

When handling computer hardware, you have to keep in mind some safety measures so you can manipulate the unit safely. Before opening any computer cases, you have to make sure that the unit is unplugged or you might risk electrocution or shocks. While checking your hardware components, always check for damaged parts because that is most likely the one that is causing problems. When inserting components and parts, you have to remember that if it does not fit, then most likely you are inserting it on the wrong slot. If it does not fit, then do not force it or you will risk breaking the component. Before touching any parts inside the unit, make sure that you discharge yourself first by through a grounded metal object or you can use an anti-static wrist strap or mat which is sold in stores for cheap.

By knowing and analyzing every computer hardware part you will know about its importance and if it ever breaks down then you can perform the proper troubleshooting steps. Every hardware component is important for the computer's operation. The performance of your computer largely depends on how good your hardware is, so be sure that they are always in good working condition.

Posted in general | Comments Off on Why Computer Hardware Is Important

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

What is the Purpose of ERP Software?

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

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

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

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

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

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

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

Some of the benefits of ERP Software:

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

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

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

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

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

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

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

Effective Job Numbering And Cost Code Systems

Overview

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

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

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

Specific Job Numbering Sequences

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

· Year project was awarded

· Public vs. Private works

· Commercial vs. Residential

· Construction vs. Service

· Division (s) of the Company

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

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

Cost Codes – Too few or Too Many?

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

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

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

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

Why Go Through These Steps?

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

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

Conclusion

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

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

How Useful is CAD Software to Engineers and Architects?

The emergence of advanced technology has made people today dependent on machines. Using computers and software, for example, is a very common illustration of this. Computer experts are coming up with more and more software to make more and more jobs easier.

A more specific illustration of this can be found in the modern approach towards engineering and architecture. These days, professionals in these fields use CAD computer software which is a program that allows them to create designs faster, easier and with more accurate measurements. Aside from the convenience that CAD software brings, it also helps put architects and engineers ahead of their competitors. CAD, which can render designs that are two-dimensional or three dimensional, stands for Computer Aided Design and has been in use since 1982.

So how does CAD computer software work? And what does it do exactly to help engineers and architects? The program is actually multifaceted in the sense that there are many ways it can help. To make CAD work will require, however, a careful study of its features and the many ways it can be used. It is rather a complex yet flexible and highly functional program.

This article will not be enough to discuss the various ways that CAD works but pinpointing its advantages could give some very good ideas. One great advantage of CAD computer software is its easy-to-use tools in the creation and alteration of designs. Obviously, this is so much better than the old fashioned way of using a pencil and eraser directly on paper. This method of designing is obviously so much easier and engineers and architects simply have more time to finish other tasks. In other words, high productivity is going to be the main end result of using CAD.

Before the design is actually printed on paper, CAD also allows both the design professional and the client to preview what has been finished so far. Any alterations can be made simply by manipulating the drawing through the use of the software. With CAD, it is so much easier to spot errors because the designs can be rendered exactly as they would be in reality. Hence, modifications can be done even before printing, thus, allowing one to save.

With the tough competition that everyone has to face these days, it is wise to take advantage of new technologies that can help put them ahead in the race. While traditional methods hold a significant part in the history of design, advanced tools such as CAD software should only be welcomed as man’s way of furthering development in a field of expertise that he himself has created long ago.

Posted in general | Comments Off on How Useful is CAD Software to Engineers and Architects?

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

Turn Your Basement Into a Virtual Shooting Gallery

An indoor shooting simulator is easy to add on to most projection based home theater systems, and in most cases is an inexpensive way to add hours of entertainment for the whole family. People of all ages enjoy playing the wide range of games that are available for the system, everything from “Baseball Challenge” to “Elephant Hunter” will keep your family and friends entertained. Utilizing a shooting simulator is not only a great way to add excitement to your home theater room; it is also a get way to keep your shooting skills sharp.

System Basics:

There are a few basic requirements for adding a shooting simulator to an existing home theater. The simulator runs on a normal Windows based computer, software is compatible with Windows XP, Windows Vista and Windows 7. The image is broadcast through a projector to a screen, which most projectors and home theater screens will be suitable for use with this simulator. Now all you need to add is a basic simulator package, which includes a rifle, case, camera and five games. Installation of the simulator will only take about thirty minutes to setup and install the new software and hardware. Now you are ready to start enjoying the very best of simulated shooting. To recap the items you need: computer, projector, screen and a simulator package.

Benefits of Indoor Shooting:

There are many advantages to adding an indoor shooting simulator to you home theater room, these are just a few.

Convenience- having the ability to practice your shooting skills from within your own house, cuts down on drive time to the range and you can fire up your system anytime you want.

Cost Savings- ammunition is expensive! You will save a lot of money practicing your skills using a true to life replica laser firearm verses using live ammo.

Safety- using a laser firearm is a much safer weapon to practice will and it’s a lot better for your hearing.

Shooting Variety- with a shooting simulator you have the ability to practice your skills on a wide range of software titles. You can practice shooting skeet and with just a touch of a button you can switch over to another game and practice your marksmanship on simulated popup targets.

Entertainment- Gather you friends and family, challenge them for the highest score or for bragging rights.

Packages and Software:

With this system, there are many packages of both hardware and software available. Looking for a portable package or maybe a complete package if you don’t have a projector, computer and screen? Those packages and more are available. There are over 35 software titles currently available, which can be purchased separately or in 15 game packages. Software titles are being added, so you will always have the option to buy the latest games on the market. Do you have the best Halloween party on your block? There is a Halloween software package that will insure your party is unforgettable. Do you have a young hunter or marksman that could benefit from “Hunter’s Education” software? It is an option on this simulator. Teach them everything from ethical shooting to animal anatomy, with the hunter’s Ed package. Looking to hone your archery skills? This simulator has packages available for you bow enthusiasts. There are several optional firearms which can be added to the system, to maximize the skill development and enjoyment of the simulator.

Adding a shooting simulator to your theater room is easy and a cost effective way of increasing the entertainment value of your room as well as improve shooting skills. If you would like some more information on the shooting simulators or have any questions please contact me through the website.

Posted in general | Comments Off on Turn Your Basement Into a Virtual Shooting Gallery