Article Preview
TopIntroduction
Software Engineering (SE) is a well-established discipline that examines the design, development, and deployment of software systems (or systems for short). SE addresses numerous questions like what phases to follow, what notations to adopt, what tools to use, what experiments to carry out, and what maintenance activities to plan. SE, also, helps ensure that systems satisfy users’ functional and non-functional requirements (e.g., reliability and availability). User involvement in system design and development is of paramount importance in any software engineering endeavor (de Waal & Batenburg, 2014).
Due to the continuous development of Information and Communication Technologies (ICT), software systems have gone through multiple changes. From monolithic blocks that are confined into specific places to distributed and heterogeneous blocks that spread out all over the world, and from systems that require human assistance when they breakdown to self-healing systems that fix breakdowns automatically. These are samples of changes that SE had to cope with. As a result, new SE paradigms have emerged and continue to emerge. The current century features new ICT trends like cloud/fog computing, big data, Internet of Things (IoT), and computer forensics that have triggered (sometimes “heated”) debates about SE appropriateness for these ICT trends (e.g., “addressing the software engineering challenges of big data”, software engineering institute’s blog, 2013). The Web, also, is another major trigger. Indeed, the Web now is the platform of choice upon which entire cross-border e-business systems are deployed. The evolution of the Web from 1.0 (readable online content) to 2.0 (editable online content) and then 3.0 (semantically rich online content) is a good indication of how ICT continue to drive the development of new systems. An example of such development is the emergence of social systems that are the focus of this paper.
Social systems display Web 2.0 (or social) era in which end-users simultaneously consume services and provide services (i.e., end-users are referred to as prosumers (Pedrinaci & Domingue, 2010) and are even anonymous but willing to help out). Investment on Web 2.0 (e.g., social networks, wikis, and blogs) is expected to reach $6.4billion in 2016, according to Forrester Research (Houston & Hoehler, 2013). Despite this heavy investment “... many large companies are embracing internal social networks, but for the most part, they’re not getting much from them,” according to Gartner1. We attribute this limited return-on-investment to different factors including (1) unsuitability of some Web 2.0 applications for the corporate world (“is Facebook really a good tool for business?” open forum’s blog, 2009), (2) corporates’ negative perceptions (e.g., distraction) towards some Web 2.0 applications, and (3) over-emphasis on technology rather than humans. Could the inappropriateness of some SE current models and practices for developing social systems be another factor of this limited return-on-investment?