CO.CC:Free Domain

2009/04/10

Developing Software by the 15% Rule


Writing software on a consulting basis can often be a losing proposition for developers or clients or both. There are too many things that can go wrong, and that ultimately translates into loss of time and money. The “15% rule” we’ve come up with is intended to create a win-win situation for both parties (or at least make it fair for everyone). Clients generally get what they want, and development shops make a fair profit. It’s not a perfect solution, but so far it seems to be working for us.

This may come as a surprise to some, but we make very little money selling software licenses. The vast majority of our revenue comes through consulting services–writing code for hire. Having now done this for several years, we’ve learned some hard lessons. On a few projects the lessons were so hard we actually lost money.

A few months ago I put together somewhat of a manifesto-type document intended to address the difficulties we’ve faced in developing software for clients. I’m pleased to say that it’s made a noticeable difference so far for us. My hope is that this blog entry will be read by others who develop software on a consulting basis, so that they can learn these lessons the easy way rather than the way we learned them.

What follows in this article is a summary of one of the main principles we now follow in developing software–the 15% rule. If you’d like, you’re welcome to read the full “Our Approach to Software Development” document.

For the impatient, the 15% rule goes like this…

Before undertaking a development project we create a statement of work (which acts as a contract and a specification) that outlines what we’ll do, how many hours it will require, and how much it will cost the client. As part of the contract we commit to invest up to the amount of time outlined in the document plus 15%. That is, if the statement of work says that the project will take us 100 hours to complete, we’ll spend up to 115 hours (but no more). As to where-fores and why-tos on how this works, read on.

Those that have developed software for hire know that the end product almost never ends up exactly as the client had pictured. There are invariably tweaks that will need to be made (that may or may not have been discussed up front) in order to get the thing to at least resemble what the client has in mind. And, yes, this can happen even if you spend hours upon hours fine tuning the specification to reflect the client’s wishes. Additionally, technical issues can crop up that weren’t anticipated by the programming team. In theory, the better the programming team the less likely this should be, but it doesn’t always end up that way (Microsoft’s Vista operating system is a sterling example). These two factors, among others, equate to the risk that is inherent in the project. Something isn’t going to go right, and that will almost always mean someone pays or loses more money than originally anticipated. The question is, who should be responsible to account for those extra dollars?

Up until relatively recently, we would shoulder almost all of the risk in our projects. If the app didn’t do what the client had in mind, or if unforeseen technical issues cropped up, it generally came out of our pockets. For the most part it wasn’t a huge problem, but always seemed to have at least some effect (the extreme cases obviously being when we lost money on a project).

This seems kind of unfair, doesn’t it? The risk inherent to the project isn’t necessarily the fault of either party. It’s just there. We didn’t put it there, and neither did the client. As such, it shouldn’t be the case that one party shoulders it all. That’s where the 15% rule comes in.

The 15% rule allows both parties to share the risk. By following this rule, we’re acknowledging that something probably won’t go as either party intended, so we need a buffer to handle the stuff that spills over. By capping it at a specific amount, though, we’re also ensuring that the buffer isn’t so big that it devours the profits of the developers.

For the most part, the clients with whom we’ve used the 15% rule are just fine with it. It is a pretty reasonable arrangement, after all. We have had the occasional party that squirms and wiggles about it, but, in the end, they’ve gone along with it and I think everyone has benefited as a result.

Todd Wilson is the owner of http://www.screen-scraper.com, a small software development firm focused on web data extraction.
Read More..

10 Simple Ways To Speed Up Your Windows XP


One of the factors that slow the performance of the computer is disk fragmentation. When files are fragmented, the computer must search the hard disk when the file is opened to piece it back together. To speed up the response time, you should monthly run Disk Defragmenter, a Windows utility that defrags and consolidates fragmented files for quicker computer response.

  • Follow Start > All Programs > Accessories > System Tools > Disk Defragmenter
  • Click the drives you want to defrag and click Analyze
  • Click Defragment

2. Detect and Repair Disk Errors

