Extreme Programming and its Alikes – Can we Use Software Development Methods in Many Walks of Business Life

Technology in a modern company and its operating environment is ubiquitous. Technology that increasingly eats and breaths data and analytics is around everywhere, all the time. Still, starting from the way education and professional identities are formed, technology development processes and tools related to software, programming and data analytics is seen as a siloed and specific capability pertaining to just a few in the organization.  But could they offer an overarching mindset and way of operationalizing the work between the idea/need to a marketable product or service innovation?

Showcasing the phenomenon via Extreme Programming (XP) principles

Many of us have been users of XP – a version of the Microsoft operating system now gone by. XP as an abbreviation also has another connotation familiar to people who have studied and practiced software development: Extreme Programming. In the online TIVI-magazine (originally Tietoviikko = Information week), a Finnish magazine focusing on ICT-related matters and targeted mostly to professionals and organizations instead of academia, a professor at the University of Jyväskylä, Pekka Abrahamsson, discussed in January 2021 the continuing validity of the key postulates of XP. He made a notion on the applicability of the principles beyond the borders of software development. (Kotilainen, 2021).

What is XP based on? Why XP? What is there to bring to the knowledge and use of a wider business public? What should we know and how would we gain that knowledge?

Since XP was introduced in the late 1990s by Kenneth Beck as a reflection on the payroll project he was involved in when developing software at Chrysler corporation, it has come to adult age, but to a certain degree also become forgotten behind other methods and principles of agile development, such as Scrum, and, lately, DevOps. According to Jeffries and others (2001), XP is a discipline of (software) development, that sets a high value to simplicity, communication (including continuous feedback), and courage. The customer is also seen to have one of the main roles across the stages of development and solution maturity. The method is seen as an upgrade to the long development cycles in the so-called Waterfall-method with clearly separated stages of Analysis, Designing, Implementation, and Testing. Thintermediate method between Waterfall and XP can be named as the Spiral model where the whole development process/project is divided into smaller chunks that each contain the stages of Waterfall and follow each other in time. (Beck, 1999).

Can “extremism” work outside the realm of software?

So, who could resist the temptation of XP to act swiftly and keeping customers on board? Most of us have first-hand experience on projects that spend a long time and set a huge definition to the creation of the exact specification of what needs to be achieved, then turn the creation process into work packages, creation of a project team, etc. The time lag between the identified development needs and the start of action can prolong to a full year or more in a big organization. By that time, the competitive environment and technological advances may have brought up the need to go back to the analysis and design stages.

The postulates of XP sound familiar to many of us acting in high-speed and volatile operating environments. Bridges between XP and Design Thinking were identified by Sohaib and others  (2019), whereas Rahayu and others (2019) saw XP as applicable in sales development in e-commerce. All within the frame of (most of) the 12 core principles of XP (Beck, 1999).

Let´s imagine with a lens of XP ­an environment where 2 university educators are designing and implementing a novel course. The process could show in the HE (Higher Education) context and contain the elements of:

  1. Planning  => Fit to the curriculum and student cohort, address  the learning outcomes                 
  2. Small releases  => Create material as you go, a few weeks ahead
  3. Metaphors => What is this course like? How does it feel? What does it communicate?
  4. Simple design => Number of novel features (to the customer) small and well justified 
  5. Testing => Interim feedback and corrective action, make feedback and reflection a grading item
  6. Refactoring => Changes to targets and ways to get there done immediately after testing
  7. Pair programming => Challenge each other, do jointly, bounce your ideas back and forth
  8. Collective ownership =>Engage learners to be part of the process
  9. Continuous integration =>  New content, findings and ideas taken quickly into practice
  10. On-site customers => A pilot course as an elective study, next iteration with larger audience
  11. Coding standards => follow the key features of LMSs (Learning Management Systems)
  12.  An a 40-hour week (Beck, 1999) => Omit overwork on planning, save time for improvements

Does this sound extreme to a traditionally slow-moving organization? It may do so, but does it sound impossible? In March of 2017, I had the joy to discuss with a (master´s) course leader of digital health at a US University. When asked about the curriculum for the program starting in September, so 6 months after our discussion, the answer was blunt “How could I know? It is 6 months to the start” What about the pedagogy? “It depends on where the world will be going to!”

If the world around us is operating in extreme settings, should we as well act accordingly? Independent of the industry, company, function where we are, and job title we have? What if not doing things in the XP way is also an extreme decision, but leading further and farther from where the XP mindset might lead us? What is your X that could be extremized?

The future way of thinking computationally

The description of XP as a software development method potentially applicable to other development processes was an individual example. The voices from the business community propose, however, that the impact of the “software way of thinking” may be wider than just taking tools into use in a new context. At the SEFI 2022 conference, an annual gathering of engineering education stakeholders, a senior executive of an industrial conglomerate outlined the expectations for the new transferable (across jobs) skills of a future professional: 1) Thinking systemically (understanding the intertwined nature of different functions and processes within and between companies), 2) Thinking computationally (being able to describe things with a computable logic, understanding the opportunities of computerizing processes and building decision-making on data and analytics) and, 3) Seeing and thinking everything through a lens of sustainability (environmentally, economically and socially sustainable way).

Feel free to share and propose collaboration for joint research or a joint (extreme?) development of a framework and tools on how to think systematically, computationally, and sustainably across disciplines.

Juha Saukkonen D.Sc. (Econ.), Senior Lecturer of Management, School of Business, JAMK University of Applied Sciences.

References:

Beck, K. (1999). Embracing change with extreme programming. Computer32(10), 70 –­­­­ 77.

Jeffries, R., Hendrickson, M. M., Anderson, A., & Hendrickson, C. (2001). Extreme programming installed. Addison-Wesley Professional.

Kotilainen, S. (2021). ”Unohdettu agile-menetelmä toimii yhä – ”tiimistä tulee supertuottava”” (in English: A forgotten agile method still works – a team becomes superproductive”. Retrieved 13.10.2022 https://www.tivi.fi/uutiset/unohdettu-agile-menetelma-toimii-yha-tiimista-tulee-supertuottava/786bee93-3850-47e0-84d8-26c86520576e.

Rahayu, S., Fitriani, L., Kurniawati, R., & Bustomi, Y. (2019).  E-commerce based on the Marketplace in efforts to sell agricultural products using Xtreme programming approach. In Journal of Physics: Conference Series, 1402(6), pp. 66 – 108.

Sohaib, O., Solanki, H., Dhaliwa, N., Hussain, W., & Asif, M. (2019). Integrating design thinking into extreme programming. Journal of Ambient Intelligence and Humanized Computing10(6), 2485 – 2492.