1. Establishing a Community
The development of an application profile begins with the establishment of a community of shared interests that can identify the need for an application profile and support its development and maintenance. The community needs to define itself as an entity and create an agreement between its constituents.
This community, once established, looks at the requirements of its members, both in terms of existing systems and processes and its future needs. It also needs to take account of the specifications (and existing application profiles) available to it.
2. Domain Modeling and Identification of Specification Gaps
Once requirements have been gathered, there needs to be a process of analysis and synthesis, where the community produces models of its domain and identifies gaps in available specifications. It may also develop a reference architecture model to place the specifications within a system design context.
3. Determining/Prioritizing Application Profile Creation
At this point, the community has the information with which to make the decision whether or not it is appropriate to create a profile. It also needs to consider other practical issues, such as the estimated costs and predicted benefits of creating the profile, and also the opportunities, risks, and strategies associated with the take up of a profile by the implementation community.
If the community decides it is appropriate to create a profile, it can then make a choice of specifications and/or existing profiles, and begin development of the application profile.
4. Developing the Application Profile
During the development process it may be necessary to revisit the requirements and analysis and synthesis phases, to qualify, re-examine, and review their outputs in the light of decision points within the development process.
5. Publishing and Maintaining Application Profiles
Finally, an initial application profile is created. Profiles need to be published, so that other organizations wishing to create profiles can locate and reuse existing work. Where this is not applicable or practical, then the profile should be published formally with an official identifier. IMS maintains a profile registry where you can post profiles of IMS Specfications.
This is not the end of the overall process, as this profile still needs to be maintained, and the community must support its implementation community.