Over time, your hard disk develops bad sectors. Bad sectors slow down hard disk performance and sometimes make data writing difficult or even impossible. To detect and repair disk errors, Windows has a built-in tool called the Error Checking utility. It’ll search the hard disk for bad sectors and system errors and repair them for faster performance.

  • Follow Start > My Computer
  • In My Computer right-click the hard disk you want to scan and click Properties
  • Click the Tools tab
  • Click Check Now
  • Select the Scan for and attempt recovery of bad sectors check box
  • Click Start

3. Disable Indexing Services

Indexing Services is a little application that uses a lot of CPU. By indexing and updating lists of all the files on the computer, it helps you to do a search for something faster as it scans the index list. But if you know where your files are, you can disable this system service. It won’t do any harm to you machine, whether you search often or not very often.

  • Go to Start
  • Click Settings
  • Click Control Panel
  • Double-click Add/Remove Programs
  • Click the Add/Remove Window Components
  • Uncheck the Indexing services
  • Click Next

4. Optimize Display Settings

Windows XP is a looker. But it costs you system resources that are used to display all the visual items and effects. Windows looks fine if you disable most of the settings and leave the following:

  • Show shadows under menus
  • Show shadows under mouse pointer
  • Show translucent selection rectangle
  • Use drop shadows for icons labels on the desktop
  • Use visual styles on windows and buttons

5. Speedup Folder Browsing

You may have noticed that everytime you open My Computer to browse folders that there is a little delay. This is because Windows XP automatically searches for network files and printers everytime you open Windows Explorer. To fix this and to increase browsing speed, you can disable the “Automatically search for network folders and printers” option.

6. Disable Performance Counters

Windows XP has a performance monitor utility which monitors several areas of your PC’s performance. These utilities take up system resources so disabling is a good idea.

  • Download and install the Extensible Performance Counter List
  • Then select each counter in turn in the ‘Extensible performance counters’ window and clear the ‘performance counters enabled’ checkbox at the bottom button below

7. Optimize Your Pagefile

You can optimize your pagefile. Setting a fixed size to your pagefile saves the operating system from the need to resize the pagefile.

  • Right click on My Computer and select Properties
  • Select the Advanced tab
  • Under Performance choose the Settings button
  • Select the Advanced tab again and under Virtual Memory select Change
  • Highlight the drive containing your page file and make the initial Size of the file the same as the Maximum Size of the file.

Windows XP sizes the page file to about 1.5X the amount of actual physical memory by default. While this is good for systems with smaller amounts of memory (under 512MB) it is unlikely that a typical XP desktop system will ever need 1.5 X 512MB or more of virtual memory. If you have less than 512MB of memory, leave the page file at its default size. If you have 512MB or more, change the ratio to 1:1 page file size to physical memory size.

8. Remove Fonts for Speed

Fonts, especially TrueType fonts, use quite a bit of system resources. For optimal performance, trim your fonts down to just those that you need to use on a daily basis and fonts that applications may require.

  • Open Control Panel
  • Open Fonts folder
  • Move fonts you don’t need to a temporary directory (e.g. C:\FONTBKUP?) just in case you need or want to bring a few of them back. The more fonts you uninstall, the more system resources you will gain.

9. Use a Flash Memory to Boost Performance

To improve performance, you need to install additional RAM memory. It’ll let you boot your OS much quicker and run many applications and access data quicker. There is no easiest and more technically elegant way to do it than use eBoostr.

eBoostr is a little program that lets you improve a performance of any computer, powered by Windows XP in much the same way as Vista’s ReadyBoost. With eBoostr, if you have a flash drive, such as a USB flash thumb drive or an SD card, you can use it to make your computer run better. Simply plug in a flash drive through a USB socket and Windows XP will use eBoostr to utilize the flash memory to improve performance.

The product shows the best results for frequently used applications and data, which becomes a great feature for people who are using office programs, graphics applications or developer tools. It’ll surely attract a special attention of laptop owners as laptop upgrade is usually more complicated and laptop hard drives are by definition slower than those of desktops.

10. Perform a Boot Defragment

