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?

Best Windows 7 Optimizer That Can Stabilize and Improve Your Computer Performance

A system optimizer is a software designed to maintain the performance of your computer, fix software related problems and keep your computer stable and secure. The need of a system optimizer software in Microsoft Windows7 operating system is high. This is because Windows 7 itself is unable to maintain all the mentioned aspects without the help of third-party products.

We are going to learn what exactly Windows 7 optimizer software is.

The best Windows 7 optimizer software shall include all the following features:

1. Registry Cleaner to fix the registry related issues

2. System Cleaner to clean unnecessary stuff and free-up the disk space

3. Registry Defragmenter to defrag the system registry

4. Startup Manager to control the programs running when you turn on your computer

5. Backup & Restore feature to restore unfavourable registry changes

“Registry Cleaner” to Fix the Registry Related Issues

Windows Registry is a vital component in Microsoft Windows 7. It contains information stored by your operating system and installed software. For example, the default settings, changes you made to your computer, system information, runtime data, etc. are stored.

Registry Cleaner is a software that finds the junk entries in the registry, and repairs them as far as possible. Unfortunately, Windows 7 does not include a built-in registry cleaner. The registry cleaner software included in the best Windows 7 optimizer lets you scan the genuine registry problems and correct them. It thereby helps avoiding many runtime errors and problems, such as, File Not Found, etc.

“System Cleaner” to Clean Unnecessary Stuff and Free-Up the Disk Space

A System Cleaner software lets you find the files and stuff that have unnecessarily occupied the hard disk space.

The tasks, like installing a program, uninstalling, repairing or updating the existing programs, and even just running the installed programs many times create temporary files, log files that need not be kept after the corresponding operation is performed. Sadly, many programs do not itself delete such files and stuff and thus your hard disk space is used for such unproductive stuff. Using a system cleaner software included in best Windows 7 optimizer, you can easily and safely delete such temporary stuff.

“Registry Defragmenter” to Defrag the System Registry

You know the importance of the registry in Windows 7 operating system, as already discussed. The continuous access of a number of programs to the registry results in its fragmentation. It reduces the system performance and freezes your computer.

The best Windows 7 optimizer software includes a registry defragmenter that enables analyzing the registry fragmentation and afterwards defrags it. A reboot is required to perform this process and all other running programs and services must be terminated.

“Startup Manager” to Control the Programs when you Turn on your Computer

Running too many programs at the Windows startup, results in system freezing and slow performance. A Startup Manager, included in best Windows 7 optimizer, lets you monitor and control the programs that run each time your computer is started. It lets you disable or delete the unwanted program entries and enable only those who are necessary.

Backup & Restore Feature to Restore the Unfavourable Registry

While doing all the above steps, care must be taken that you have followed some precautionary measures first, so that any unfavourable registry change can be later restored and unwilling situations can be easily avoided. The best Windows 7 optimizer should include such a feature.

Best Windows 7 Optimizer Recommended by Worldwide Experts

Posted in general | Comments Off on Best Windows 7 Optimizer That Can Stabilize and Improve Your Computer Performance

What Does a Salesforce Developer Do?

A Salesforce developer is tasked with handling and customizing the Salesforce software suite. This software is designed to help any business with customer relationship management. It handles almost any aspect of customer relationship management (CRM) with a number of products that are designed to help you maximize your business potential. A Salesforce developer can help you to combine all aspects of your business into an efficient force in the marketplace. From your business itself, the technology it uses, and the customers your business relies on, the software is there to help you with all your CRM needs.

So what exactly does a Salesforce developer to?

To put it simply, a Salesforce developer helps to customise this software to make customer relationship management more efficient. By making your CRM more efficient, this allows you to develop and maintain the relationships with your customers – which is a vital part of every business. The software contains several different applications that allows for a great deal of flexibility for your business – and there are many opportunities for customisation if you employ the help of a Salesforce developer.

Here are some of these applications:

Sales Cloud: Sales Cloud is the number 1 CRM app in the world and millions of businesses have used it to enhance their customer relations and grow their products. By taking advantage of cloud computing technology Sales Cloud is able to do more for you than other CRM apps.

Service Cloud: Service Cloud is all about helping you develop customer connections. By utilizing cloud technology Service cloud can help you improve your customer service centres and enhance your social media marketing efforts.

Marketing Cloud: Marketing Cloud is an all-in-one social networking suite. This product will help you build a social network from the ground up or can be used to improve on any social network you already have created.

Salesforce Platform: This product is perfectly designed to help you create apps for any purpose you need. A Salesforce developer can create amazing social apps, innovative real time apps, and take advantage of the growing mobile market with mobile apps. Apps are the next wave of marketing and a Salesforce developer can help you get on top.

