Skip to content

Extreme Programming

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

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?