Skip to content

Agile Approaches

Australian Software Factory Attendees Share their Experiences

Last Australian summer (December – February 2015), we launched the Australian Software Factory (ASF) with a small number of dedicated students who participated in the ASF for earning work experience towards their degree program. All of them were enrolled in the Bachelor of Engineering in Software, BE (Software) degree program at the University of Adelaide, Australia. The students successfully completed their internship in the ASF while working on 3 very interesting projects with one project was having clients based in Ireland. The ASF was mainly supervised by my colleagues, Dr. Padraig O’leary, who played a pivotal role in making the implementation of ASF a reality by volunteering to provide projects for the first offerings of the ASF and supervise over the summer break. We were glad that the ASF was able to provide the participants with the value they were expecting in terms of hands on training and knowledge about working on real projects using state-of-the-art software development methods and technologies. Now we are assessing the viability of running the ASF again. Our students participants are the most important source of feedback and input about the value of the ASF and feedback for improvements. We are glad and satisfied with the feedback we have received. I would like to share some of the comments from a few students through these pages to encourage other institutes to take similar initiatives. Read More »Australian Software Factory Attendees Share their Experiences

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 the claim of the proponents of Agile approaches that software architecture emerges from continuous small refactoring. However, the is not much empirical evidence to support the assumptions underpinning the claim. Our recent article, Towards an Evidence-Based Understanding of Emergence of Architecture Through Continuous Refactoring in Agile Software Development, on this topic reveals the role of contextual factors in the achievement of “a satisfactory architecture through  continuous refactoring”. This article has been accepted in the 11th Working IEEE/IFIP Conference on Software Architecture (WICSA) to be organised between 7 and 11 May, 2014 in Sydney, Australia.

Read More »Continuous Refactoring and Satisfactory Architecture

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 I started working on an edited book, which has just been completed/published after all the ups-and-downs that usually characterise these kinds of undertakings. I’m very glad to share that the book, Agile Software Architecture: Aligning Agile Processes and Software Architecture, is available for purchase. For interested readers, here is the Table of Content.

The key goal of this book is to provide practitioners and researchers interested in combining agile and architectural approaches with a comprehensive and reliable body of knowledge about the challenges involved in integrating architecture-centric approaches with agile approaches and the solutions to address those challenges. This book is expected to provide a read with detailed guidance on whether or not and how agile and architectural cultures can be made to co-exist depending upon the contextual factors.  This book also provides useful leads for future research in both architecture and agile in order to bridge such gaps by developing appropriate approaches, strategies, and tools for supporting effective and efficient integration of agile and architecture-centric approaches.

Read More »A Practice Oriented Guide on Agile Architecting!

Contextual Customisation of Agile Methods for GSD

Popularity of Agile methods and wide spread adoption of different forms of Global Software Development (GSD) have been encouraging several efforts aimed at exploring the potential advantages and disadvantages of applying Agile methods in GSD arrangements. Several research and industrial efforts and their outcomes aimed at combining Agile and GSD have been published in scientific and practitioner oriented literature – an emerging consensual message in nutshell is – context based customisation – Agile methods in general and Scrum in particular can be deployed in GSD arrangements with appropriate tweaking and customisation depending upon the contextual factors such as nature of domain, number of teams, amount of time difference, and number of cultural backgrounds. Now the efforts are being geared towards understanding the customisation antecedents and strategies of specific Agile methods for different GSD arrangements based on different contextual factors. The outcomes of such efforts are revealing interesting and useful insights into the needs and mechanisms of contextual tweaking of Agile methods in GSD – Yesterday (28 August, 2013), I chaired a session, Tweaking Agile Methods for GSD, at the International Conference on Global Software Engineering (ICGSE) in Bari, Italy, where three such efforts provided very useful findings. Three presenters Maria Paasivaara, Stephan Salinger, and Julian M. Bass shared interesting findings from their research efforts.Read More »Contextual Customisation of Agile Methods for GSD

Social Structures in Extended Team Model

