How do you know if you have the right set of features to make a compelling release - one that will delight your current customers and woo new ones?
This is a very good point and article. Welcome to the blogosphere.
My personal favorites of the list are 2,3. I have done quite an amount of work in both spheres.
But in my heart of hearts, I still feel the ColdFusion has yet to really prove itself as an Ecommerce Solution. Look forward to my first article on CFDJ in June, on this very topic.
Simply, too often we determine the cf part of the solution is using some shopping cart system, and having worked on a hyper-customized version of AbleCommerce. They just don't work.
It's a good starting point, but it's a living hell in terms of trying to go from an application that is built to be used by possibly any number of companies and ecommerce niches, to one that specifically meets your needs.
Even to this day, my company has queries that run in the background from an Access database, that we never ever need, but it's just too painful to dig thru layers of folders and files to figure if where to remove the code, to not do these unneeded queries.
If CF is going to be dominant in any of those 4 in Tim's list, it has to be because we release quality applications.
What is a quality application?
1. It is easy to understand the flow and logic of the code once you look at it
2. It accomplishes complex tasks, but does so in a way that makes it easy to modify, repair or improve upon.
3. It is built with caching and scalibility needs pre-understood. I mean we think long term, we expect the worst hell to be applied to the code, and so reasonably prepare for that hell.
4. It is error proofed, we prepare against any possible error, and if an error does occur, then we are prepared to both give the customer a good experience and thorough documentation of that error, thru many routes, cfmail, cflog or whatever trick you like.
5. It has been thoroughly planned and documented before any coding has even started. Then re-documented after it is done to help make it easy to understand the work that was done.
6. It is something you can take pride in, and not worry that in 2 months after your contract is over, you'll be called back to fix it.
If we can start meeting those demands, and then reward and recognize those quality developers, then we can create the reputation of CF Developers that we really want.