I've had the pleasure of working in 3 fusebox shops in the past year. I'm currently in one now, but I'm not on a fusebox project. All three of the shops had implemented something less or different than the standardized fusebox. FuseDoc was used in only one shop, as were XFAs. None of them were even evaluating fusebox 4 yet.
I find some of the benefits claimed by fusebox somewhat dubious:
- Increased productivity - I haven't really seen huge gains in productivity, even on large projects with thousands of templates. In many instances, I've even seen productivity losses, especially when it comes to debugging. Also fusebox makes the use of some of the productivity aids in Dreamweaver unavailable.
- Increased code reusability - True, you tend to get greater code reuse than plain old coldFusion would provide without a dedicated strategy to write reusable code. However, components are even better suited to code reuse than fusebox. Not only can the code be reused, but extension provides even greater flexibility by allowing reuse of only parts of existing code.
- Easier code maintenance - Again, component based architectures seem to have the code maintenance benefits of fusebox beat. By writing components that maintain their encapsulation (by using the variables scope instead of the this scope), changes to components can be made when needed. In many cases code that relies on the component being changed is unaffected by the component modification. Additional functions can be added without disrupting existing dependant code.
- More productive team development - For some reason, all of the fusebox shops I've been in have been set up in a similar fashion. All the developers work off of a single development server using CFStudio as their editor. Some use source control and some don't (the shop that didn't use source control on a single dev box is just nuts). I like working on my workstation with a dev copy of cf and dreamweaver. That way I don't have to file a 5 part change request to get debugging turned on.
Also, running fusebox in a shared environment can be a problem as well.
I'll probably take a look at Mach-II, but I've heard that fuseboxers have trouble understanding it.