Extended Team Model (ETM) is an emerging mode of arrangement for Global Software Development (GSD). As described in one of my previous post, ETM is a customized offshore outsourcing model aimed at building an extended arm of a client by having access to software development resources of a vendor, usually located offshore, by forming a partnership. Like any other kind of GSD arrangement, ETM can also be characterized by certain types of structures (i.e., social, communication, and work).  Appropriate nature and alignment among these structures are expected to ease collaboration and communication challenges. However, our research is based on more strong assertion about the potential of appropriate social structure for easing coordination and collaboration challenges. As the social networking and social structures are gaining significant attention in GSD, we are very much interested in empirically and systematically exploring the role of social structures in encouraging collaborative behaviors in an ETM-based GSD engagement. Read More »Social Structures in Extended Team Model

Sharing Experiences from Human-Centric Software Engineering Research

My current visit of down under (Australia) provided me with several opportunities to visit several colleagues, albeit for short catch meetings, and share our current research directions and  outcomes. My discussions and invited talks mainly focused on our experiences of devising and executing an ambitious agenda of taking an interdisciplinary approach to combining our historical interests in technological focused research and development efforts with our increasing attention to the socio-cognitive aspects of the origin, development, and use of the technologies (i.e., tools, middleware, design methods) that we devise and empirically assess. This kind of research falls within the theme of “human-centric software engineering” that is increasingly gaining attention of software engineering community. During my visit, I gave three talks about our experiences of human-centric software engineering research at three places: University of Technology Sydney, NICTA, and the University of Adelaide.Read More »Sharing Experiences from Human-Centric Software Engineering Research

Global Software Engineering Challenges for the Next Decade

This is the main theme of the next year’s one of the largest gatherings of academic and corporate researchers, and practitioners interested in Global Software Engineering (GSE) – I am referring to the sixth IEEE International Conference on Global Software Engineering (ICGSE) to be held in Helsinki, Finland. Now we are moving into the final stages of seeking submissions for which we will be relentlessly chasing our friends and colleagues working in GSE to contribute their work to ICGSE2011. There are quite a lot of ambitious plans and interesting news about our preparation for making ICGSE2011 a great success with the support of Everyone and Anyone interested in GSE. But this post is just to share something about the conference’s main theme about which I am extremely excited. So how this theme came and what’s special about it – simple rationale behind a long process.Read More »Global Software Engineering Challenges for the Next Decade

Turkish Software Architecture Conference

Yes, there is a Turkish software architecture conference and a large and growing community of software engineering researchers and practitioners interested in software architecture research and practice. And this is a biennial conference, which is being organized for the last six years or so. I must acknowledge that until a few months ago I was unaware of such an exciting and large community of software architecture, a topic that is very close to my heart and mind when it comes to research and practice. That was why when I was invited to give a keynote at this conference, I was extremely delighted and humbled but little curious about the conference about which I had heard nothing before.
Having been to the conference, I must say that I was really impressed by the number of participants and their interest in the area. It bodes well for the future of software architecture research and practice in such a wonderful country which is not too far from cold Northern Europe but full of warmth of East which I greatly miss. While I feel that I picked up a lot about the state of software engineering R&D in just two days and I would like to share my observations and thoughts through these pages, this post is about the topic that I chose for my talk – Agility and Architecture: Why and how they can co-exist? – and share the synopsis and slides with the folks interested in topic as we have significant research in the pipeline on this topic and would like to hear from like minded people. For the abstract, keep reading….Read More »Turkish Software Architecture Conference

Agility and Architecture – Why and How to combine them?

Whether we like it or not, it is a fact that Agile approaches have had significant impact on industrial software development practices. Many companies which I have come to know through my collaborative and consultancy contacts, especially in Scandinavian region, have adopted and/or are planning to adopt agile approaches. Despite becoming widely popular, there remains quite a great deal of perplexity about the role and importance of a system’s software architecture in agile approaches.

Whenever I look at the literature on or listen to proponents of both topics, a large number of advocates of software architecture discipline appear to be skeptics of the scalability of any software development approach, not necessarily agile, that does not pay sufficient attention to architectural aspects. Looking at the other camp, I get the impression that as if Agile proponents were out there to implicitly or explicitly say that efforts required for looking after the architectural aspects are of little value to the customers of a system. Read More »Agility and Architecture – Why and How to combine them?