When creating managed beans ...
By Frank Nimphius on Oct 31, 2010
You wont recognize the absence of Serializable before running your application in a fail over environment.
As it fits into this context: Note that managed beans can inherit from a parent. So you may want to design a base managed bean class that contains helper functions you often need and that also implements Serializable. Then, with a little change to your coding guidelines, that managed beans must extend the base bean, you ensure your application's managed beans are always serializable.
Note that under the Tools | Preferences | Audit | Profiles entry, Oracle JDeveloper has an audit rule to find managed beans that are not serializable