Artikeln "Utvecklare måste lära sig" från i går väckte en del debatt. Artikeln handlade bland annat om att utvecklare som inte klarar av att skriva programkod av hög kvalitet behöver lära sig det.

Några av kommentarerna, förmodligen skrivna av utvecklare, handlade om att problemen inte beror på utvecklare som skriver dålig kod, utan på dålig ledning av utvecklingsprojekt.

Så är det alldeles säkert ofta. Men poängen är att det ena inte utesluter det andra. Att projektledningen är dålig betyder inte att de enskilda utvecklarna kan strunta i att förbättra sin kod, och vice versa.

En utebliven insats på den ena sidan tillintetgör inte värdet av en insats på den andra sidan. Om den enskilda utvecklaren skriver bättre kod så kommer det att vara värdefullt även om ledningen vägrar att förbättra sig.

Låt oss titta på ett exempel i form av ett projekt som lider av kvalitetsproblem. Vi antar att en stor del av problemen beror på att kunden och projektledaren tilldelar för lite tid för att skriva en modul, vilket leder till dålig kvalitet för koden. Om utvecklarna som skriver modulen ändå anstränger sig för, och lyckas med, att minska komplexiteten i koden så blir resultatet med största säkerhet att det blir enklare att vidareutveckla modulen i ett senare skede. Kvaliteten höjs trots dålig projektledning.

Problemet med det här exemplet är att utvecklarna inte får tid att förkovra sig. De skulle kanske behöva läsa några böcker eller gå på några kurser. Trots det går det att skriva mindre komplex kod om man anstränger sig. Om inte kunden och projektledaren tar ansvar så får utvecklarna göra det själva.

Det här är naturligtvis ingen ideal situation. Det är klart att oförstående kunder och dålig projektledning öppnar för problem. Men det betyder inte att den enskilde utvecklaren kan friskriva sig från ansvar för sin egen insats.