Книги: Фредерік Брукс — Міфічний людино-місяць

Опублікував Сергій Макаренко 11-08-2014 об 12:36

Вирішив пройтися по класиці проджект-менеджменту по розробці програмного забезпечення. Добив книгу Фредеріка Брукса «Міфічний людино-місяць або як створюються програмні системи». Враження книга викликала неоднозначні. Варто зазначити, що перший раз вона вийшла в світ в 1975 році. На той час автор в ній відобразив свій тридцятирічний досвід розробки програмних проектів. Мені в руки потрапило друге видання, що вийшло в 1995 році з великою кількістю доопрацювань і критичним поглядом на деякі факти, що були викладені в першій редацкії книги.

Ви знаєте, з одного боку ця книга читається як історичний роман. Тому що деякі тези, які там викладені, давно втратили свою актуальність. З іншого боку дещо актуальне і досі. Загалом, більшість написанного в книзі ґрунтується на досвіді Брукса, який він отримав при розробці OS/360 під час роботи в IBM. Досвід колосальний і мені було цікаво зануритись в спогади автора і ознайомитись з його поглядами на процес розробки програмного забезпечення. Особисто я виніс з книги такі речі.

По-перше, для мене було справжнім відкриттям те, що розробка програмного забезпечення почалася ще в другій половині сорокових років. Я до цього вважав, що процесс розробки розпочався з появою багатокористувацьких операційних систем. Але до цього часу це вже була сформована індустрія зі своїми досить серьйозними методологіями. По-друге, в процессі читання зацікавився схемою, що наведена на малюнку нижче і вирішив зазирнути на цифровий логічний рівень. З цього приводу знайшов ось такий цікавий матеріал.

Багаторівнева схема обчислювальної системи

Ще мене вразив той факт, що є певна наукова галузь яка займається вивченням методів підвищення продуктивності і якості програмування. Тобто, ставляться експерименти, які мають на меті з'ясувати на скільки буде ефективним той чи інший метод програмування, або ті та інші курси по підвищенню кваліфікації. Ще мене вразило те, що розробка програмних продуктів потребує певних знань психології, для того, щоб зробити співпрацю людей в колективі щільнішою. Якщо зануритися в цю тему, то можна відкрити для себе багато цікавого і подивитись на процес розробки програмного забезпечення зовсім під іншим кутом.

Але без будь-яких сумнівів я можу зазначити, що основною задачею проджект-меджера має бути згуртування колективу і орієнтації його на створення продукту максимально можилвої якості в доступних умовах. Окрім того, якщо ми говоримо про підтримку продукту, то тут варто ще керуватися потребами користувачів. Мені здається, що кожному проджект-менеджеру було б варто провести хоча б декілька годин в службі підтримки продукту, який розробляла або супроводжує його команда. Спілкування з користувачами перевертає весь світогляд.

Не слід забувати про те, що розробка будь-якої системи або програми — динамічний процес, в якому постійно змінюються технології виробництва, методи керування командою та, навіть, вимоги до кінцевого продукту. Звичайно, це не найкращим чином видбивається на строках закінчення проекту, але про це потрібно пам’ятати для того, щоб під час розробки і виробництва кінцевий продукт не втратив свою актуальність для замовника і був конкурентно спроможним на ринку.

До речі, особоисто для мене був несподіваним той факт, що в 60 роках операційні системи підпадали під критику через надто дорогу пам’ять та дуже недешевий машинний час. Ніхто тоді не знав про те, що апаратна складова комп’ютерів буде розвиватися і вдосконалюватися шаленими темпами.

А ще для мене було відкриттям, що ідея графічного інтерфейсу користувача була представлена Дугом Енглебартом з групою колег з Стенфордського науково-дослідницього інституту на Об’єднаній комп’ютерній конференції в 1968 році. Заме звідти вона перекочувала в науково-дослідницькі лабораторії Rank Xerox в Пало Альто, де потрапила на очі Стіву Джобсу і, після чого, стала візитною карткою комп’ютерів «Макінтош».

Одним словом в книзі дуже багато цікавого фактажа і досвіду автора в області розробки програмного забезпечення. Я впевнений, що ця книга буде цікава не тільки спеціалістам галузі, а ще і звичайним людям, які б хотіли більше дізнатися про історію розробки програмного забезпечення і людей, що приймали в цьому процесі беспосередню участь. Завантажити цю книгу в електронному вигляді можна тут, придбати в паперовому тут.