Vabapostitus 3.
- Get link
- X
- Other Apps
Tarkvara keerulisus
Rääkides IT-st jäi mulle eriti silma üks korduv probleem, tarkvara muutub ajas pidevalt keerulisemaks. Alguses tundus see loogiline: rohkem võimalusi, rohkem funktsioone. Aga mida rohkem ma sellesse süvenesin, seda rohkem hakkasin märkama, et see ei ole ainult areng, vaid ka probleem.
Selle nähtuse kohta kasutatakse isegi terminit Lehmani seadused. Need kirjeldavad, kuidas tarkvara peab pidevalt muutuma, et püsida kasulikuna, aga iga muudatus teeb süsteemi samal ajal keerulisemaks. See tähendab, et isegi kui eesmärk on parandada midagi, lisatakse sageli juurde uus kiht keerukust.
Ajalooliselt on see hästi nähtav näiteks operatsioonisüsteemide arengus. Varajased süsteemid olid lihtsad ja täitsid kindlat eesmärki. Tänapäeval on need tohutult keerukad, sest nad peavad toetama miljoneid erinevaid kasutusviise. Iga uus funktsioon lisab midagi juurde, aga harva eemaldatakse midagi vana. See tekitab minu jaoks huvitava vastuolu. Ühelt poolt tahame innovatsiooni ja uusi võimalusi, aga teiselt poolt maksame selle eest keerukusega, mis muudab süsteemid raskemini hallatavaks ja vigadele vastuvõtlikumaks. See on nagu lumepalliefekt, mida rohkem tarkvara areneb, seda raskem on seda kontrolli all hoida.
Minu jaoks ei ole see lihtsalt tehniline detail, vaid pigem küsimus mõtteviisist. Kas tarkvara peaks kasvama lõputult või peaksime rohkem keskenduma lihtsusele ja selgusele? IT ajalugu vaadates tundub, et me ei ole sellele küsimusele siiani head vastust leidnud.
Viited:
- https://medium.com/@ricardo.jucrist/the-lehman-laws-understanding-the-dynamics-of-software-evolution-04de16bb3979
- https://ieeexplore.ieee.org/document/1702386
- https://martinfowler.com/articles/microservices.html
- Pilt 1. (https://www.serdao.com/blog/it-support-function-definition-and-role)
- Pilt 2. (https://nahil.com.sa/windows-vs-macos-vs-linux-the-ultimate-operating-system-showdown/)
- Get link
- X
- Other Apps
Comments
Post a Comment