Scope mapping needs to use the normalized camel case name of the attribute and not the form that it appears in the mark up.
pobo.directive('summaryAddress', [function () {
return {
scope: {
address: '=summaryAddress'
},
template: "<h2>Billing Address</h2>" +
"<span>{{address.flatNumber}}</span>"
};
}]);