Category: Software Engineering

  • IEEE/ACM Guidelines for Software Engineering Curriculum

    Software Engineering educators and research would be quite keen to know that the IEEE/ACM Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering have been released. The work on the revision of the previous guidelines from 2004 has been carried out by  a joint task force on Computing Curricula IEEE Computer Society Association for Computing Machinery…

  • A New Course for BE (Software) Degree – Engineering Software as a Service

    Software Engineers are expected to develop and evolve increasingly complex systems and services using Agile and Lean approaches and emerging technologies like Cloud computing. Hence, there ought to be modernisation of the curricula and mode of delivery for educating and mentoring the future Software Engineers. Software as a Service paradigm has been increasing popular as…

  • Teaching Software Design with Holistic Personas

    Software Design is one of the most important activities of Software Development lifecycle as the design decisions usually have significant impact on many other decisions to be made later on; most importantly software design facilities (or inhibits) the achievements of quality requirements expected of a system. hence, knowledgable and expert designers critical for any software…

  • Keynote Talk at the Big Data & Cloud Computing Conference

    It was a great pleasure to have an opportunity to attend the fourth edition of the Big Data and Cloud Computing Conference in Sydney at the beginning of December, 2014. I had had the privilege of listening to several great keynote speakers, all of them well known leaders of their respective areas of research and…

  • Architectural Solution for Providing Tools as a Service

    A couple of years ago, we pitched the idea of Tools as Services  as it had become clear that Cloud Computing based infrastructures will be widely leveraged for providing all sorts of services for businesses. We conceived and started a project to design, build, and evaluate an infrastructure that can materialize our idea of providing…

  • Keynote Talk on Knowledge Sharing & Global Software Development

    Knowledge sharing is critical for successful software development projects – Software Engineering community has been investing huge amount of efforts in supporting and promoting knowledge sharing over the last many years with mixed outcomes. Knowledge sharing for gaining common understanding is considered a central concern when software development work crosses geographical, cultural, or organizational boundaries. One…

  • Artefactual Culture for Knowledge Sharing in Global Software Engineering

    Knowledge sharing is an important, but usually ignored activity because of time and effort required are hardly available; especially the documentation based knowledge sharing approaches have hard time gaining acceptance by contemporary software development teams in general and Agile methods users in particular. Agile followers heavily promote the use of face-to-face interactions and source code…

  • Enabling Process Knowing in Global Software Engineering

    One of key challenges of Global Software Engineering (GSE) is to help geographically distributed team members to gain a common understanding of the processes. Lack of process knowing results in ambiguity in responsibilities, roles, and assigned tasks and the processes to be followed by different sites. This problem is called “process distance.” There can be several…

  • Continuous Refactoring and Satisfactory Architecture

    The tension between the followers of Agile and Architecture-centric approaches appears to be easing to some extent; perhaps, both sides have realised that there are potentially several benefits of taking a middle road – Integrating Agile and Architectural approaches and practices wherever it makes sense. One of the key sticking points in the debate is…

  • A Practice Oriented Guide on Agile Architecting!

    Whilst it has widely been recognised that agile and architecture-centric approaches need to be integrating for developing large scale software intensive systems, there has not been much work on providing a good source of guidance based on multiple perspectives for successfully integrate architecture-centric approaches in agile methods. A few years ago, a few colleagues and…