• Continuous integration (implemented by Imple-
ment:Integrate as a single action) may not be ap-
propriatewhen the product is legacy software with
many dependencies between components (Shahin
et al., 2017).
• If the product represents the start of a new
product-line involving safety-critical software,
perhaps Architect must be an integral part of every
module.
• A large, complex product suggests a need for Ar-
chitect up front, regardless of any desires to be
‘agile’.
Our analysis has raised many questions. We be-
lieve the need to answer these is a pressing one. The
ability to adapt development process has been shown
to affect performance (Clarke et al., 2015) and a com-
mon lens is needed to support such adaptation.
5 SUMMARY
In this position paper, we have explored the possibil-
ity of using Action Grammars to provide a common
lens on the various paradigms underlying software
development methodologies, for example, agile and
plan-driven. Our position is that, rather than starting
with a process solution (methodology) and attempt-
ing to retrofit the problem, we would like to start with
the problem and design an appropriate process solu-
tion. We modelled some popular methodologies as
Action Grammars. We found that many commonly
used terms, for example, ‘incremental development’
can be interpreted in multiple ways i.e. have different
underlying grammars. This means that we are dis-
cussing methodologies without a clear understanding
of the applicable rules and constraints. Our contri-
butions are a novel abstraction that reconciles devel-
opment approaches and the exposure of issues with
popular terminology.
For future work, we will a) analyse some com-
mon scenarios with respect to our lens, and b) apply
Pentland’s notion of using surface patterns of action
as a tool for “describing and discovering” how pro-
cesses are typically enacted. The first will serve as
a means of evaluating the potential of the approach.
The second will help us to understand, for example,
the factors that affect‘best’ iteration length. Our over-
all aims are to more deeply understand the relation-
ships between problem space characteristics and cus-
tom grammar design.
REFERENCES
Avison, D. and Pries-Heje, J. (2008). Flexible informa-
tion systems development: Designing an appropriate
methodology for different situations. In Filipe, J.,
Cordeiro, J., and Cardoso, J., editors, Enterprise infor-
mation systems : 9th International Conference, ICEIS
2007, pages 212–224, Berlin, Heidelberg. Springer.
Basili, V. R. and Turner, A. J. (1995). Iterative enhance-
ment: A practical technique for software develop-
ment. IEEE Transactions on Software Engineering,
SE-1(4):390–396.
Beck, K. (2000). eXtreme Programming eXplained - Em-
brace Change. Addison-Wesley, United States of
America.
Clarke, P., Mesquida, A.-L., Ekert, D., Ekstrom, J., Gornos-
taja, T., Jovanovic, M., Johansen, J., Mas, A., Mess-
narz, R., Villar, B. N., O’Connor, A., O’Connor, R. V.,
Reiner, M., Sauberer, G., Schmitz, K.-D., and Yilmaz,
M. (2016). An Investigation of Software Development
Process Terminology. volume 609 of Communications
in Computer and Information Science (CCIS), pages
351–361. Springer International Publishing, Switzer-
land.
Clarke, P., O’Connor, R. V., Leavy, B., and Yilmaz, M.
(2015). Exploring the Relationship between Software
Process Adaptive Capability and Software Organisa-
tional Performance. IEEE Transactions on Software
Engineering, 41(12):1169–1183.
de Azevedo Santos, M., de Souza Bermejo, P. H.,
de Oliveira, M. S., and Tonelli, A. O. (2011). Ag-
ile practices: An assessment of perception of value of
professionals on the quality criteria in performance of
projects. Journal of Software Engineering and Appli-
cations, 4:700–709.
International Standards Organisation (2004-2006).
ISO/IEC 15504: Information Technology - Pro-
cess Assessment (Parts 1-5)). The International
Standards Organisation.
Kirk, D. and Tempero, E. (2006). Identifying Risks in
XP Projects through Process Modelling. In Proceed-
ings of the Australian Software Engineering Confer-
ence (ASWEC’06), pages 411–420, Sydney, Australia.
IEEE Computer Society Press.
Kirk, D. and Tempero, E. (2012). A lightweight framework
for describing software practices. Journal of Systems
and Software, 85(3):581–594.
Larman, C. and Basili, V. R. (2003). Iterative and Incremen-
tal Development: A Brief History. IEEE Computer,
36(6).
MacCormack, A., Crandall, W., Henderson, P., and
Toft, P. (2012). Do you need a new product-
development strategy? Research Technology Man-
agement, 55(1):34–43.
M¨uller, S. D., Kræmmergaard, P., and Mathiassen, L.
(2009). Managing Cultural variation in Software Pro-
cess Improvement: A Comparison of Methods for
Subculture Assessment. IEEE Transactions on Engi-
neering Management, 56(4):584–599.