Build Your Own Tree House – Pros and Cons, Fasteners and Hardware

Tree houses are fun, bonding activities you can do with your friends or family, and can provide a unique and ideal hangout spot surrounded by Mother nature. One of the biggest differences in my opinion, between tree houses and other on-ground add-ons you can build on your property, is the fact that a house up in the trees sways – to varying degrees depending on the height and size of the Tree and branches – and so can add a unique and soothing feel.

There are several prerequisites that must be met before this particular project would be considered feasible for you. The first ones are also the most obvious:

  1. Do you have a suitable tree with your property on which you can construct your tree house? This question may be ambiguous to some, as what kind of tree exactly is considered suitable? Well, this depends largely on the size of the structure in question, as well as the expected load – number of people, furnishings, etc. The larger your tree house is, the larger your tree needs to be.
  2. How are you with heights? Now is not a good time to kid yourself or anyone else if you happen to be abnormally scared of heights! We're all scared of heights to varying degrees, but if you lack the courage or ability to comfortably work at the needed height, this project may not be for you. Granted, it can be built relatively low to the ground as well and still be called a "tree house" – in which case, this may not apply.

Now that we have those out of the way, we can get into the other aspects of building. When compared with a structure on the ground, a tree house may somehow seem like a simpler project due to the fact that some of us have grown up "throwing" little makeshift tree houses up here and there. However, it's important to remember that any halfway decent structure, whether on the ground or up in a tree, requires careful planning and implementation of standard safety code.

Here are some other questions you should ask yourself before concluding the planning stage:

  1. What will I use the tree house for? Depending on your answer, you may want a roof and walls, or you may find it unnecessary. In either case, a rail and / or walls at least a meter high is recommended for safety.
  2. How long do I want it to last? You may think that the answer to this question is obvious, but you should understand that the lifespan of your tree house depends heavily on the materials you use and the quality and number of layers of your protective stain. Tree houses, by virtue of their definition, stand within and under the canopy of the tree in which they are built. Because of this, they are more susceptible to premature rot due to the prolonged shade and humid nature of their environment. The fallen leaves and branches scattered across the deck also serve as decay-accelerators unless they are regularly swept off.

Foundation and Floor-shape

One of the unique beauties of a tree house is the fact that you can simply build around the various branches leaving them exposed within your tree house, enhancing the "natural" atmosphere. As with an on-ground structure, you should start with building your base and floor. You may face complications with the shape of your floor due to the limitations of suitable branches to base off of.

Because of this, there's a possibility you may have to set up for a non-square shape. This may be what you want, or this may be a problem for you. In any case, you should understand that there are some restrictions placed upon you by the particular tree you're working with. All branches used for a foundation should be able to single-handedly carry several hundred pounds, and more if you're expecting higher traffic.

Tree Wood Density and Fastener Quality

Large tree houses that weigh more than the collective weight of their occupants should be carefully designed , as various factors such as the hardness of the tree and fastener quality and design come more into play. Wood will compress where the fasteners connect to the tree to varying degrees based on the hardness of the tree in question, causing a sinking of the tree house.

Professional-grade Tree house Fasteners – Are they Necessary?

There are various tree house fasteners available on the market today specially manufactured for their unique needs. However, the question invariably arises as to how necessary these customized bolts and brackets are in comparison to normal ones found in home centers due to their price. They often cost between one and several hundred dollars each!

The first thing to bear in mind when contemplating the pros and cons of these rather pricey pieces of hardware is that trees are living organizations, and are still growing, moving, and changing shape. Therefore, your tree house and the hardware on which it is mounted must accommodate this movement. Simply bolting the beams into the tree's branches results in a fixed attachment that will force the tree to either pull the screw through the beam or try to grow around the beam.

The first of the two will result in a sudden and dangerous failure , while the second will result in an unhealthy and unnatural growth around the beam, potentially causing disease and decay to set in. Custom bolts and brackets are made with a certain allowance for tree growth, with a section of the bolt that is embedded deep in the tree's heartwood and a large shank that allows axial movement coupled with a female part that is attached to the beam.

