What Are Your Rates?

I quote a lot of projects. People want to know what something will cost them before they go ahead and give me a development contract, so I have to pin down a price pretty shortly after being contacted by someone to ensure that I don’t lose a deal.

Having quoted so many projects in the last few weeks, I’ve come up with some guidelines for plugin development rates. I thought that getting them out here would probably help prospective clients decide whether or not they wanted to contact me. My general development rate ranges are as follows:

  • < $499 — Basic development services, simple content filters, simple shortcode integration, small existing plugin modifications
  • $500 - $999 — Basic administration panel with a few plugin configuration options. One or two similar widgets. Some light database interaction.
  • $1000 - $1749 — Advanced administration panel or set of panels with more plugin options. Plugin data storage and management. Basic modification of the write post and write page interfaces. Light JavaScript and AJAX work.
  • $1750 - $2249 — Heavy database work including storing custom data. Integration of new data objects with existing WordPress data. Moderate amounts of AJAX on the administrative or client-side.
  • $2250+ — Ecommerce integration. Extensive modifications to the WordPress administrative interface. Creation of entirely new application inside of WordPress. Heavy AJAX use on the administrative or client side.

These rates include the highest quality, well-commented, and clean code. I also offer two months of support for minor changes and bugs after delivery. Upon payment in full, you will own the copyright to all code developed.

If you’re interested in my services, please request a quote or contact me.

WordPress Plugin — WP-Project

WP-Project is a complete project management suite developed for use from within WordPress. It is inspired by product offerings like Basecamp and Harvest.

While WP-Project is not as polished as those offerings and doesn’t have all of the features they do, it does have one huge advantage: it’s free. WP-Project is licensed under the GPL, which means you can use it and modify it for free. Just make sure to contribute any changes you make to the community.

Features

What does WP-Project offer? The following is a brief list of features present in WP-Project:

  • Track clients
  • Track projects by client
  • Track tasks by project
  • Track time per task, quickly and easily

Get Started

What are you waiting for? Download the WP-Project plugin now and get started managing your projects, clients, and tasks. If you’d be so kind, give me some feedback on what you like, don’t like, and want to see added.

How Do You Write a WordPress Plugin

One of the things that I am most often asked is “How do you write a WordPress plugin?” In this post, I’d like to talk about the process that I go through when I am contracted to write a new plugin. While I won’t delve into the technical details here, I hope this can give you some insight into how I do things, and how you can do things if you’re willing to invest the time and energy to learn how.

1. Gather Requirements

When I’m getting ready to start a plugin project, I always make sure that I have a full and somewhat detailed specification of what my client wants. Going through a requirements gathering period serves to determine three main things.

  • Feasibility — It is important to determine if requirements can be met through the development of a plugin. You need to examine the requirements and then, if you’re unfamiliar with the functionality that would need to be introduced, go ahead and examine the WordPress plugin API. Believe it or not, there are some things that you just can’t do within the limits of the API, and you need to know that before you start.
  • Scope — One of the largest problems with software development projects is the advent of scope creep. Determining the scope before a project starts involves recording all the functions a plugin must provide. This step usually involves asking your potential client a load of questions to really drill down and understand what they want. The goal is always to get away from a vague project goal and get into the meat of what the plugin needs to do.
  • Estimate — There is a big difference between a small plugin project and a large plugin project, both in terms of complexity and time commitment. Determining the scope allows for an accurate quote and completion estimate.

2. Determine Approach

After gathering requirements, I spend some time determining what my approach to the plugin will be. How will I create the functionality required and what is the “best” way to do it? Much of this step will be determined by my prior knowledge or the research I did in step 1. Most plugins require you to add an administration page of some sort, so I became quite familiar with that process almost immediately. After that, it is important to determine what you’re going to do to make things easiest for the end user.

As an example, consider a plugin that adds a small amount of content designed to be shown in or around a single post. This may be for a social bookmark button or something similar. There are several approaches you could take. You could directly modify the post content via a filter, add a template tag that the user would have to put in their template files, or some other method.

As you can see, there are generally a variety of approaches that you can take to accomplish a single goal. You have to determine which is the best for the situation and consider any advantages and drawbacks that come with it.

3. Implementation

If you’ve done the correct amount of preparation in steps 1 and 2, then implementation should be the easiest step so far. You’ll know what you have to do and how you’re going to do it. Now you just have to sit down and write the plumbing code that hooks all the functionality you need into WordPress’s ecosystem.

In general, you’ll have to write activation and deactivation hooks, write a class that encompasses all your functionality, and register action and filter hooks. All this can be time consuming, so you may want to keep around a template file if you plan on writing a lot of plugins. Make sure to follow the WordPress coding standards.

4. Testing

The last and final step in the implementation of any plugin is the testing step. You need to verify that your plugin does what it is supposed to on a variety of platforms and with a number of different inputs. Do you give the user appropriate error messages? Do you validate inputs and make sure that nothing gets through that shouldn’t? Is your plugin PHP4 and PHP5 compatible or does it not matter?

All these are important questions to answer when you’re testing your plugin. A thorough test before release ensures greater uptake by the community and reflects better on your abilities.

5. Release

After all your implementation work is done, you get to release your plugin to the community. Before doing so, make sure you describe your plugin adequately in the standard readme.txt file that WordPress.org requires and that it comes with a license defining the rights the user has. Hopefully, all your hard work in the above steps will pay off and your plugin will be used and enjoyed by many people.

Welcome to Plugin-Developer.com

It is with distinct pleasure that I write this post introducing Plugin-Developer.com. The demand for plugins is at an all time high, and I am proud to offer high quality plugin development work to my clients.

If you contract through Plugin-Developer.com, you will always be satisfied with the quality of work you receive. I guarantee it. If you’re not happy with the finished product, I’ll work hard until you are.

Unlike most plugin development contractors, I produce high quality code of the highest standard. There is no reason to settle for any less. I won’t cut corners, and I’ll use only the best plugin development techniques.

Don’t forget, if you’re ready to get started, please visit the Quote Request form and fill it out. Have a question or comment for me? Visit the comment form.