Six critical differences in software development – now and 20 years ago

Among the futures studies experts, there is a recurring opinion that the first 20 years of the 21st century was significantly defined by its further progress, particularly in the development of technology. A particular place in the process is taken by the changes in the process of software development, software which – contrary to the end of the 20th century – is launched not only on computers but almost everywhere: smart phones, refrigerators, washing machines, vacuum cleaners, and, to an increasing scale in business, due to the IoT.

Meeting the global demand on software would probably not possibly if not for the changes that had taken place within the last 20 years in the process of development. While the majority of the programming languages used currently was already very popular, the means of working on code had changed significantly, as well as, the organisation of the cooperation of particular devteam members, and primarily their used developer tools.

Six critical differences in software development - now and 20 years ago

Six critical differences in software development – now and 20 years ago

1. Agile instead of waterfall

One of the largest changes in the process of software development, that had taken place in the last twenty years, was discarding the waterfall model in favour of agile. The consequences are felt today by everyone – whether they are aware of it or not. The end of the iteration model based on strictly defined and non-parallel phases allowed to drastically increase the speed of software creation. Additionally, the role of the customer has increased in the process – contrary to the waterfall model, the customer may affect the results of performed operations – in terms of feedback, to adjust them to own (changing) needs.

2. The development of programming tools

It will not be an overstatement to say that the current „simple” code editors, capability-wise, surpass the most advanced integrated programming environments from 20 years before. Such evolution is a normal state of things. What is more interesting, is the phenomenon of the decrease of dependence of particular environments and editors, on particular technologies. An example, is the Visual Studio Code editor, which enjoys much publicity, and which, due to its developed system of expansions is a thoroughly configurable programming machine, which may be used to write in an enormous number of languages and frameworks, as well as, on various platforms.

3. DevOps

The adoption of the DevOps model is but another organisation change, which in recent years, has defined the order of cooperation of programming teams. It is tied to discarding the waterfall system in favour of agile, assuming strict cooperation between developers specialising in particular fields – despite focusing on their own area of expertise, they remain aware of the status of the works of their colleagues. However, primarily, a bridge was made between software development and management. It is one of the factors that allow the customer to enjoy the increase of the frequency of implementations in pair with the increase of their quality.

4.Virtualisation and containerisation

Twenty years ago, the technologies, without which a majority of programmers would probably not be able to imagine implementations and tests of applications, were in the infancy stage. Currently, it is a rare thing to develop software on bare metal, and the reality is the use of a multi-level virtualisation and numerous sandboxes isolating the launch environments. However, primarily one should highlight the universality of containerisation of these environments – due to Docker Swarm or Kubernetes, container management and application scaling is currently an existing standard, and a basic programming tool.

5. Open Source by default

A significant revolution took place in terms of software licensing. Currently, sharing source code is an obvious thing and a standard, while twenty years ago it was a domain of a relatively small percentage of passionate individuals dedicated to the GNU idea. Today, even the greatest software producers share their code in internet repositories, encouraging independent developers to contribute to their development, democratising the entire process. One cannot omit the benefits of increasing the transparency and security – a generally accessible code is audited eagerly by independent experts and organisations.

6. GitHub, GitLab and StackOverflow

The popularisation of open source results in the boom of the aforementioned code repositories, particularly GitHub and GitLab. Due to git and the use of an external infrastructure used to the co-creation of code it is currently possible to solve problems and improve code on a community level. One cannot omit the role of the StackOverflow instance, which in numerous situations replaced the documentation which was impoverished after the adoption of the agile model. Currently, this unique source of knowledge, in cooperation with internet repositories, defines the everyday work of millions of programmers.

What about the upcoming 20 years?

Obviously, the attempts to respond to the aforementioned questions would threaten the respondent to look silly. However, one should mention the opinion of Linus Torvalds, according to whom software development will be more difficult due to the increasing limitations of hardware resources. After the expiry of Moore’s Law, programming teams must focus on optimisation and high quality of produced code like never before. The achievements of the last 20 years – the agile models, the DevOps premises or the expansion of developer tools – will surely come in handy.

Related posts:

Work with veryfied partner

Schedule a free 15-min consultaion

X

What Can We Help You With?

    How useful was this post?

    Click on a star to rate it!

    Average rating 0 / 5. Vote count: 0

    No votes so far! Be the first to rate this post.

    Let's talk about your project

      Fields marked with* are required.










      +48 22 882 25 16