Accelerate - Focus on the end product, not the components

There is so much awesome open source code available, and some of it is very powerful. To build a powerful, cost-effective solution, the best approach is to use open source code to provide the bulk of the functionality, and then extend or integrate the remaining elements.

The complexity is in gracefully combining elements from diverse sources into a cohesive unit, and ensuring the design is manageable in the event that more than one application is used on the site.

The choice of components is extremely important. I think the only way you can really decide is to try them out.

Management notes

One the most important things I have learned is the impact of organization, roles and responsiblities, on a company.

Even with a great technical team, if you don’t have good leadership and management, you will not be successful.

If you fail to resolve a conflict between employees, you risk losing the better employee, because they will likely have a choice (meaning able to get another good job), where the less qualified person will not.

If the goals and limits of a project are not clearly defined and communicated to a team, the team members will be unable to make good decisions as they work, and they will not be able to stay within the budget.

How many site have the same IP address?

More Praise for b2evolution ...

I had an old blog, with a few posts I liked, but the blog software had been discontinued. b2evolution allows you to run an entirely separate and independent blog - with a single installation of software, with very little effort.

In this case, the other blog is for fun - so I didn’t want it linked to this one, and I wanted to keep the URL of the existing blog. I copied the content from the posts I liked, and it’s all set.

:)

Choosing a web "technology" or product

There is an amazing array of awesome open source software available for a wide variety of applications. Choosing the right product is extremely important.

Be sure you have a clear definition of what you are trying to do first. If you are trying to create a simple web site that is easy to use and maintain - you can use a blog or content management system. You could even use a template based system offered by many hosting companies. If you want to sell items on line, and you don’t want to use eBay - you may be able to use PayPal, or you may need a cart. The only way to decide what makes sense is to really understand what you want to do, and then, what the different methods are. The same is true for a social network, a resource site, and or a huge multi-function system.

Next, you should understand your time frame and resources. In a nutshell, if you don’t have much time, you will need to choose a solution (hosted or not) that allows you to bring it to life quickly. If you have a team with experience with a specific product, that may be a driving factor. Be sure their experience is with a current, active product, not an unsupported technology. If you have LAMP servers, and you want to use a java based product, be sure the servers are ready to support it.

Another key consideration is the interaction with other systems. For example an ecommerce site may need to interface with an accounting system.

Finally, one of the best ways to evaluate products is to try them out. Even if you have to buy a copy (assuming the cost is not prohibitive), to evaluate it fully, the investment will probably be valuable - either by allowing you to purchase it comfortably, or abandon it after careful review.

My evaluation criteria for web-based products:

  • Will run on my server
  • Online/live demo at the source site to experiment with
  • Documentation is accessible and adequate, and in a language I can read
  • Does not have current serious security issues, or offers a patchSecunia
  • Market share, popularity
  • Interfaces to other products
  • Easy to install
  • Easy to use
  • Support forum or organization
  • Community and contributions, plugins
  • Architecture of software
  • Extensibility
  • Comments posted in blogs and forums about the product, although these must be reviewed carefully.
  • Cool name and neat site :)