There's a simple way to speed up XP startup: make your system do a boot defragment, which will put all the boot files next to one another on your hard disk. When boot files are in close proximity to one another, your system will start faster.

On most systems, boot defragment should be enabled by default, but it might not be on yours, or it might have been changed inadvertently. To make sure that boot defragment is enabled:

  • Run the Registry Editor
  • GotoHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
  • Set the Enable string value to Y if it is not already set to Y.
  • Exit the Registry
  • Reboot

Read More..

Developing Software by the 15% Rule


Writing software on a consulting basis can often be a losing proposition for developers or clients or both. There are too many things that can go wrong, and that ultimately translates into loss of time and money. The “15% rule” we’ve come up with is intended to create a win-win situation for both parties (or at least make it fair for everyone). Clients generally get what they want, and development shops make a fair profit. It’s not a perfect solution, but so far it seems to be working for us.

This may come as a surprise to some, but we make very little money selling software licenses. The vast majority of our revenue comes through consulting services–writing code for hire. Having now done this for several years, we’ve learned some hard lessons. On a few projects the lessons were so hard we actually lost money.

A few months ago I put together somewhat of a manifesto-type document intended to address the difficulties we’ve faced in developing software for clients. I’m pleased to say that it’s made a noticeable difference so far for us. My hope is that this blog entry will be read by others who develop software on a consulting basis, so that they can learn these lessons the easy way rather than the way we learned them.

What follows in this article is a summary of one of the main principles we now follow in developing software–the 15% rule. If you’d like, you’re welcome to read the full “Our Approach to Software Development” document.

For the impatient, the 15% rule goes like this…

Before undertaking a development project we create a statement of work (which acts as a contract and a specification) that outlines what we’ll do, how many hours it will require, and how much it will cost the client. As part of the contract we commit to invest up to the amount of time outlined in the document plus 15%. That is, if the statement of work says that the project will take us 100 hours to complete, we’ll spend up to 115 hours (but no more). As to where-fores and why-tos on how this works, read on.

Those that have developed software for hire know that the end product almost never ends up exactly as the client had pictured. There are invariably tweaks that will need to be made (that may or may not have been discussed up front) in order to get the thing to at least resemble what the client has in mind. And, yes, this can happen even if you spend hours upon hours fine tuning the specification to reflect the client’s wishes. Additionally, technical issues can crop up that weren’t anticipated by the programming team. In theory, the better the programming team the less likely this should be, but it doesn’t always end up that way (Microsoft’s Vista operating system is a sterling example). These two factors, among others, equate to the risk that is inherent in the project. Something isn’t going to go right, and that will almost always mean someone pays or loses more money than originally anticipated. The question is, who should be responsible to account for those extra dollars?

Up until relatively recently, we would shoulder almost all of the risk in our projects. If the app didn’t do what the client had in mind, or if unforeseen technical issues cropped up, it generally came out of our pockets. For the most part it wasn’t a huge problem, but always seemed to have at least some effect (the extreme cases obviously being when we lost money on a project).

This seems kind of unfair, doesn’t it? The risk inherent to the project isn’t necessarily the fault of either party. It’s just there. We didn’t put it there, and neither did the client. As such, it shouldn’t be the case that one party shoulders it all. That’s where the 15% rule comes in.

The 15% rule allows both parties to share the risk. By following this rule, we’re acknowledging that something probably won’t go as either party intended, so we need a buffer to handle the stuff that spills over. By capping it at a specific amount, though, we’re also ensuring that the buffer isn’t so big that it devours the profits of the developers.

For the most part, the clients with whom we’ve used the 15% rule are just fine with it. It is a pretty reasonable arrangement, after all. We have had the occasional party that squirms and wiggles about it, but, in the end, they’ve gone along with it and I think everyone has benefited as a result.

Todd Wilson is the owner of http://www.screen-scraper.com, a small software development firm focused on web data extraction.
Read More..

2009/04/01

Forum Software 101 - Why It is Vitally Important to Choose the Best Software to Run your Forum

