e-to predlozhil bazar dlya otdel'nyh modulej.
Lyuboj takoj produkt deshevle kupit', chem sozdavat' zanovo. Dazhe pri cene
100 000 dollarov kuplennyj produkt stoit primerno stol'ko, skol'ko godovoe
soderzhanie programmista. I postavka nemedlennaya! Nemedlennaya, po krajnej
mere, dlya real'no sushchestvuyushchih produktov, prospekt kotoryh razrabotchik mozhet
poslat' schastlivomu pol'zovatelyu. Bolee togo, takie produkty obychno gorazdo
luchshe dokumentirovany i neskol'ko luchshe soprovozhdayutsya, chem domoroshchennye
programmy.
Razvitie massovogo rynka yavlyaetsya, po moemu mneniyu, naibolee glubokoj
dolgosrochnoj tendenciej programmnoj inzhenerii. Stoimost' programmnogo
produkta vsegda opredelyalas' stoimost'yu razrabotki, a ne tirazhirovaniya.
Razdeliv etu stoimost' dazhe na neskol'kih pol'zovatelej, my korennym obrazom
snizhaem cenu na odnogo pol'zovatelya. Vzglyanuv na eto s drugoj storony, my
vidim, chto ispol'zovanie n kopij programmnoj sistemy fakticheski umnozhaet na
n proizvoditel'nost' ego razrabotchikov. |to rost proizvoditel'nosti otrasli
i vsej strany.
Glavnym voprosom, konechno, yavlyaetsya proizvoditel'nost'. Smogu li ya
ispol'zovat' imeyushchijsya korobochnyj produkt dlya resheniya svoih zadach? Zdes'
sluchilas' udivitel'naya veshch'. V 50-h i 60-h godah odno issledovanie za drugim
pokazyvalo, chto pol'zovateli ne hotyat ispol'zovat' korobochnye pakety dlya
rascheta zarplaty, upravleniya skladom, ucheta debitorov po raschetam i t.d.
Trebovaniya byli slishkom special'nymi, otkloneniya ot sluchaya k sluchayu slishkom
bol'shimi. V 80-h godah my obnaruzhivaem bol'shoj spros na takie pakety i
shirokoe ih ispol'zovanie. CHto izmenilos'?
Tol'ko ne pakety. Oni stali neskol'ko bolee obshchimi i luchshe
nastraivayutsya, chem ran'she, no ne namnogo. I ne oblast' ih primeneniya. V
konce koncov, segodnya potrebnosti biznesa i nauki bolee raznoobrazny i
slozhny, chem 20 let nazad.
Rezko izmenilos' sootnoshenie stoimosti komp'yuterov i programm. Tot, kto
v 1960 godu pokupal mashinu za 2 milliona dollarov, schital, chto mozhet
pozvolit' sebe potratit' eshche 250 000 dollarov na zakaznuyu programmu rascheta
zarplaty, kotoraya legko i bez ushcherba vpisalas' by vo vrazhdebnuyu komp'yuteram
social'nuyu sredu. Te, kto segodnya pokupayut mashinu dlya ofisa za 50 000
dollarov, ne mogut, ponyatno, pozvolit' sebe zakaznye programmy rascheta
zarplaty, poetomu oni prisposablivayut svoi procedury rascheta zarplaty k
imeyushchimsya paketam. Komp'yutery sejchas stol' obychny, esli ne stol' lyubimy, chto
adaptaciya vosprinimaetsya kak obychnoe delo.
Est' yarkie isklyucheniya iz moego utverzhdeniya o tom, chto obobshchennost'
programmnyh paketov za poslednie gody malo izmenilas': elektronnye tablicy i
prostye sistemy baz dannyh. |ti moshchnye instrumenty, stol' ochevidnye zadnim
umom i tak pozdno poyavivshiesya, imeyut beschislennoe mnozhestvo primenenij, v
tom chisle, ves'ma neobychnye. Est' massa statej i dazhe knig o tom, kak s
pomoshch'yu elektronnoj tablicy reshat' neozhidannye zadachi. Bol'shoe chislo zadach,
dlya kotoryh ran'she byli by napisany zakaznye programmy na Cobol ili Report
Program Generator, teper' shablonno reshaetsya s pomoshch'yu etih instrumentov.
Mnogie pol'zovateli izo dnya v den' primenyayut svoi komp'yutery dlya raznyh
prilozhenij, nikogda ne napisav ni odnoj programmy. Na praktike mnogie iz
etih pol'zovatelej i ne mogut pisat' dlya svoih mashin novye programmy, no tem
ne menee priverzhency resheniyu voznikayushchih zadach s ih pomoshch'yu.
YA schitayu, chto segodnya dlya mnogih organizacij samaya pravil'naya politika
dlya povysheniya proizvoditel'nosti razrabotki programmnogo obespecheniya - eto
ustanovit' svoim ne imeyushchim komp'yuternyh znanij rabotnikam umstvennogo truda
komp'yutery i horoshie obshchie programmy dlya obrabotki tekstov, risovaniya,
raboty s fajlami i elektronnymi tablicami i otpustit' ih v vol'noe plavanie.
Takaya zhe politika v otnoshenii rasprostranennyh matematicheskih i
statisticheskih paketov, a takzhe nekotoryh navykov programmirovaniya podojdet
sotnyam uchenyh, rabotayushchih v laboratoriyah.
Utochnenie trebovanij i bystroe maketirovanie. Samaya trudnaya otdel'naya
zadacha v razrabotke programmnoj sistemy - eto tochno reshit', chto
razrabatyvat'. Ni odna drugaya zadacha raboty nad koncepciyami ne yavlyaetsya
stol' trudnoj, kak razrabotka podrobnyh tehnicheskih trebovanij, vklyuchaya vse
interfejsy pol'zovatelej, mashinnye interfejsy i interfejsy k drugim
programmnym sistemam. Ni odna drugaya chast' raboty ne nanosit takogo ushcherba
gotovoj sisteme, esli sdelana nepravil'no. Ni odna drugaya chast' ne
ispravlyaetsya pozdnee s bol'shim trudom.
Poetomu naibolee vazhnoj funkciej, osushchestvlyaemoj razrabotchikami dlya
svoih klientov, yavlyaetsya povtoryayushcheesya poluchenie i utochnenie trebovanij k
produktu. Pravda zaklyuchaetsya v tom, chto klienty ne znayut, chego hotyat. Obychno
oni ne znayut, na kakie voprosy nuzhno dat' otvet, i pochti nikogda ne
zadumyvalis' nad zadachej nastol'ko detal'no, kak eto nuzhno ukazat' v
specifikacii. Dazhe prostoj otvet - "sdelajte tak, chtoby novaya programmnaya
sistema rabotala tak, kak nasha staraya ruchnaya sistema obrabotki informacii" -
okazyvaetsya v dejstvitel'nosti slishkom uproshchennym. Klienty nikogda ne hotyat
etogo v tochnosti. Bolee togo, slozhnye programmnye sistemy dejstvuyut,
dvizhutsya, rabotayut. Dinamiku etogo dejstviya trudno sebe predstavit'. Poetomu
pri planirovanii lyubyh dejstvij neobhodimo ostavit' rezerv dlya mnogokratnogo
vzaimodejstviya mezhdu klientom i proektirovshchikom pri opisanii sistemy.
YA pojdu dal'she i stanu utverzhdat', chto na praktike klienty, dazhe vmeste
s inzhenerami-programmistami, ne v sostoyanii ukazat' polno, strogo i
korrektno tochnye trebovaniya k sovremennomu programmnomu produktu, prezhde chem
budut sozdany i oprobovany kakie-libo versii produkta, specifikacii k
kotoromu oni sostavlyayut.
Poetomu odnim iz naibolee mnogoobeshchayushchih sovremennyh napravlenij v
tehnologii, prichem obrashchennyh k sushchnosti, a ne k akcidenciyam problem
programmirovaniya, yavlyaetsya razrabotka podhodov i instrumentov dlya bystrogo
sozdaniya maketov sistem kak chasti iterativnogo processa razrabotki
specifikacij.
Maket programmnoj sistemy modeliruet glavnye interfejsy i vypolnyaet
osnovnye funkcii predpolagaemoj sistemy, pri etom ne obyazatel'no buduchi
svyazan temi zhe ogranicheniyami bystrodejstviya komp'yutera, razmera ili
stoimosti. Obychno makety vypolnyayut osnovnye zadachi sistemy, no ne pytayutsya
obrabatyvat' isklyuchitel'nye situacii, pravil'no reagirovat' na vvod
nedopustimyh dannyh, korrektno preryvat' rabotu i t.d. Naznachenie maketa -
pokazat', kak voploshchaetsya vybrannaya konceptual'naya struktura, chtoby klient
mog proverit' ee prigodnost' k ispol'zovaniyu i neprotivorechivost'.
Segodnya mnogie procedury priobreteniya programmnogo obespecheniya
osnovyvayutsya na predpolozhenii, chto mozhno zaranee zadat' tehnicheskie
trebovaniya dlya zhelaemoj sistemy, rassmotret' predlozheniya razrabotchikov,
poluchit' razrabotannuyu sistemu i ustanovit' ee. YA dumayu, chto takoe
predpolozhenie v korne neverno, i iz-za etoj oshibki proistekayut mnogie
problemy pri priobretenii programm, poskol'ku eti problemy nel'zya ustranit'
bez peresmotra osnov, dlya kotorogo trebuetsya interaktivnaya razrabotka i
specifikacii maketov i produktov.
Poshagovaya obrabotka: narashchivat' programmu, a ne stroit' srazu. YA do sih
por pomnyu ispytannyj v 1958 godu udar, kogda vpervye uslyshal, kak moj drug
govoril o stroitel'stve (building) programm v protivopolozhnost' napisaniyu
(writing). V mgnovenie on rasshiril vse moe predstavlenie o processe
programmirovaniya. Primenenie metafory bylo sil'nym i tochnym. Segodnya my
ponimaem, chto shodstvo sushchestvuet mezhdu sozdaniem programmy i drugimi
stroitel'nymi processami, i svobodno ispol'zuem drugie elementy metafory,
takie kak specifikacii (specifications), sborka komponentov (assembly of
components), lesa (scaffolding).
Metafora stroitel'stva perezhila svoe vremya. Pora snova vnosit'
izmeneniya. Esli, kak ya schitayu, sozdavaemye segodnya konceptual'nye struktury
slishkom slozhny, chtoby ih mozhno bylo tochno specificirovat' zaranee, i slishkom
slozhny, chtoby stroit' bez oshibok, togda nuzhen radikal'no inoj podhod.
Obratimsya k prirode i rassmotrim slozhnost' zhivyh sozdanij, a ne
bezzhiznennyh tvorenij cheloveka. Tam my obnaruzhivaem konstrukcii, slozhnost'
kotoryh vselyaet v nas uzhas. Odin tol'ko mozg nastol'ko slozhen, chto
nevozmozhno sostavit' ego shemu. Ego moshch' nevozmozhno povtorit', on bogat
svoeobraziem, sposoben k samosohraneniyu i samoobnovleniyu. Sekret v tom, chto
mozg rastet, a ne stroitsya.
Tak zhe dolzhny sozdavat'sya nashi programmnye sistemy. Neskol'ko let nazad
Harlan Millz predlozhil narashchivat' programmnye sistemy putem poshagovoj
razrabotki.11 |to znachit, chto snachala sistemu nado zastavit' vypolnyat'sya,
dazhe esli pri etom ona ne delaet nichego poleznogo, krome vyzova nekotorogo
chisla fiktivnyh podprogramm. Zatem ona ponemnogu obrastaet myasom, prichem
podprogrammy, v svoyu ochered', razrabatyvayutsya snachala kak vyzovy pustyh
fiktivnyh podprogramm, nahodyashchihsya na uroven' nizhe.
Nastaivaya na primenenii etoj tehnologii razrabotchikami proektov na moih
laboratornyh zanyatiyah po programmnoj inzhenerii, ya stal svidetelem
porazitel'nyh rezul'tatov. Za poslednee desyatiletie nichto drugoe ne okazalo
stol' sil'nogo vliyaniya na moyu sobstvennuyu rabotu i ee effektivnost'. |tot
podhod predpolagaet nishodyashchee proektirovanie, poskol'ku eto - nishodyashchee
narashchivanie programmy. On pozvolyaet legko otslezhivat' rabotu v obratnom
napravlenii. On predostavlyaet vozmozhnost' rannego sozdaniya maketov. Kazhdaya
novaya funkciya ili vozmozhnost' raboty s bolee slozhnymi dannymi ili usloviyami
organicheski vyrastayut na togo, chto uzhe imeetsya.
Vozdejstvie na moral'nyj duh oshelomitel'noe. Kogda est' hotya by prostaya
rabotayushchaya sistema, vozrastaet entuziazm. |nergiya udvaivaetsya, kogda na
ekrane poyavlyaetsya kartinka iz novoj graficheskoj programmnoj sistemy, dazhe
esli eto vsego lish' pryamougol'nik. I na kazhdoj stadii processa razrabotki
sushchestvuet rabotayushchaya sistema. YA schitayu, chto za odinakovye sroki komanda
mozhet narastit' znachitel'no bolee slozhnyj ob容kt, chem postroit'.
V bol'shih proektah mozhno oshchutit' takie zhe vygody, kak i v moih
malen'kih.12
Vydayushchiesya proektirovshchiki. Glavnaya problema sovershenstvovaniya iskusstva
programmirovaniya zaklyuchena, kak vsegda, v lyudyah.
My mozhem dobivat'sya horoshih proektov, sleduya horoshim, a ne plohim
prakticheskim priemam. Horoshim priemam mozhno obuchat'. Programmisty
prinadlezhat k naibolee intellektual'noj chasti obshchestva, sledovatel'no, oni v
sostoyanii izuchat' horoshie priemy. Poetomu vazhnejshim napravleniem v
Soedinennyh SHtatah yavlyaetsya rasprostranenie horoshih sovremennyh priemov.
Novye kursy, novye izdaniya, novye organizacii, takie kak Institut inzhenerov-
programmistov (Software Engineering Institute) - vse eto vyzvano k zhizni
stremleniem povysit' uroven' nashih prakticheskih priemov. |to sovershenno
pravil'no.
Tem ne menee, ya schitayu, chto my ne smozhem podnyat'sya eshche na odnu
stupen'ku vyshe, dejstvuya v etom napravlenii. Vybor pravil'nogo metoda
proektirovaniya opredelyaet razlichiya mezhdu plohim i horoshim konceptual'nym
proektom, no ne mezhdu horoshim i vydayushchimsya. Vydayushchiesya proekty sozdayutsya
vydayushchimisya proektirovshchikami. Sozdanie programm yavlyaetsya tvorcheskim
processom. Krepkaya metodologiya mozhet pridat' silu i osvobodit' tvorcheskij
um, no ona ne mozhet vosplamenit' ili vdohnovit' togo, kto zanyat nudnoj
rabotoj.
I raznica nemalaya - eto kak Sal'eri i Mocart. Odno issledovanie za
drugim pokazyvayut, chto luchshie proektirovshchiki sozdayut struktury, kotorye
bystree, men'she po razmeru, proshche, ponyatnee i razrabotany men'shimi usiliyami.
Razlichiya mezhdu vydayushchimsya i srednim dostigayut poryadka velichiny.
Netrudno prosledit', chto ryad horoshih i poleznyh programmnyh sistem
proektirovalsya komissiyami i sozdavalsya s pomoshch'yu proektov, sostoyavshih iz
mnogih chastej. No programmnye sistemy, vyzvavshie voshishchenie strastnyh
poklonnikov, yavlyayutsya produktom odnogo ili nebol'shogo chisla vydayushchihsya
proektirovshchikov. Posmotrite na Unix, APL, Pascal, interfejs Smalltalk i dazhe
Fortran - s odnoj storony, i Cobol, PL/I, Algol, MVS/370 i MS-DOS - s drugoj
(ris. 16.1).
Ris. 16.1 Imeyutsya li u etih produktov strastnye poklonniki?
Poetomu, vysoko cenya nyneshnie programmy peredachi tehnologij i razvitiya
obucheniya, ya schitayu, chto naibolee vazhnoj programmoj, kotoruyu my mozhem
predprinyat', yavlyaetsya razvitie sposobov vospitaniya vydayushchihsya
proektirovshchikov.
Ni odna zanyataya v programmirovanii organizaciya ne mozhet ignorirovat'
etu problemu. Horoshih menedzherov, kak by malo ih ni bylo, ne men'she, chem
horoshih proektirovshchikov. Kak vydayushchiesya proektirovshchiki, tak i vydayushchiesya
menedzhery vstrechayutsya redko. V bol'shinstve organizacij znachitel'nye usiliya
tratyatsya na poiska i vyrashchivanie podayushchih nadezhdy menedzherov. YA ne slyshal,
chtoby kto- libo tratil takie zhe usiliya na poiski i razvitie vydayushchihsya
proektirovshchikov, ot kotoryh, v konechnom schete, zavisit tehnicheskoe
prevoshodstvo produktov.
Pervoe moe predlozhenie sostoit v tom, chtoby kazhdaya zanyataya v
programmirovanii organizaciya opredelila dlya sebya i provozglasila, chto
vydayushchiesya proektirovshchiki imeyut dlya ee uspeha takoe zhe bol'shoe znachenie, kak
i vydayushchiesya menedzhery, i chto oni mogut rasschityvat' na takie zhe zabotu i
voznagrazhdenie. Ne tol'ko zarplata, no i atributy polozheniya - razmery ofisa,
mebel', tehnicheskoe oborudovanie, komandirovochnye fondy, obespechennost'
sotrudnikami - dolzhny byt' polnost'yu ravnoznachny.
Kak rastit' vydayushchihsya proektirovshchikov? Mesto ne pozvolyaet obsuzhdat'
eto prostranno, no vot nekotorye ochevidnye shagi:
- Sistematicheski i kak mozhno ran'she vyyavlyat' pervoklassnyh
proektirovshchikov. Luchshie - ne vsegda samye opytnye.
- Naznachit' nastavnika, otvetstvennogo za rost perspektivnogo
proektirovshchika i tshchatel'no sledit' za ego kar'eroj.
- Razrabotat' i osushchestvlyat' plan sluzhebnogo rosta dlya kazhdogo
perspektivnogo proektirovshchika, vklyuchayushchij tshchatel'no produmannoe obuchenie u
peredovyh proektirovshchikov, periody dopolnitel'nogo formal'nogo obucheniya,
kratkosrochnye kursy, peremezhayushchiesya s samostoyatel'nym proektirovaniem i
naznacheniem na rukovodyashchie tehnicheskie dolzhnosti.
- Obespechit' vozmozhnosti dlya vzaimodejstviya i vzaimnogo stimulirovaniya
rastushchih proektirovshchikov.
Glava 17. Novyj vystrel "Serebryanoj puli net"
U vsyakoj puli - svoe
prednaznachenie.
VILXGELXM III ORANSKIJ
Kto hochet uvidet' obrazec sovershenstva,
Tot mechtaet o tom, chego nikogda ne bylo,
net i ne budet.
ALEKSANDR POP, "O KRITIKE"
Ob oborotnyah i prochih mificheskih uzhasah
"Serebryanoj puli net: sushchnost' i akcidenciya v programmnoj inzhenerii"
(glava 16 dannoj knigi) pervonachal'no byla zakaznym dokladom dlya konferencii
IFIP (Mezhdunarodnoj federacii po obrabotki informacii) 1986 goda v Dubline i
byla opublikovana v ee trudah.1 ZHurnal "Computer" perepechatal ee pod
oblozhkoj v goticheskom stile, illyustriruya kadrami iz fil'mov, takih kak
"Vervol'f iz Londona",2 i snabdiv bokovym polem "Ubit' vervol'fa" s
izlozheniem sovremennoj legendy o tom, chto spravit'sya s nim mozhno tol'ko s
pomoshch'yu serebryanoj puli. Do publikacii ya ne znal ob illyustraciyah, i dlya menya
bylo neozhidannost'yu, chto ser'eznaya tehnicheskaya stat'ya byla tak krasochno
izdana.
Odnako redaktory "Computer" znali svoe delo i dostigli zhelaemogo
rezul'tata: pohozhe, chto stat'yu prochli mnogie. Poetomu ya podobral dlya toj
glavy eshche odnu kartinku s oborotnem - starinnoe izobrazhenie pochti zabavnogo
sozdaniya. Nadeyus', chto eta menee yarkaya kartinka okazhet takoe zhe poleznoe
dejstvie.
Serebryanaya pulya vse-taki est' - VOT ONA!
"Serebryanoj puli net" utverzhdaet i dokazyvaet, chto v techenie
desyatiletiya (s momenta publikacii stat'i v 1986 godu) ni odna razrabotka v
oblasti tehniki programmnogo obespecheniya ne pozvolit povysit'
proizvoditel'nost' truda v programmirovanii na poryadok. Iz etogo desyatiletiya
proshlo uzhe devyat' let, i mozhno posmotret', naskol'ko sbyvaetsya predskazanie.
V to vremya kak "Mificheskij cheloveko-mesyac" porodil chastoe citirovanie i
malo sporov, stat'ya "Serebryanoj puli net" vyzvala stat'i s oproverzheniyami i
pis'ma v redakcii zhurnalov, potok kotoryh ne prekratilsya i po sej den'.3
CHashche vsego kritikuetsya glavnoe utverzhdenie o tom, chto volshebnogo resheniya
net, i moe yasno vyrazhennoe mnenie o tom, chto ego i byt' ne mozhet.
Bol'shinstvo soglashaetsya s osnovnoj chast'yu moih argumentov v "SPN", no zatem
zayavlyaet, chto v dejstvitel'nosti serebryanaya pulya dlya programmnogo zverya
sushchestvuet, i izobrel ee avtor. Perechityvaya segodnya rannie otkliki, ne mogu
ne otmetit', chto patentovannye sredstva, stol' energichno predlagavshiesya v
1986 i 1987 godah, ne vozymeli effekta, na kotoryj pretendovali.
YA obychno pokupayu komp'yutery i programmy, proveryaya ih na "schastlivom
obladatele", t.e. beseduya s vyzyvayushchimi doverie lyud'mi, zaplativshimi den'gi
za produkt i pol'zuyushchimisya im s udovol'stviem. Analogichno, ya s gotovnost'yu
poveryu v materializaciyu serebryanoj puli, kogda vyzyvayushchij doverie
nezavisimyj pol'zovatel' vystupit vpered i skazhet: "YA ispol'zoval etu
metodologiyu, etot instrument ili produkt, i eto pozvolilo mne v desyat' raz
povysit' proizvoditel'nost' razrabotki programm".
Mnogie korrespondenty sdelali vernye popravki i raz座asneniya. Nekotorye
proanalizirovali stat'yu punkt za punktom i priveli vozrazheniya, za chto ya im
blagodaren. V etoj glave ya hochu soobshchit' o sdelannyh popravkah i otvetit' na
oproverzheniya.
Neyasnoe izlozhenie vlechet neponimanie
Sudya po nekotorym otklikam, mne ne udalos' chetko izlozhit' svoi
argumenty.
Vtorostepennoe svojstvo (accident). V rezyume glavy 16 ya postaralsya so
vsej vozmozhnoj yasnost'yu izlozhit' osnovnye argumenty "SPN". Nekotorye,
odnako, byli smushcheny terminami vtorostepennoe svojstvo (accident) i
nesushchestvennyj, vtorostepennyj (accidental), kotorye ya ispol'zoval v starom
upotreblenii, voshodyashchem k Aristotelyu.4 Pod accidental ya ne imel v vidu
"sluchajnyj" ili "otnosyashchijsya k neschastnomu sluchayu", a skoree,
"nesushchestvennyj", "pobochnyj" (incidental) ili "prinadlezhashchij" (appurtinent).
YA ne hochu porochit' rol' sluchajnosti pri razrabotke programm. Vsled za
anglijskim dramaturgom, avtorom detektivov i teologom Doroti Sejers (Dorothy
Sayers) ya rassmatrivayu vsyakuyu tvorcheskuyu deyatel'nost', kak sostoyashchuyu iz: a)
formulirovaniya konceptual'nyh konstrukcij, b) voploshcheniya v real'nom
materiale i v) dialoga s pol'zovatelem v real'noj zhizni.5 Ta chast'
postroeniya programmy, kotoruyu ya nazval sushchnost'yu (essence), sostoit iz
umstvennoj raboty sozdaniya konceputal'noj konstrukcii, a ta, kotoruyu ya
nazval vtorostepennoj (accident), est' process ee voploshcheniya.
Vyyasnenie istiny. Mne kazhetsya (hotya ne vse so mnoj soglasny), chto
vernost' central'nogo argumenta svoditsya k vyyasneniyu otveta na vopros: kakaya
dolya zatrat svyazana s tochnym i uporyadochennym predstavleniem konceptual'noj
konstrukcii, a kakaya - s umstvennymi usiliyami po izgotovleniyu etih
konstrukcij. Poisk i ustranenie oshibok popadayut v tot ili inoj razdel v
zavisimosti ot togo, yavlyayutsya li oshibki konceptual'nymi (naprimer, propusk
kakogo-libo osobogo sluchaya) ili oshibkami predstavleniya (naprimer, oshibka v
ukazatele ili raspredeleniya pamyati).
Moe lichnoe mnenie sostoit v tom, chto vtorostepennaya ili napravlennaya na
predstavlenie chast' raboty sejchas snizilas' do poloviny ili menee togo ot
obshchego ob容ma. Poskol'ku eta dolya yavlyaetsya eksperimental'noj velichinoj, ee
znachenie, v principe, mozhno poluchit' putem izmerenij.5 Esli eto ne udaetsya,
moyu ocenku mozhno popravit' na osnove bolee polnyh i bolee sovremennyh
dannyh, no ni v publichnyh, ni v chastnyh zayavleniyah nikto ne utverzhdal, chto
neosnovnaya chast' dostigaet velichiny 9/10.
"SPN" s nesomnennost'yu dokazyvaet, chto esli dolya neosnovnoj chasti
raboty men'she 9/10, to dazhe svedya ee k nulyu (chto bylo by chudom), nel'zya
poluchit' rost produktivnosti na poryadok. Ataku neobhodimo nacelit' na
sushchestvennuyu chast'.
Posle poyavleniya "SPN" Bryus Blum (Bruce Blum) obratil moe vnimanie na
rabotu 1959 goda Gercberga, Moznera i Zejdermana (Herzberg, Mausner,
Sayderman).7 Oni nahodyat, chto faktory motivacii mogut uvelichit'
proizvoditel'nost'. S drugoj storony, faktory okruzheniya i vtorostepennye
faktory, skol' by oni ni byli polozhitel'ny, ne mogut etogo sdelat', no,
buduchi otricatel'nymi, mogut umen'shit' proizvoditel'nost'. V "SPN"
dokazyvaetsya, chto znachitel'naya chast' progressa v programmnoj inzhenerii
dostignuta za schet ustraneniya vliyaniya sleduyushchih otricatel'nyh faktorov:
krajne neudobnyh mashinnyh yazykov, paketnoj obrabotki s dolgoj
oborachivaemost'yu, slabogo instrumentariya i strogih ogranichenij na razmer
pamyati.
YAvlyayutsya li v takom sluchae beznadezhnymi trudnosti, svyazannye s
sushchnost'yu? Otlichnaya rabota "Serebryanaya pulya est'", napisannaya Bredom Koksom
(Bred Cox) v 1990 godu, krasnorechivo dokazyvaet, chto mnogokratno
ispol'zuemye i vzaimozamenyaemye komponenty dolzhny posluzhit' osnovoj dlya
ataki na konceptual'nuyu sushchnost' problemy.8 YA ohotno soglashayus'.
Odnako Koks nepravil'no ponimaet "SPN" v dvuh otnosheniyah. Vo-pervyh, on
nahodit v nej utverzhdenie togo, chto trudnosti razrabotki programmnogo
obespecheniya proistekayut iz "nekotoryh porogov tehnologij, ispol'zovavshihsya
programmistami v to vremya". YA zhe dokazyval, chto trudnosti, svyazannye s
sushchnost'yu, yavlyayutsya neot容mlemoj chast'yu konceptual'noj slozhnosti
razrabatyvaemyh programmnyh funkcij vo vse vremena i pri lyubyh metodah. Vo-
vtoryh, on i mnogie drugie prochli v "SPN" utverzhdenie togo, chto net nikakih
nadezhd uspeshno spravit'sya so slozhnostyami razrabotki programm, svyazannymi s
voprosami sushchnosti. |to ne to, chto ya imel v vidu. Sozdanie konceptual'noj
konstrukcii dejstvitel'no imeet vnutrenne prisushchie trudnosti, takie kak
slozhnost', soglasovannost', izmenyaemost' i nezrimost'. Odnako nepriyatnosti,
vyzyvaemye vsemi etimi trudnostyami, mozhno umen'shit'.
Slozhnost' razdeleniya na urovni. Naprimer, naibolee ser'eznoj vnutrennej
trudnost'yu yavlyaetsya slozhnost', no ona ne vsegda neizbezhna. Znachitel'naya
chast' (no ne vsya) konceptual'noj slozhnosti v nashih programmnyh konstrukciyah
proistekaet ot proizvol'noj slozhnosti samih primenenij. Dejstvitel'no, Lars
Sedal' iz MYSYGMA Sohdal and Partners, mezhdunarodnoj konsaltingovoj firmy v
oblasti menedzhmenta, pishet:
Moj opyt pokazyvaet, chto vse slozhnosti, s kotorymi stalkivayutsya pri
razrabotke sistem, yavlyayutsya priznakami organizacionnyh nepoladok. Popytka
modelirovaniya prakticheskoj deyatel'nosti programmami sootvetstvuyushchej
slozhnosti vlechet sohranenie nerazberihi vmesto resheniya problem.
Stiv Lukashik (Steve Lukasik) iz Northrop dokazyvaet, chto dazhe
organizacionnaya slozhnost', vozmozhno, ne yavlyaetsya proizvol'noj, a mozhet
ispytyvat' vozdejstvie principov uporyadocheniya:
YA poluchil obrazovanie v oblati fiziki i poetomu vizhu, chto "slozhnye"
veshchi mogut byt' opisany na yazyke bolee prostyh ponyatij. Vy mozhete byt'
pravy, i ya ne stanu utverzhdat', chto vse slozhnye veshchi poddayutsya principam
uporyadocheniya... po tem zhe pravilam dokazatel'stva nel'zya utverzhdat', chto ne
poddayutsya.
...To, chto vchera bylo slozhnost'yu, zavtra budet v poryadke veshchej.
Slozhnost' besporyadochnogo dvizheniya molekul privela k vozniknoveniyu
kineticheskoj teorii gazov i otkrytiyu treh zakonov termodinamiki. Sejchas
programmnoe obespechenie ne pozvolyaet uvidet' prisushchie emu principy
uporyadocheniya, no vy kak raz i dolzhny ob座asnit', pochemu eto proishodit. |to
ne proyavlenie moej bestolkovosti ili zhelaniya posporit'. YA ubezhden, chto v
odin prekrasnyj den' "slozhnost'" programmnogo obespecheniya budet ob座asnena na
yazyke kakih- nibud' ponyatij bolee vysokogo poryadka (invariantov, kak govoryat
fiziki).
YA ne zanimalsya bolee glubokim analizom, k kotoromu spravedlivo
prizyvaet Lukashik. Kak otrasl' nauki my nuzhdaemsya v razvitii teorii
informacii dlya kolichestvennoj ocenki informacionnogo soderzhaniya
statisticheskih struktur, podobno tomu, kak teoriya SHennona delaet eto dlya
informacionnyh potokov. |to sovsem ne moya zadacha. Lukashiku ya prosto otvechu,
chto slozhnost' sistemy yavlyaetsya funkciej miriadov detalej, kazhdaya iz kotoryh
dolzhna byt' tochno zadana libo s pomoshch'yu kakogo-nibud' obshchego pravila, libo
podrobnym opisaniem, no ne prosto statisticheski. Predstavlyaetsya ves'ma
somnitel'nym, chtoby nesoglasovannye rezul'taty raboty mnogih golov okazalis'
dostatochno svyaznymi, chtoby byt' tochno opisannymi obshchimi pravilami.
Znachitel'no bol'shaya chast' slozhnosti programmnyh konstrukcij
obuslovlena, odnako, ne sootvetstviem vneshnemu miru, a samoj realizaciej -
strukturami dannyh, algoritmami, sposobami kommunikacij. Narashchivanie
programm s pomoshch'yu bol'shih blokov vysokogo urovnya, sozdannyh kogda-to ran'she
ili kem-to drugim, pomogaet izbezhat' celyh urovnej slozhnosti. "SPN"
provozglashaet pohod na problemu slozhnosti v polnoj nadezhde, chto mozhno
dostich' progressa. Ona vystupaet za dobavlenie k programmnoj sisteme
neobhodimoj slozhnosti:
- ierarhicheski, raspolagaya moduli ili ob容kty po urovnyam;
- poshagovo, chto obespechivaet postoyannuyu rabotosposobnost' sistemy.
Analiz Harela
Devid Harel (David Harel) v stat'e 1992 goda "Kusaya serebryannuyu pulyu"
predprinimaet samyj tshchatel'nyj analiz "SPN" iz vseh opublikovannyh.9
Pessimizm protiv optimizma i realizma. Harel rassmatrivaet kak "SPN",
tak i stat'yu Parnasa 1984 goda "Programmnye aspekty strategicheskih
oboronitel'nyh sistem"10 kak "slishkom unylye". On namerevaetsya vysvetit'
bolee yarkuyu storonu problemy, predposylaya stat'e podzagolovok "K svetlomu
budushchemu porgrammnyh razrabotok". Tak zhe, kak i Koks, Harel schitaet "SPN"
pessimisticheskoj, govorya: "Esli vzglyanut' na te zhe fakty s drugoj tochki
zreniya, voznikayut bolee optimisticheskie vyvody". Oba oni nepravil'no
voprinyali tonal'nost' stat'i.
Prezhde vsego, moya zhena, kollegi i redaktory schitayut, chto ya gorazdo chashche
vpadayu v neopravdannyj optimizm, chem v pessimizm. V konce koncov ya po
proishozhdeniyu programmist, a optimizm - eto professional'naya bolezn' dannogo
remesla.
V "SPN" pryamo skazano: "Vglyadyvayas' v predstoyashchee desyatiletie, my ne
vidim serebryanoj puli... Odnako skepticizm ne est' pessimizm... Net carskogo
puti, no put' est'". Ona predskazyvaet, chto novovvedeniya, proishodyashchie v
1986 godu, buduchi razrabotany i ispol'zovany, v sovokupnosti dejstvitel'no
pozvolyat dostich' rosta proizvoditel'nosti na poryadok. Desyatiletie 1986-1996
podhodit k koncu, i eto predskazanie okazyvaetsya, skoree, slishkom
optimistichnym, a ne mrachnym.
Dazhe esli by vse bez isklyucheniya schitali "SPN" pessimisticheskoj, chto v
etom hudogo? YAvlyaetsya li utverzhdenie |jnshtejna o tom, chto nichego ne mozhet
peremeshchat'sya so skorost'yu, bol'shej skorosti sveta, "unylym" i "mrachnym"? A
kak naschet rezul'tatov Gedelya o tom, chto nekotorye veshchi nevychislimy? "SPN"
pytaetsya utverzhdat', chto "sama sushchnost' programmnogo obespecheniya delaet
maloveroyatnym otkrytie "serebryanyh pul'" kogda-libo v budushchem". Turskij v
svoem otlichnom otvetnom doklade na konferencii IFIP krasnorechivo zayavil:
Iz vseh popytok nauki prodvinut'sya v lozhnom napravlenii naibolee
vozvyshenny te, kotorye byli napravleny na poisk filosofskogo kamnya -
veshchestva, s pomoshch'yu kotorogo predpolagalos' obrashchat' prostye metally v
zoloto. Vysshaya cel' alhimii, k kotoroj s rveniem stremilis' pokoleniya
issledovatelej, shchedro finansirovavshiesya svetskimi i duhovnymi pravitelyami, -
eto v chistom vide stremlenie prinimat' zhelaemoe za dejstvitel'noe i
obshcheprinyatoe mnenie, chto veshchi takovy, kakimi my hoteli by ih videt'. |to
ochen' po-chelovecheski. Nuzhno sdelat' nad soboj bol'shoe usilie, chtoby
smirit'sya s sushchestvovaniem nerazreshimyh problem. Stremlenie vopreki vsemu
najti vyhod, dazhe kogda dokazano, chto ego ne sushchestvuet, ochen' i ochen'
sil'no. I v bol'shinstve svoem my s bol'shim sochuvstviem otnosimsya k etim
hrabrecam, kotorye pytayutsya dostich' nevozmozhnogo. |to prodolzhaetsya i po sej
den'. Pishutsya sochineniya o kvadrature kruga. Stryapayutsya los'ony dlya
vosstanovleniya utrachennyh volos - i neploho prodayutsya. Rozhdayutsya metody
povysheniya proizvoditel'nosti programmirovaniya - i horosho rashodyatsya.
My slishkom chasto sklonny doveryat' svoemu optimizmu (ili ekspluatirovat'
optimisticheskie nadezhdy svoih sponsorov). My slishkom chasto ne hotim
prislushivat'sya k golosu rassudka i obrashchaem mnogo vnimaniya na prodavcov
panacej, poyushchih golosami siren.11
Turskij, kak i ya, preduprezhdaet, chto mechtatel'nost' tormozit dvizhenie
vpered i vedet k pustoj trate sil.
"Mrachnye" temy. Harel schitaet, chto mrachnost' "SPN" pridayut tri temy:
- Rezkoe razdelenie mezhdu sushchnost'yu i vtorostepennym.
- Izolirovannoe rassmotrenie kazhdogo kandidata v "serebryanye puli".
- Prognoz lish' na blizhajshie 10 let, a ne na srok, v techenie kotorogo
mozhno ozhidat' "sushchestvennyh uluchshenij".
CHto kasaetsya pervogo, to v eto vsya sol' stat'i. YA po-prezhnemu schitayu,
chto takoe razdelenie neobhodimo dlya ponimaniya togo, pochemu trudno sozdavat'
programmnoe obespechenie. I eto vernoe ukazanie, kuda dolzhen byt' napravlen
udar.
CHto kasaetsya izolirovannogo rassmotreniya kandidatov v "serebryanye
puli", to eto pravda. Raznye kandidaty predlagalis' poocheredno i nepomernymi
pretenziyami na sobstvennoe vsesilie. Pravomerno i rassmatrivat' ih
poocheredno. YA vozrazhayu ne protiv samih tehnologij, no protiv ozhidaniya ot nih
chuda. Glass, Vessi i Kondzher (Glass, Vessey, Conger) v svoej stat'e 1992
goda predstavili mnogochislennye svidetel'stva togo, chto bespoleznye poiski
serebryanoj puli vse eshche prodolzhayutsya.12
CHto kasaetsya vybora v kachestve perioda predskazanij 10, a ne 40 let, to
chastichno eto priznanie togo, chto nashi predskazaniya na bol'shij srok nikogda
ne byli udachnymi. Kto iz nas v 1975 godu predskazal mikrokomp'yuternuyu
revolyuciyu 80-h?
Est' i drugie prichiny ogranichit'sya desyatiletiem: vse kandidaty
pretendovali na poluchenie rezul'tatov nemedlenno. YA ne pomnyu ni odnogo,
kotoryj by skazal: "Esli segodnya vy sdelaete investicii v predlagaemoe mnoj
sredstvo, to po proshestvii 10 let nachnete pozhinat' plody". Bolee togo, za
desyatiletie sootnoshenie proizvoditel'nost'/cena dlya komp'yuterov vyroslo,
navernoe, v sotni raz, i neizbezhno podsoznatel'no proizvoditsya sravnenie,
kotoroe sovershenno nedopustimo. My navernyaka dostignem bol'shego progressa za
predstoyashchie 40 let. Rost za 40 let na poryadok edva li pokazhetsya chudom.
Myslennyj eksperiment Harela. Harel predlagaet myslennyj eksperiment, v
kotorom "SPN" byla napisana v 1952 godu, a ne v 1986, no soderzhala by te zhe
utverzhdeniya. On hochet ispol'zovat' eto v kachestve dokazatel'stva ot
protivnogo v bor'be protiv popytok otdelit' sushchnost' ot akcidencii.
|to dokazatel'stvo neverno. Vo-pervyh, "SPN" nachinaetsya s utverzhdeniya,
chto dlya programmirovaniya v 1950-h harakterno znachitel'noe preobladanie
trudnostej v akcidenciyah nad trudnostyami v sushchnosti. |togo preobladaniya
bol'she ne sushchestvuet, chto privelo k rostu proizvoditel'nosti na poryadki
velichin. Perenosit' eto dokazatel'stvo na 40 let nazad bessmyslenno: nikto
ne stal by v 1952 godu utverzhdat', chto ne trudnosti akcidencij otvetstvenny
za bol'shuyu chast' zatrachivaemyh usilij.
Vo-vtoryh, Harel netochno predstavlyaet polozhenie del v 1950-h:
|to bylo vremya, kogda vmesto togo, chtoby razrabatyvat' bol'shie slozhnye
sistemy, programmisty pisali obychnye odnopol'zovtel'skie programmy, kotorye
na sovremennyh yazykah programmirovaniya zanyali by 100-200 strok, i kotorye
dolzhny byli vypolnyat' skromnye algoritmicheskie zadachi. Pri sushchestvovavshih
togda tehnologiyah i metodologiyah takie zadachi tozhe byli ochen' trudnymi.
Splosh' i ryadom byli neudachi, oshibki, narushenie srokov.
Zatem on opisyvaet, kak za poslednie 25 let upomyanutye neudachi,
oshibki, narushennye sroki v obychnyh malen'kih odnovol'zovatel'skih programmah
byli uluchsheny na poryadok.
No v dejstvitel'nosti v 1950-h godah vershinoj tehnologii byli ne
malen'kie odnopol'zovatel'skie programmy. V 1952 godu Univac byl zanyat
obrabotkoj dannyh perepisi 1950 goda s pomoshch'yu slozhnoj programmy, kotoruyu
razrabatyvali primerno vosem' programmistov.13 Drugie mashiny primenyalis' v
himicheskoj dinamike, raschetah rasseyaniya nejtronov, raschetah poleta raket i
t.d.14 Povsednevno ispol'zovalis' assemblery, peremeshchayushchie komponovshchiki i
zagruzchiki, sistemy interpretacii s plavayushchej tochkoj i t.p.15
K 1955 godu uzhe sozdavalis' programmy dlya biznesa ob容mom ot 50 do 100
cheloveko-let.16 V 1956 godu na zavode Dzheneral |lektrik v L'yuisville
rabotala programma razmerom bolee 80 000 slov. V 1957 godu v techenie uzhe
dvuh let v sisteme protivovozdushnoj oborony rabotal komp'yuter SAGE ANFSQ/7,
i na 30 ploshchadkah dejstvovala sistema real'nogo vremeni, ispol'zovavshaya
telekommunikacii i dublirovanie v celyah otkazoustojchivosti, ob容mom 75 000
komand.17 Edva li mozhno priderzhivat'sya mneniya, chto razvitie tehnologij dlya
odnopol'zovatel'skih programm - glavnaya harakteristika usilij v tehnike
programmnogo obespecheniya posle 1952 goda.
VOT ONA. Harel prodolzhaet, predlagaya sobstvennuyu serebryanuyu pulyu,
tehnologiyu modelirovaniya pod nazvaniem "Vanilla Framework" ("vanil'naya
struktura"). Sam podhod opisan nedostatochno podrobno, chtoby ego mozhno bylo
ochenit', no est' ssylka na stat'yu i tehnicheskij otchet, kotoryj v svoe vremya
dolzhen byt' opublikovan v vide knigi.18 Modelirovanie kasaetsya sushchnosti,
pravil'noj razrabotki i otladki ponyatij, poetomu tehnologiya mozhet okazat'sya
revolyucionnoj. Nadeyus', chto eto tak. Ken Bruks soobshchaet, chto eta metodologiya
okazalas' poleznoj, kogda on popytalsya primenit' ee k real'noj zadache.
Nezrimost'. Harel energichno dokazyvaet, chto znachitel'naya chast'
konceptual'noj konstrukcii programmnogo obespecheniya yavlyaetsya po svoej
prirode topologicheskoj zadachej, i eti vzaimosvyazi nahodyat sootvetstvie v
prostranstvenno-graficheskih predstavleniyah:
Ispol'zovanie podhodyashchego vizual'nogo formalizma mozhet okazat' zametnoe
vozdejstvie na inzhenerov i programmistov. Bolee togo, eto vozdejstvie ne
ogranichivaetsya oblast'yu akcidencij, bylo obnaruzheno polozhitel'noe vliyanie na
kachestvo i bystrotu samogo ih myshleniya. V budushchem uspehi v razrabotke sistem
budut svyazany s vizual'nymi predstavleniyami. Snachala my budem sozdavat'
koncepcii s pomoshch'yu "pravil'nyh" ob容ktov i vzaimosvyazej, zatem
formulirovat' nashi koncepcii kak posledovatel'nyj ryad vse bolee
obstoyatel'nyh modelej s ispol'zovaniem podhodyashchej kombinacii vizual'nyh
yazykov. Imenno kombinacii, poskol'ku modeli sistem imeyut neskol'ko granej,
kazhdaya iz kotoryh vyzyvaet v voobrazhenii razlichnye vidy obrazov.
...Nekotorye grani processa modelirovaniya ne stol' legko poddayutsya
horoshej vizualizacii. Naprimer, algoritmicheskie operacii nad peremennymi i
strukturami dannyh, vozmozhno, ostanutsya tekstual'nymi.
Zdes' nashi pozicii blizki. YA dokazyval, chto struktura programmnogo
obespecheniya ne yavlyaetsya trehmernoj, poetomu ne sushchestvuet estestvennogo
otobrazheniya konceptual'nogo proekta v diagrammu v prostranstve kak dvuh, tak
i bol'shego chisla izmerenij. Harel dopuskaet, i ya soglasen, chto trebuetsya
mnogo diagramm, kazhdaya iz kotoryh ohvatyvaet kakuyu-to odnu storonu, a
nekotorye aspekty voobshche ploho otobrazhayutsya na diagrammah.
YA vpolne razdelyayu ego entuziazm po povodu ispol'zovaniya diagramm kak
vspomogatel'nogo sredstva pri obdumyvanii i proektirovanii. Dolgoe vremya ya
lyubil zadavat' kandidatam na rabotu programmistom vopros: "Gde nahoditsya
sleduyushchij noyabr'?". Esli vopros kazhetsya zagadochnym, to v drugom vide:
"Kakova vasha myslennaya myslennaya model' kalendarya?" U dejstvitel'no horoshih
programmistov horoshee chuvstvo prostranstva, u nih obychno est' geometricheskaya
model' vremeni, i oni chasto bez truda ponimayut pervyj vopros. Ih modeli
ochen' individual'ny.
Tochka zreniya Dzhonsa: proiszvoditel'nost' prihodit vsled za Kachestvom
Kapers Dzhons (Capers Jones) snachala v serii sluzhebnyh zapisok, a zatem
v otdel'noj knige demonstriruet glubokuyu intuiciyu, otmechennuyu neskol'kimi
moimi korrespondentami. "Stat'ya "SPN", kak i mnogie v to vremya,
sosredotochilas' na proizvoditel'nosti - vyhode programmnoj produkcii na
edinicu vhodnyh zatrat", - govorit Dzhons. - "Net, sosredotoch'tes' na
kachestve, a proizvoditel'nost' pridet sledom."19 On utverzhdaet, chto
dorogostoyashchie i narushivshie sroki proekty trebuyut bol'she vsego dopolnitel'nyh
usilij i vremeni dlya poiska i ustraneniya oshibok v specifikaciyah, v proekte,
v razrabotke. On privodit dannye, svidetel'stvuyushchie o sil'noj korrelyacii
mezhdu otsutstviem sistematicheskogo kontrolya kachestva i sryvom grafika rabot.
YA im vpolne veryu. Bem (Boehm) ukazyvaet, chto proizvoditel'nost' snova
padaet, kogda presleduetsya isklyuchitel'no vysokoe kachestvo, kak bylo v
programmah IBM dlya kosmicheskogo chelnoka.
Analogichnym obrazom, Koki (Coqui) utverzhdaet, chto principy
sistematicheskoj razrabotki programmnogo obespecheniya yavilis' otvetom na
ozabochennost' ne stol'ko proizvoditel'nost'yu, skol'ko kachestvom (v
osobennosti, stremleniem izbezhat' krupnyh katastrof).
No obratite vnimanie: cel'yu primeneniya inzhenernyh principov k
razrabotke programmnogo obespecheniya v 1970-h godah bylo podnyat' kachestvo,
testiruemost', ustojchivost' i predskazuemost' programmnyh produktov, a ne
obyazatel'no proizvoditel'nost' truda programmistov.
Dvizhushchej siloj ispol'zovaniya pri razrabotke programm principov
programmnoj inzhenerii bylo opasenie krupnyh avarij, k kotorym mogla privesti
razrabotka vse bolee slozhnyh sistem neupravlyaemymi hudozhnikami.20
Tak chto zhe sluchilos' s proizvoditel'nost'yu?
Proizvoditel'nost' v cifah. Cifry, harakterizuyushchie proizvoditel'nost',
ochen' tyazhelo opredelit', kalibrovat' i najti. Kapers Dzhons schitaet, chto dlya
dvuh odinakovyh programm na Cobol, napisannyh s intervalom v 10 let - s
primeneniem strukturnogo programmirovaniya i bez nego - raznica v
proizvoditel'nosti troekratnaya.
|d Jordon (Ed Yourdin) utverzhdaet: "Po moim nablyudeniyam, blagodarya
rabochim stanciyam i programmnym instrumentam proizvoditel'nost' uvelichilas' v
pyat' raz." Tom Demarko (Tom DeMarco) schitaet, chto "vashe ozhidanie
desyatikratnogo rosta proizvoditel'nosti za 10 let blagodarya celomu naboru
tehnologij bylo optimistichnym: mne neizvestny organizacii, dobivshiesya rosta
proizvoditel'nosti na poryadok."
Programma v upakovke: pokupajte, ne nado razrabatyvat'. Odna iz ocenok
"SPN" okazalas', ya dumayu, pravil'noj: "Vozniknovenie massovogo rynka
yavlyaetsya... naibolee glubokoj dolgosrochnoj tendenciej v razrabotke
programmnogo obespecheniya". S tochki zreniya nauki, programmnoe obespechenie dlya
massovogo rynka obrazuet prakticheski novuyu otrasl' v sravnenii s razrabotkoj
zakaznyh programm kak vnutri firmy, tak i storonnimi organizaciyami. Kogda
schet prodannyh paketov idet na milliony ili hotya by na tysyachi, glavnymi
problemami stanovyatsya kachestvo, svoevremennost', tehnicheskie harakteristiki
i stoimost' podderzhki, a ne stoimost' razrabotki, kotoraya imeet takoe
bol'shoe znachenie pri razrabotke zakaznyh sistem.
|lektroinstrument dlya uma. Luchshij sposob povysit' proizvoditel'nost'
truda programmistov informacionno-upravlyayushchih sistem - eto pojti v blizhajshij
komp'yuternyj mag