So to answer the question of whether these expensive custom parts are necessary, the short answer is yes, and no. Yes, if you lack the know-how to find parts that will accomplish the same purpose as the professional parts do, and no, if you do, and do not require your tree house to last for fifty years. Home centers sell bolts and hardware with large diameters and lengths which can be used, but the entire shank can not be threaded.

The half or so that is embedded into the tree must be threaded, but the reminder that acts as the cushion to compensate for tree-growth must be smooth. You also need a female piece that fits around the smooth shank that has a bracket that can be screwed into your beam. This female bracket then has the freedom to slide along the axis of the smooth bolt shank as the tree grows in girth. All parts should be stainless steel as well – others may corrode to failure.

Obviously, the big tree house building companies would disagree with the above opinion, and the ideal is to buy these parts. I'm just offering an alternative for those who do not have a large budget but still want to construct a safe and environmentally-friendly tree house. There is also a chance you will not be able to find hardware that meets the criteria, leaving you with no other choice.

The professional criterion when it comes to fastening your tree house to your tree seems to be "perch, do not pin". I agree whole-heartedly with this principle and any alternative I save above should not contradict this. But not everyone looking to build a tree house is willing to spend tens of thousands of dollars, so, your budget is a primary factor in determining the quality as well as what kind you would build.

In any case, it should be a safe and fun place to accommodate whatever activities you envision. Taking into consideration the damage inflicted on the tree as well as future complications that may arrise such as those mentioned above when planning, is simply the responsible and consider course of action.

Posted in general | Comments Off on Build Your Own Tree House – Pros and Cons, Fasteners and Hardware

Computer Engineer Salary

A report by CNNmoney states that students who majored in computer engineering were the top earners of the class of 2011. On top of that according to the Bureau of Labor Statistics, the demand for computer software engineers is expected to grow by nearly 38% by 2016 You may have just stumbled upon your new career!

There are two types of engineers, hardware and software. A hardware engineer deals with physical components. They research, design, and test the physical components of a computer including circuit boards, chips, and keyboards. A software engineer, called developers, create programs for users to perform task. They create the software that translates the commands from applications into instructions that the hardware can understand. They create the operating systems and computer interfaces for desks and consumer electronics.

95% of jobs are located in metropolitan areas. Positions are located in research labs and manufacturing labs. Some work in computer system design firms, research and develop firms, or federal government. Just as there is a range of potential work environments you may end up being in, there are also a large variety of things you may be creating programs for. Computer engineers create on computers, cell phones, navigational systems in your car, video games, and etc. If you're creative, love computers, and do not mind making a lot of money in the process then this just might be for you!

Some of the highest income makers coming directly out of college are graduates in the computer engineering field. This is a great incentive to buckled down and stay focused on those late nights studying in your dorm. This will literally pay off .. BIG TIME! The average salary for computer engineer job postings nationwide are 29% higher than average salaries for all jobs nationwide. Sound good yet? Let's get into the specifics.

The overall computer engineer salary is $ 87,000. To be even more specific let's discuss what you can expect if you enter involved in hardware or software. Starting with the low end of what you can expect. As a software engineer the lowest 10% average $ 45.44 / hr or $ 57,810 annually. The highest 10% average $ 65.28 or $ 135,780. As a hardware engineer the percentages or a slight bit higher. A hardware computer engineer salary on the low end can on average expect $ 48.73 / hr or $ 62,400. The highest 10% of hardware engineers make $ 70.07 / hr or $ 147,610. Not a bad day's work!

Posted in general | Comments Off on Computer Engineer Salary

Top 25 Terms All Computer Students Should Know

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15. ISP: Internet Service Provider.

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

17. MIME: Multipurpose Internet Mail Extension.

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

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

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

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

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

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

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

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

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

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

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

Examples Of Spyware And What They Are

Spyware is a general term used to describe software that performs certain behaviors such as advertising, collecting personal information, or changing the configuration of your computer, generally without appropriately obtaining your consent first.

Spyware is often associated with software that displays advertisements (called adware) or software that tracks personal or sensitive information.