When you go through all of the work and trouble to set up your own forum, you don't want anything to get in the way of its success... especially your forum software. Because of this, it is incredibly important for you to have a good forum software solution that will support your forum just the way you want and provide you will with all of the tools and user functions needed to manage your forum. Don't just choose the first forum software you come across, do your homework and choose one that is going to work for you.

*Functions

You want forum software that allows you to update, edit, and basically perform any function you need to at any time. If you do not choose forum software that allows you to do that, you are going to be extremely frustrated with your software and run into problems that you could easily avoid. Don't let this happen to you and do some research on good forum software before you get your forum started. It is always easier to avoid problems than to fix them.

*Customize

It is also important to buy or use good forum software because you want to be able to customize it at any time to meet the needs of your forum and discussions. If you want to change the look or feel of the forum for any reason you can. This is important because you need to be in control of your forum and your forum software just needs to help you be in control, not fight you for it.

*Notification

Another reason it is very important to choose good forum software is so you will know when you have new people joining up as well as when you have new posts. You can't obviously live in front of your forum, so you need your software to take care of managing some of the work for you. When you have been notified of a new member or post then you can take care of the details, add follow-ups, delete if necessary, and whatever else you may need to do as moderator of the forum. However, if you don't choose a good software, you might not have automatic notifications which means you will have to be constantly online checking the forum to see what is happening and to see if there are new members. This is a major hassle when there is software available for a reasonable price, and sometimes free, that will take care of this for you.

Now that you know why it is important to choose good software to run your forum, you can do some research to find out what software program will be the best for your forum so you can get started!
About the Author

Michael Turner shows you exactly how to increase web site traffic in his free 7 part mini-series. Grab it today at http://www.powertraffictactics.com/.


Read More..

Cross-Platform Custom Software Development & Integration – IT strategy for large corporation


Microsoft Business Solutions products: Great Plains, MS CRM, Navision, Axapta, MS RMS integration with UNIX/Java based platforms & non-Microsoft applications: Oracle, Lotus Notes/Domino, DBII, PeopleSoft, SAP

The history of software application development indicates that global trends to unification might be reversed in the future. If you take a look at C programming language, intended as cross platform solution (which resolves graphical interface cross platform migration). Later on java was invented to encapsulate the application within java virtual machine, and at the same time we see thin client conception development, which can not be done in C, due to the nature of the internet browser. So, inevitably – large corporation, where system life cycle should last at least a decade, should consider multiple platform adoption: Unix, Microsoft, Linux, MS SQL Server, Oracle, DB2, Lotus Notes/Domino, Microsoft Exchange, etc.
•Microsoft Business Solutions products integration. Project Green will lead to Microsoft suites: Microsoft Financials, Microsoft Distribution/Supply Chain Management, Microsoft Human Resources. The interesting part is – which product will be the base for the specific suite. At this point we don’t know the answer
•Customization Tool evolution. If we look back to the history of Microsoft Great Plains – Great Plains Dynamics/eEnterprise – it had native programming language / IDE Great Plains Dexterity. Today – Dexterity is concurring with such customization and integration tools as eConnect – the set of stored procedures, this is definitely the trend emphasizing SQL coding and developing
•Cross Platform ODBC/JDBC calls. If we look at MS SQL Server or Oracle Transparent Gateways and Generic Connectivity – we will see that Database tools support cross platform heterogeneous SQL requests and updates. The proof of the co-existence trend – isn’t it?
•Java versus C#. The appearance of C# confirmed the fact, that pure Java conception with its virtual machine and isolation doesn’t satisfy Microsoft .Net development requirements. .Net objects could not be isolated the same way as Java/EJB/J2EE. This is where we again have to admit coexistence of two Worlds: Microsoft Windows and Java
•The Stakes. Probably the mixture – and considering the fact that cross-platform integration is addressed from both sides – different platforms should be just integrated. Good balance would be relatively inexpensive Microsoft Business Solutions ERP application: Great Plains (USA, Canada, Latin America, Middle East, Australia, New Zealand, UK), Navision (France, Germany, Italy, Spain, Brazil, Japan, Russia and the rest of continental Europe), Axapta – if you need rich ERP functionality – then your business specific application: Freight Forwarding database, Lease tracking, Consignment, etc. should be placed into Oracle/DB2/Unix/Linux. Microsoft CRM - this is the temptation and we do recommend it - it could be integrated with Java applications
•Reporting. If you plan to deploy them from Windows side: use Crystal Reports upon heterogeneous SQL views, in the case of Java – it depends on the vendor: Oracle, PeopleSoft, SAP, IBM Lotus Notes Domino, Siebel, etc.
We encourage you to analyze your alternatives. You can always appeal to our help, give us a call: 1-866-528-0577 or 1-630-961-5918, help@albaspectrum.com