Chatter: This product is designed to help you improve communication not only within your business but with your customers as well. By using Chatter you can collaborate and communicate with each other no matter where you are.

Work.com: This product is to help you get more out of your business by making employees more efficient and maximizing their time and talents. Again, you can talk to a Salesforce developer to ask if they can help you make the most of this product.

Whilst the above information gives some idea of what the software and a Salesforce developer can do for you, the best thing to do is to give it a try. Once you have everything set up and rolling you will be asking yourself why you didn’t do this sooner.

Once you’ve got to grips with the software, it’s time to think about making it work for your business. It’s really powerful, but to make the most of it, it’s advisable to employ the services of a Salesforce developer. Then you’ll really be unlocking its potential.

Posted in general | Comments Off on What Does a Salesforce Developer Do?

How To Spot a Fake Jimmy Choo Handbag

  • Label: The Jimmy Choo label is generally a lilac colored metal face fastened to a leather backing, and stitched to the interior of the handbag. Many fakes have the incorrect shade of lilac, either going to light or too dark in the purple spectrum. The label should read in either gold or silver. However, even if the colors are correct, the label may still not be in the clear. Because it often times the font details that are singular to authentic Jimmy Choo that many of fake handbags get wrong, and this is one of the best places to look when trying to identify a phony J. Choo.
  • Font: Always check out the "H" in Choo. On an authentic handbag, the horizontal cross-bar in the H should not be in the center of the letter, the way it is intended to be with regards to most standard fonts. Instead, the Jimmy Choo H should have the cross-bar closer to the top, about 75-80% of the way up the H, if measuring from the bottom of the letter. If the handbag has the correct H, move to the letters "O" in Choo. On an authentic handbag, the O will have a slightly bent look. This means that the "O" will appear as if someone snapped down on the top of the letter, giving the O an oval shape rather than a perfect circle. Spotting a fake Jimmy Choo handbag often times comes down to the subtleties in the font.
  • Hardware: Any screws located on handbag hardware will always be a flat head (-) screw. Jimmy Choo will never use any Philips head (+) screws in any of their handbags.
  • Dustbag: Fake Jimmy Choo handbags will often be accompanied by a dustbag that is an incorrect color or format. An authentic dustbag should have the logo: "JIMMY CHOO," with "LONDON" centered perfectly under the logo. The font should be an embossed gray, while the dustbag itself will be the famous lilac color. Many fakes will have incorrect font colors on the dustbag, as well as the incorrect dustbag color ie the wrong shades of purple etc. Good luck and safe shopping!
Posted in general | Comments Off on How To Spot a Fake Jimmy Choo Handbag

Examining Computer Hardware Components

1. Checking the Screen or Monitor
The screen of your computer or monitor has pixels. These pixels have three colors: Red, green and blue. Pixels can often be damaged or stop functioning properly displaying only one color or just being black.

There is an online tool to check for bad pixels called "CheckPixels" The test at CheckPixels will display your three main colors mentioned above and if a pixel is dead, it will show as a black spot and if a pixel is glowing a different color ( Malfunctioning) you will see that too.

2. Checking the Keyboard
The keyboard might not seem important as a hardware component, but it is used in almost all tasks and taken for granted. For laptop users, the keyboard is very important. If one has to send the laptop away for repair the entire computer must go with it. There is also an online test tool available to test all your keyboard keys called "KeyboardTester".

3. Checking the Disk Drive (HDD & SSD)
Your HDD / SSD has your operating system and most of your applications and files. Having your HDD / SDD completely healthy is very important. This is most imperative when dealing with a used computer since you have no awareness of the previous history or care of the used computer and its HDD / SDD.

Different tools are available to check the condition and health of the HDD / SDD.

HDSentinel is one you can use for your HDD. The left hand side of the screen will display drives connected the computer. Health is the main parameter to look for. HD Sentinel will explain the meaning of the health percentages and the steps that you should take based on the results. As an example, you should not throw out your HDD just because of a few bad disk sectors and IO errors.

SSDlife is another tool specifically for an SSD. It also shows health in percentages and the expected life of the drive. Similar to hard disks, bad sectors can occur in SSDs.

4. Checking the Processing Units (CPU & GPU)

The main components that do all the processing are the Central Processing Unit (CPU) and the Graphics Processing Unit (GPU). These are the components that allow you to run your office applications and your games. These are also essential components to ensure are in perfect working order. So it is necessary that these two components should be in perfect condition. For testing both, we use CPU speed test

For testing your GPU, the tool.Base Mark Web 3.0 works just fine.

5. Checking the Random Access Memory (RAM)

RAM is the one essential component that has the most immediate impact on your computers performance. MemTest from HCI Design is a great tool to check your unused memory for errors. Identifying and fixing errors with your RAM is important. Errors in RAM cause the infamous "blue screen of death". Boot problems can also be attributed to RAM errors.

