Fereidoon Shams

Learn More
Although software projects can benefit from XP practices, but all projects can not directly adopt it. Characteristics of some projects make it difficult to use XP thoroughly; therefore, we need to tailor XP to the local conditions, contexts and the size of these projects. In this article we will describe why defining XP by its practices has problem and(More)
Sheer scale of ULS systems will change everything and make it impossible to rely on our current knowledge and techniques of software development. At first, we need to fully understand the nature and derived challenges from characteristics of these systems, then we should introduce new ideas for how to develop them. As architecture is the key artifact in(More)
Context: A key activity in the construction of any enterprise-wide service-oriented system is the identification of enterprise-level services from business models based on required quality attributes. Conventional service-identification methods rely heavily on the experiences of architects to direct them in the identification of services and architectural(More)
ULS systems have been introduced as a kind of future systems. They advent by increasing scale of systems from different dimensions. The scale causes essential differences between these systems and conventional software systems. Geographical distribution in development and deployment is one of them which bring problems in the growth of these systems. However(More)
Achieving ultra-large-scale software systems will necessarily require new and special development processes. This position paper suggests overall structure of a process model to develop and maintain system of systems similar to Ultra Large Scale (ULS) systems. The proposed process model will be introduced in details and finally, we will evaluate it(More)
Architecture-level business services are identified based on business processes; and likewise, in serviceoriented product lines, identifying the domain architecturelevel business services and their variability is preferred to be based on business processes and their variability. Identification of business services for a product line satisfying a set of(More)
Variability Management (VM) is one of the key activities of software product line engineering which helps mass customization by enhancing reuse of common parts of the software introducing proactive and planned reuse. In Service-Oriented Product Lines (SOPLs) which are built based on services as their main building blocks, variability management is reported(More)