Complexity and the Need for Agility


Information Technology (IT) has different characteristics than other inventions in the history of man. In the period up to the digital age, the transformation of the substance has been in a “from-hardware-to-hardware” form. In the digital age, the transformation has changed to a “from-hardware-to-software” and thus, the digital era has gained some unique capabilities. The things that have been transformed to the completely different platform in this era have found a new expansion area, making the world of IT as the projection of the real life on another platform (Wolfram, 2006).

Moreover, IT, as the discipline, consists of three main components; human (as another source of complexity), process and technology. Among these there, the human beings have a special place. The range of their potential can be significant and flexible and they have an ability to design and shape the other twofold; technology and process. Considered that technology is a solely human-made artifacts and that other creatures cannot create technology without human beings’ involvement reinforces the importance of them in this manner. While the severity of this significance throughout the history has been indisputable, mankind nowadays has crucial factors affecting organisations of the IT era; with exploiting the power of IT, humankind now has more power.

Expanding the IT coverage to almost all the field of the life that is naturally very complex and including and involving people in development and usage of IT that brings another completely to the field have ended up with the need of dealing with such complexity in a proper way.

Agility, which is defined as the ability to adapt to changes by reacting to environment, is being involved in the software development processes as a response to manage such complexity already at hand. This is actually due to the desire of the software itself, which is the final product, to be alive and responding to its environments. The form in which processes like software development evolve to gain vitality and corresponding agility has taken a circular shape. Specifically speaking, it is ideal for the software development processes to have the circular forms; then iterative, incremental and organic development recently have become the general characteristics of the software development methods to have a more alive form. With this circularity, the human accepts his/her imperfection and seeks to discover, research, learn, make mistakes, learn from mistakes, return to a starting point, learn again, know the unknowns and adapt, which are especially required for agility in the complex domains. Including such like features, in general, we can list the prominent elements to have and apply agility capabilities as following:

  • Inspect and adapt to sense and response to the changes that are expected or unexpected
  • Continuous feedback to adapt and respond to changes
  • Continuous learning and improvement to improve the response itself and response producing processes
  • Empirical process and realism to establish continuous feedback, learning and improvement means with accurate data
  • Incremental and iterative development and continuous integration and delivery to learn and deliver more and quicker
  • Lean approaches to eliminate waste (of time mostly) that is needed for quick response
  • Open communication and transparency to provide agile and accurate information flows
  • Goal and customer orientation and focus to follow the change (value)
  • Deep understanding and expertise to come up with the accurate response in a timely manner
  • People, another complex argument, orientation to bring the human abilities to the fore to cope with the complexity of the domain
  • Cross-functional teams to fasten decision making processes and consequent actions
  • Team autonomy, empowerment and self-organization (decentralized approach) to bring decision making point closer to of doing the work
  • T-shaped individuals to break even individual silos and facilitate collaboration when needed


Wolfram, S. (2006). The future of computation. Mathematica Journal10(2), 329.

Previous article3 Components of Success in Startup Mentoring
Next articleCube Incubation Published “Deep Dive into Deep Tech” Report


Please enter your comment!
Please enter your name here