That does not mean all software that provides ads or tracks your online activities is bad. For example, you might sign up for a free music service, but you “pay” for the service by agreeing to receive targeted ads. If you understand the terms and agree to them, you may have decided that it is a fair tradeoff. You might also agree to let the company track your online activities to determine which ads to show you.

Other kinds of Spyware make changes to your computer that can be annoying and can cause your computer slow down or crash.

These programs can change your Web browsers home page or search page, or add additional components to your browser you don’t need or want. These programs also make it very difficult for you to change your settings back to the way you originally had them.

The key in all cases is whether or not you (or someone who uses your computer) understand what the software will do and have agreed to install the software on your computer.

There are a number of ways Spyware or other unwanted software can get on your computer. A common trick is to covertly install the software during the installation of other software you want such as a music or video file sharing program.

Any software that covertly gathers user information through the user’s Internet connection without his or her knowledge, usually for advertising purposes. Spyware applications are typically bundled as a hidden component of freeware or shareware programs that can be downloaded from the Internet; however, it should be noted that the majority of shareware and freeware applications do not come with SpyWare. Once installed, the Spyware monitors user activity on the Internet and transmits that information in the background to someone else. Spyware can also gather information about e-mail addresses and even passwords and credit card numbers

Aside from the questions of ethics and privacy, SpyWare steals from the user by using the computer’s memory resources and also by eating bandwidth as it sends information back to the spy ware’s home base via the user’s Internet connection. Because SpyWare is using memory and system resources, the applications running in the background can lead to system crashes or general system instability.

Because SpyWare exists as independent executable programs, they have the ability to monitor keystrokes, scan files on the hard drive, snoop other applications, such as chat programs or word processors, install other SpyWare programs, read cookies, change the default home page on the Web browser, consistently relaying this information back to the SpyWare author who will either use it for advertising/marketing purposes or sell the information to another party.

Licensing agreements that accompany software downloads sometimes warn the user that a SpyWare program will be installed along with the requested software, but the licensing agreements may not always be read completely because the notice of a SpyWare installation is often couched in obtuse, hard-to-read legal disclaimers.

Examples of SpyWare

These common SpyWare programs illustrate the diversity of behaviors found in these attacks. Note that as with computer viruses, researchers give names to SpyWare programs which may not be used by their creators. Programs may be grouped into “families” based not on shared program code, but on common behaviors, or by “following the money” of apparent financial or business connections. For instance, a number of the SpyWare programs distributed by Claria are collectively known as “Gator”. Likewise, programs which are frequently installed together may be described as parts of the same SpyWare package, even if they function separately.

o CoolWebSearch, a group of programs, takes advantage of Internet Explorer vulnerabilities. The package directs traffic to advertisements on Web sites including coolwebsearch.com. It displays pop-up ads, rewrites search engine results, and alters the infected computer’s hosts file to direct DNS lookups to these sites.

o Internet Optimizer, also known as DyFuCa, redirects Internet Explorer error pages to advertising. When users follow a broken link or enter an erroneous URL, they see a page of advertisements. However, because password-protected Web sites (HTTP Basic authentication) use the same mechanism as HTTP errors, Internet Optimizer makes it impossible for the user to access password-protected sites.

o Zango (formerly 180 Solutions) transmits detailed information to advertisers about the Web sites which users visit. It also alters HTTP requests for affiliate advertisements linked from a Web site, so that the advertisements make unearned profit for the 180 Solutions Company. It opens pop-up ads that cover over the Web sites of competing companies.

o HuntBar, aka WinTools or Adware,WebSearch was installed by an ActiveX drive-by download at affiliate Web sites, or by advertisements displayed by other SpyWare programs-an example of how SpyWare can install more SpyWare. These programs add toolbars to IE, track aggregate browsing behavior, redirect affiliate references, and display advertisements.

oZlob Trojan or just Zlob, Downloads itself to your computer via ActiveX codec and reports information back to Control Server. Some information can be as your search history, the Websites you visited, and even Key Strokes.