Conclusion
Besides the hardware component tests above, you should also check your Ethernet ports and connection, wireless connection from the wireless card (internal or external), HDMI, DVI and USB connections using available cabling and devices.

Posted in general | Comments Off on Examining Computer Hardware Components

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

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

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

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

“Memory Card Error”

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

Cause:

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

Resolution:

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

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

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

How to Watch Satellite TV Online Without Any Satellite Dish

Anyone can watch satellite TV online without any satellite dish system nowdays. In case you do not know, this article would show you one time-tested and another new revolutionary way to watch satellite TV on the internet without having to set up a satellite dish.

Many of the older generation grew up in an era of satellite dishes, especially for those who live in the rural areas where cable do not exist. The dishes are transmitters and together with receivers are conduits for TV signals to be displayed as visual images and pictures on our TV screens. However, they are not always pleasant. Set up can be tough and definitely not for those who are not good with their hands or have poor technical skills. Satellite dishes have grown smaller in recent years but they used to be larger than 6 foot monsters in earlier days. If that irks you, you would be relieved to know that you can watch satellite TV online just like many others without satellite dish system.

What are the hardware and PC requirements you need to set up your 'satellite-dish less' PC satellite online TV?

1. A Good PCTV Card

A PCTV card can be installed onto your computer to make your computer work like a satellite television set. Such cards come in the form of internal or external hardware. If you are familiar with the inside of a computer, then an internal card could be a good choice since they tend to be cheaper and more affordable. However, do not bother yourself when you find it too troublesome to fix it internally because there are external cards that work more like plug-and-play gadgets. They cost more and can set you back easily by a few hundreds. As long as your PC has a spare USB port, this option to watch satellite TV online is open to you.

2. PC Requirements

I would suggest you check your systems configuration before you start shopping for a PCTV card. Most cards require a minimum Pentium 3 333MHz system to run well but remember to note down the specifications like RAM, hard disk space, Operating System, etc before you head to the stores.

3. Ready Internet Connection

PCTV cards work well with both dial-up and broadband connections. However, I have a word of advice here. Dial-up transmission runs like a snail and is a really serious party spoiler. You can end up more frustrated than glad that you are watching the program. Go for broadband connection if you can afford to.

Okay, now that we have discussed about the older commonly accepted method to watch satellite TV online, we will look at another new revolutionary technique. This requires the usage of PC satellite TV software which can be downloaded easily. The setup is simple and all it takes is downloading the software and clicking a few buttons before you are ready to watch satellite TV online from more than 3000 channels. Awesome is not it?

For more information on this PC satellite TV software, do a read up at my satellite TV blog.

This article may be freely reprinted or distributed in its entity in any ezine, newsletter, blog or website. The author's name, bio and website links must remain intact and be included with every reproduction.

Posted in general | Comments Off on How to Watch Satellite TV Online Without Any Satellite Dish

Can You Upgrade a Maya Student Version to a Full Commercial Edition?

The Maya 3D software from Autodesk has long-been a staple tool for the production of the highest level of Visual Effects and animation for Oscar-winning blockbuster movies, TV shows and video games.

Students who are looking to secure themselves commercial work upon graduation these days typically need to show some familiarity with this software…ideally the more the better, since most companies these days use Maya as their main software package, and many have it deeply integrated into their own proprietary pipelines and tools – meaning that the situation is unlikely to change for the foreseeable future.

Students who take the opportunity currently afforded them of purchasing a copy of the Maya Student Edition do well since they are able to improve their skillset on the full Unlimited version of the software, and do so at a huge discount (the student edition typically retails for around $350).

However, a number of students wonder if they also qualify for a discount later on if they wish to upgrade to a full commercial edition of the Maya software. Jumping from graduation to commercial work can be a challenge, so any way to alleviate the expense of setting yourself up as a freelancer is more than welcome…but can it actually be done?

Upgrade Maya Student Edition To Commercial License?

Yes, you’ll be pleased to know that there is a program available where current owners of a Maya student license are able to upgrade to the full commercial license at a massive discount of around 60%…in other words, a full commercial license of Maya would typically cost around $3,900, but student license holders are able to upgrade their current license to a full commercial one for just $1,300.

This is huge, and can be a real lifesaver for folks who want to go it alone and start their own freelance business but are wary of the huge costs involved.

In fact, if you’re smart about it and don’t mind a little negotiation, the license could even be purchased with a down-payment from your first client before you even begin working on their project.

Such a huge discount on the student to commercial upgrade is a great incentive for students, especially at this economic time, and it also makes purchasing the Maya student edition in the first place a sensible option, since you get access to these kinds of discounted upgrades.

Posted in general | Comments Off on Can You Upgrade a Maya Student Version to a Full Commercial Edition?

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