About the Author

Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com ), serving Microsoft Great Plains, CRM, Navision to mid-size and large clients in California, Illinois, New York, Georgia, Florida, Texas, Arizona, Washington, Minnesota, Ohio, Michigan and internationally.

Read More..

Facts To Consider When Using An Article Marketing Submission Service Or Automated Software Program

One of today's most popular trends in website traffic promotion is Article Marketing. Go to Google and do searches under "submit your article" or free content to republish" and you will find hundreds of sites where you can submit your articles. These sites are willing to post your article so they have fresh content on their sites on an ongoing basis.

You benefit by receiving incoming links to your website. You also add a "Resource Box" at the end of your article, promoting your business or product. They benefit, as their website grows with good content in a variety of different categories. It is a win-win situation.

However, posting articles can become very time consuming. There are also many factors to consider in where and how to submit your article.

Some of these factors are:

1. How to find the best sites to post your article, where they will receive the most exposure. You want to make sure that sites that offer your article have the correct terms of reprint rights policies.

2. What type of Google Page Rank the article site has, how fast they are growing, and how well the database is maintained and kept fresh. The rank is important because your page rank will eventually be calculated by the rate of the website that has inbound links to your website.

3. Don't just rely on Google Ratings, though. New directories are being created daily and growing quickly. Some of these new directories will be rising stars, and you can benefit from posting your articles in new directories as well. Google and other search engines are always looking for fresh, new content.

4. If you submit articles regularly, article website content owners are likely to consider special joint venture promotions with you. They are most likely to want to reward frequent publishers. This might include additional free promotion for your article.

6. Posting articles needs to be thought out so that you get your article in the appropriate category. You also want to check reputation and history of a content directory, to make sure you are putting your article in a place that will improve your reputation, and not damage it.

7. By getting your article published in a highly admired content site, your article will be published in more ezines and on more website's. This means more traffic for your resource box link. There are several pieces of software that automate the process, and there are also places that will do this service for you.

Some of this software is time consuming to learn, and very expensive to purchase.

Many content sites have banned particular automated software submissions because of inaccuracies and major problems with their experience using the software.

Many content websites will accept html there are also many that totally ban it. Automatic software has been known to cause major errors with html error coding issues, causing major headaches for list owners and content site editors.

When you consider some of the submission options in the marketplace, it makes sense to just do it yourself.

By posting each article to each content site you can specify your selected category, which gives you total control over the outcome and accuracy that you desire.

Doing it yourself can be a full time job, though. Keeping a fresh and accurate database of the best sites to submit articles is time consuming, but also important.

Your target outcome should include the choice of categories and the ability to modify code in your resource links to each specific submission. You want to make sure that your article is placed in the most accurate way.

If you have gone the "do it myself" way, you are probably already overwhelmed by the time consuming tedious task it can be.

There is another way to accomplish this time consuming task. You can hire a service to send your articles to several sites, all customized to that directory's specific categories and submission guidelines.

It is a known fact by successful online marketers that writing article to promote traffic to your website is a very successful avenue to pursue.

Remember that accuracy in how your article looks to the potential readers and publishers that view it, should be your number 1 priority.

About the Author: Recieve a fr.e extensive list of places to promote your articles by visiting the following: Laurie's Legends Article Marketing Distribution Service http://articles411.com/special-offer.html?aisn

Source: www.isnare.com
Read More..