Posted in general | Comments Off on Examples Of Spyware And What They Are

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?

7 Benefits of the Doctor and Clinic Management System Software

A cloud-based clinic management system addresses your hospital management related woes. It brings simplicity to the patient appointments, their treatment, medical billing and payments and services that take care of other requirements of the hospital.

Advantages of a Cloud Compliant Software

A software that leverages the cloud technologies in full, offers flexibility, cost saving, fast service, ease of accessibility and sustainability.

Flexibility

Even small hospitals can harness the power of this type of software. As the business grows, the software automatically scales itself to the hospital’s increasing needs without the user having to provide for it. The software is easy use, at its fullest, right from the first day.

Cost Saving

Choosing to use clinic management software located on the cloud platform is cost effective for the hospitals. It is an attractive choice for the small as well as big hospital setups.

It requires no expenditure on hardware, equipments and trained IT staff. These are the resources that a hospital, supporting an in-house IT setup must utilize. They are costly.

This highly optimized software is maintained, updated and configured in the cloud by the skilled IT experts. The users are, thus, spared from the burden. It leads to cost saving. Unhindered, the hospital staff stays focused on the core functions of the hospital.

Harness it From Anywhere at Anytime

The hospital administrator acts as the super-user of the software. He or she, then, grant access permissions to the others. The managers, doctors and others can then access the necessary data stored in the cloud, from anywhere at anytime.

They can use smartphones, tablets, phablets, laptops, notebooks and desktops over the internet for the purpose.

Fast Service

This software gives fast, easy and simple solutions for the hospitals in managing their day-to-day activities. It helps in streamlining patient management, inventory management, employees’ and doctors’ attendance, online report generation and other tasks.

Sustainability

For hospitals using this software, it is easy to recover from an on-site disaster. Their data is stored in the cloud, where it remains safe. It is repeatedly backed up. They need to simply access it to get their system online.

Features of the Cloud Based Clinic Management System

1. Patient management: Maintains records of the patients that include personal details, visits to the hospitals, allergy related data, medication, etc.

2. Appointments and schedule management: Determines the availability of the doctors before scheduling appointments. Uses powerful search engine to set up an appointment for the patient. The software assists the staff in knowing the availability of the beds for the patient’s hospital stay.

3. Alerts: Sends alerts and reminders using SMSs and Emails. It notifies the patients about the future appointments and vaccination schedules.

4. Purchase and inventory management: Keeps track of the drugs, equipments, instruments and other hospital items in the stock. Generate expiry alerts for the drugs in stock. Assists in creating a purchase list.

5. Records: Stores all the electronic medical records of the patients and the data related to the hospital, in a central place. It is available to the authorized persons from anywhere, at any time. Doctors can use the patient data to conduct medical research.

6. Payment Processing: Assists the hospital’s accounting department in, accurate medical billing to the patient. Provides connectivity to the top accounting software and eases the tasks of accountants.

7. Lead Generation: It assists the business managers employed by the hospitals in lead generation and tracking.

It is easy to start using a cloud-based clinic management system software. It needs no installation and one can access and start using it over the internet, in a jiffy.

Posted in general | Comments Off on 7 Benefits of the Doctor and Clinic Management System Software

How Car Mechanics Use Technology

Do you know why it’s important to find a good mechanic or a good repair shop to repair your car? The reason: it could save you hundreds of dollars in parts and labor! When we say a “good mechanic” or a “good repair shop”, we’re referring to mechanics who are equipped with the latest technology. You don’t want to entrust your car to a shop with outdated machinery and equipment because it will take longer to arrive at a diagnosis. And the longer a mechanic takes to make a diagnosis, the larger your bill for labor!

Remember that car mechanics charge by the hour.

Car repairs can cover any one or a combination of the following (note that this is not a complete repair list).

• Air conditioning checks

• Air bag checks

• Electrical wiring

• Cables

• Clutch service and repair

• Transmission repair

• Wheel Alignment

• Suspension

• Brakes

• Heating system

• Oil and lubrication

• Battery

• Power windows

