Apolo misiju vodila je ista osoba koja je skovala termin “software engineering”: Margaret Hamilton

U vreme kada softversko inženjerstvo nije bilo zasebna oblast, ona je vodila tim koji je čoveka odveo na Mesec. Usput je osmislila i ime svojoj oblasti, koje je, kako kaže, dugo važilo za šalu.

Marija Gavrilov - 11. Avgust, 2015.

“Mali korak za čoveka, ali veliki za čovečanstvo”, poznata je krilatica koju je izgovorio za Zemljane prvi čovek na Mesecu. Iako je u to vreme bilo gotovo nezamislivo u ulozi astronauta videti ženu, jedna osoba je to nadomestila tako što je stala na čelo uspeha Apolo misije. Reč je o glavnoj softver inženjerki misije, Margaret Hamilton, čijom pričom se nadovezujemo na prošlonedeljni osvrt na lik i delo kontra-admiralke Grejs Hoper.

Misija sletanja na Mesec bio je prvi projekat ove vrste, u kome je softver dobio izuzetno bitan, real-time zadatak. On je bio stavljen u ruke matematičarke koja je sama naučila da programira, a na tom putu dostigla poziciju direktorke softver divizije pri MIT Instrumentation Laboratory. Njeno prvo angažovanje na MITu bilo je na odseku za meteorologiju, gde je bila zadužena za izradu softvera za predviđanje vremenskih prilika.

Dala osnovu za moderan softver

U ovom periodu, na samom početku 60-ih, softversko inženjerstvo kao oblast nije ni postojalo, a programeri i programerke su oblikovali svoje znanje i veštine na poslu. Tokom svog angažovanja na nekoliko projekata na MITu, potom pri laboratorijama za vazduhoplovstvo i pri NASI, Margaret je razvila nekoliko koncepata koji su kamen temeljac softvera kakav danas znamo. Među ovim konceptima su end-to-end testiranje, priority scheduling, asynchronous software i Human-in-the-loop model. Neke od ovih kreacija su spasle Apolo tim.

Spašavanje Apolo misije

Kod koji je Margaret razvila sa svojim timom bio je prvoklasan. Zapravo, toliko dobar da je spasao Apolo misiju. Ključna stavka koju je razvila bila je prioritizacija zadataka. Ovo se pokazalo izuzetno bitnim nekoliko sati pred sletanje, kada se uključio alarm upozoravajući da kompjuter nema dovoljno mesta da smesti sve podatke i omogući sletanje.

margaret-hamilton-apolo

Softver koji je Margaret omogućila oslobodio se manje bitnih stavki i prešao na najbitnije – pripreme za sletanje. Njen tim je tokom rada na softveru sprovodio veliki broj testova, kao što bi se moglo pretpostaviti. Analizirajući greške, ustanovili su da se čak tri četvrtine njih odnosi na interfejs i konflikte pri tajmingu i prioritizovanju.

Skovala termin “software engineering”

Margaret je 1980-ih osnovala svoju firmu, Hamilton Technologies. Danas ima 78 godina i doživela je da vidi rast oblasti za koju je skovala naziv, a u jednom intervjuu objasnila je kako je došlo do korišćenja termina software engineering:

Kada sam po prvi put počela da koristim taj izraz, bio je prilično smešan. Važio je dugo vremena za šalu. Voleli su da me zafrkavaju zbog mojih radikalnih ideja. Softver je vremenom dobio nužno poštovanje koje su držale ostale discipline.