Our team consists of 4 full-time developers and occasional outside help. The developers maintain several different applications and do not all share the same skill set. I understand that scrum teams should be cross-functional, but in this case they all do the same general kind of work on the same general family of applications. There is some coupling between the applications, but not enough to make the developers interchangeable or consider the applications as "tiers" for the purpose of vertical slicing. The developers are essentially one- or two-man teams who know something about one another's work, but not enough to do it themselves.
How can the team agree on a common baseline or point of reference for estimating story points, when a one-point story on application A might not necessarily be half as big as a two-point story on application B? Should these developers even be considered a single scrum team?