Much of the troubleshooting that mechanics use to diagnose a problem is facilitated by car repair technology.

Ever noticed how some lights on your panel come on when something’s wrong? In most cases, an experienced mechanic will know immediately what the problem is, but there are instances where it will take sophisticated technology to lead to an accurate diagnosis.

Sophisticated technology comes in many forms and one popular one is troubleshooting software. Companies like Auto Tech have a software program that car owners can use to find out what is ailing their vehicle.

Most car owners who were cynical about software programs before should seriously consider purchasing a reliable car troubleshooting software program. For instance, some programs start out by asking you to input your car make and model number, the year of the car and what kinds of equipment it has. The software features a large database of information about all cars in the market and a car owner simply follows the steps when prompted. It employs what the industry calls a “tree diagnosis” where logical steps take you through the entire diagnosis process.

After you’ve keyed in your car’s profile, you use the drop down menu to choose the symptoms that your car is exhibiting. For instance, if you choose “squealing brakes”, the program mimics the squealing of brakes and if that’s the sound you hear, you confirm it and the program recommends a series of steps.

You may not really want to use a troubleshooting software, but imagine how much time and money you could save if you spoke to the mechanic intelligently, letting him know that you’re in the know.

Students who are studying towards certification buy certain tools of the trade. A couple of examples are Snap On and Mac Tools. These two are the most popular in the United States and Canada.

Mechanics now have a wide range of technology tools to help them understand car problems better: digital multimeters (electronic measuring), boroscopes (testing heat exchangers), fuel diagnostic testers (testing and balancing fuel injectors) and other such new technologies.

New car mechanic technologies help shorten the learning curve and speed up diagnosis so that the car owner isn’t saddled with too many labor hours.

Posted in general | Comments Off on How Car Mechanics Use Technology

What Is The Difference Between ERP And Enterprise System?

Enterprise system and Enterprise Resource Planning System terms are similar but there is difference between an enterprise system and an ERP system. An ES or enterprise system is a large scale system which includes packages like ERP and CRM. ERP is a subset of Enterprise System or it can be said that ES is a superset of ERP. It contains a variety of solutions. ES contains applications and packaged solutions which can be directly used in an enterprise. On the other hand ERP system is the automation of the business processes and the solutions are in the form of modules which are designed according to the client’s requirements.

The functions are customized according to the client’s business environment. Enterprise system does not include architecture of other solutions whereas an ERP implementation automates systems using technical aspects. ERP system includes architectures and databases and is client server architecture. The system is server based therefore the consultant needs to be aware of the technical aspect too.

Another difference between an ES and an ERP system is that the ERP is aimed at improving the functionalities of the organization whereas the ES helps to improve the overall maintenance and accuracy. It provides for better solutions and aids in decision making. ES is difficult to implement compared to Enterprise resource planning and even the timeframe needed for implementation maybe more. The overall impact is high but so are the risks involved. If the ES is not implemented in the right manner, it can cause business failure and if implemented properly it can increase the efficiency and profits of the business organization. It is normally required when there is a big drawback in the current procedures and methodologies in the organization and need to be corrected. The company going in for enterprise system needs to be careful while choosing the software and the vendors due to the risk of failure involved.

The difference between an enterprise system and an ERP system is that ERP is mostly used for medium scale companies to big companies and ES is restricted to the big companies. There are many complex functions involved in big companies which cannot be provided solutions for alone by ERP. The role of ERP is restricted when compared to enterprise system because it does not include customer relationship or vendor management.

These applications are needed when the business process is complex and on a big scale. Therefore bigger organizations need to go with ES instead of enterprise resource planning alone. ERP is also an important system to streamline the internal processes but it does not provide for taking care of the external processes. Enterprise system takes care of the end to end business process of organization since it involves other applications also like SCM and CRM. There is quite a lot of difference between an enterprise system and an ERP and it depends on the company whether it wants to go with an ES to streamline the entire process starting from supplying, production and customer or whether he wants to go with an ERP system to streamline the internal process.

Posted in general | Comments Off on What Is The Difference Between ERP And Enterprise System?

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