Category: Human-Centric Software Engineering

  • Architecting for Continuous Delivery and Deployment

    Continuous Software Engineering has been gaining signifiant momentum in terms of widespread adoption among large and small Software houses. This paradigm shift is based on the promise of early, frequent delivery and deployment of software features and continuous feedback on the usefulness and adoption of the features. One of the key challenging area of practice…

  • The Role of Site Visits in Software Engineering Teams

    A large number of Software Engineering teams are virtual, which are characterised by various types of distances such geographical, culture, temporal, and knowledge. Such distances can cause a number of small and big challenges that lead sub-optimal development teams or event project failures. Software engineering researchers and practitioners have been researching and debating the cost…

  • Talk at NEC & IDC Event on Smarter and Safer Societies

    Smart Cities initiatives can mean different things to different people and solutions providers. However, there is no doubt that a smart city solution should not only focus on providing the core service but should also contribute to the safety of the users of a service. That is why quite a lot of smart cities solutions…

  • Making Software and Software Engineering Visible

    Software is becoming increasing pervasive. We have been witnessing dramatic changes and improvements in our lives courtesy to software based devices, services, and systems. Several reports are appearing that emphasise the importance of software engineering for continuously driving the ICT based innovation and job creation. For example, NESSI, a European technology platform has released a…

  • 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 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…