Человеческий фактор в программировании - [2]
Предисловие к первому изданию
Хорошее программное обеспечение берет начало не в применении CASE[1] -инструментов, методов визуального программирования, ускоренной разработки программ или объектно-ориентированной технологии. Хорошее программное обеспечение создается людьми. Так же, как и плохое. В 1992 году я начал вести колонку в журнале, исходя из простого принципа: поскольку программное обеспечение создается и применяется людьми, то наилучшее понимание людей — как они работают, каким образом выполняют свою работу, как взаимодействуют между собой — является основой для усовершенствования программного обеспечения и процесса его разработки. Таким образом, основным предметом заметок в этой колонке было не аппаратное (hardware) и не программное (software) обеспечение, а человеческий фактор в программировании (peopleware).
В области, которая изобилует неологизмами, термин «peopleware» — один из немногих, которые действительно стоило выдумать. По-видимому, в печатном издании этот термин первым применил Питер Г. Ньюман (Peter G. Newmann), который, наверное, более всего известен по своим регулярным статьям о риске потребителей и опасностях компьютеров и компьютерных программ для человека. В 1976 году его статья «Peopleware in Systems» была опубликована в книге, получившей свое название от этой статьи. Судя по всему, этот термин придумал Меилир Пейдж-Джонс (Meilir Page-Jones), который использовал его в 1980 году в своей книге «Practical Guide to Structured Systems Design» (Практическое введение в проектирование структурированных систем) — книге, в конце концов сделавшей мою работу по структурному проектированию более понятной для обычного программиста. Но постоянное место в лексиконе нашей отрасли этот термин обрел, скорее всего, после того как в 1987 году под таким заголовком вышла небольшая, но великолепная книга Тома ДеМарко (Tom De-Marco) и Тима Листера (Tim Lister) [33] Таким образом, можно сказать, что названиe[2] для своей колонки, «Peopleware», я позаимствовал из самых лучших источников.
На самом деле «человеческий фактор в программировании» (peopleware) является третьей волной компьютерной революции. Сначала произошел кризис, связанный с аппаратным обеспечением. Одно время мы думали, что наши проблемы возникают из-за аппаратного обеспечения. Нам казалось, что если бы только у нас были более быстрые и мощные компьютеры с большими объемами памяти и более совершенными периферийными устройствами, мы смогли бы создавать более совершенные системы и решать наши задачи. И вот мы получили лучшие компьютеры. Год от года аппаратное обеспечение становилось все быстрее, память — больше, а периферийные устройства — более разнообразными и эргономичными. Однако наши проблемы не исчезли. Мы все еще продолжали создавать системы, трудные для применения. Мы все также опаздывали с завершением своих проектов и превышали запланированный для них бюджет. Поэтому мы решили, что на самом деле проблема состоит в программном обеспечении, после чего линия фронта в компьютерной революции переместилась к рубежу, который многие стали называть «кризисом программного обеспечения». Если бы только у нас были более совершенные инструменты, языки более высокого уровня, более мощные библиотеки компонентов и программы для создания программ, мы смогли бы решать наши задачи и создавать хорошие системы вовремя и в пределах бюджета. Языки третьего поколения стали еще более сложными и породили языки четвертого поколения (4GL). Компиляторы становились все быстрее и эффективнее. Библиотеки компонентов многократного использования расширялись, редакторы стали контекстно-зависимыми, а разнообразные инструменты автоматизированной разработки программного обеспечения появлялись, как грибы после дождя. Вслед за структурной революцией, давшей нам структурное проектирование и анализ, стало развиваться и набирать популярность объектно-ориентированное направление. Однако графики работ по-прежнему не выполнялись, бюджеты превышались, а количество ошибок в программах упрямо не желало становиться меньше.
В конце концов, подобно Пого и его легендарным друзьям из Окифиноки, на своем опыте мы выяснили, в чем тут дело. Как мудро сказал этот маленький опоссум: «Мы встретили врага — это мы сами». И это действительно так. Все сводится к человеческому фактору в программировании. Мы являемся проблемой, и мы же являемся ее решением. Как удобно.
Человеческий фактор в программировании охватывает довольно широкую область. Сюда входит все, что связано с ролью людей в процессе разработки программного обеспечения и приложений. В заметках и в книге затрагиваются разнообразные темы: качество и продуктивность, работа в команде, динамика поведения коллектива, личность и программирование, руководство проектом и организационные вопросы, разработка интерфейса и взаимодействие между человеком и машиной, познавательная деятельность, психология, процессы мышления.
Все эти предметы интересуют и увлекают меня. Я получил ученую степень по менеджменту отчасти потому, что это позволило мне соединить компьютеры и теорию систем с психологией. Моя диссертация была посвящена психологии программирования на компьютере. В течение нескольких лет я знакомил тысячи студентов и десятки коллег с работами психолога Джорджа Миллера (George Miller) и его магическим числом (конечно, я имею в виду 7±2
Эта книга мотивационная книга о том, как перестать тратить время зря и начать меняться в лучшую сторону. В этой книге я поделюсь своими мыслями и расскажу, как я это сделал.
Гуру менеджмента и консалтинговые фирмы с устрашающей скоростью придумывают все новые модели и теории управления, которые быстро получают статус «инновационных» и «прогрессивных». Продвинутые руководители бросаются их внедрять, — но почти никогда не добиваются ожидаемого успеха: ведь бизнес на самом деле не рационален и его нельзя втиснуть в жесткие рамки теории.Повальное увлечение каждой новой теорией несет собственный набор проблем, который обещает решить следующая. Каждая исправляет недостатки предыдущей, но порождает новые «побочные эффекты».
В книге в доступной форме излагаются основы менеджмента – науки и практики управления. Менеджмент – научно—практическая и учебная дисциплина, посвященная проблемам управления в организации (на предприятии), на государственном, муниципальном и международном уровне. Описаны вопросы к арьеры и техника трудоустройства.Для студентов и преподавателей вузов, слушателей институтов повышения квалификации, структур второго образования, курсов менеджмента и бизнес—школ. А также для широкого круга читателей, желающих познакомиться с современным менеджментом, от учащихся и учителей старших классов школ до менеджеров, экономистов, инженеров, самостоятельно повышающих квалификацию.Автор книги – Заместитель генерального директора INTERFINANCE (ООО «ИНТЕРФИНАНС МВ», www.deniskredit.ru), имеет опыт работы в банках, коммерческих и государственных структурах (в т.
В монографии рассматриваются проблемы совершенствования муниципальной службы на основе Федерального закона от 2 марта 2007 года «О муниципальной службе в Российской Федерации». Исследованы организационно-правовые основы муниципальной службы. Дано авторское определение понятия муниципальной службы как вида публичной службы. Раскрыт правовой статус муниципального служащего.Значительное место уделено изучению особенностей прохождения муниципальной службы, обусловленных ее публичным характером.
Информативные ответы на все вопросы курса «Менеджмент» в соответствии с Государственным образовательным стандартом.
Если вы руководитель компании или руководитель отдела продаж, подумайте, кто у вас трудится – люди, которые просто обрабатывают входящие заявки от клиентов, или профессиональные менеджеры? И что это значит «профессиональный менеджер по продажам»? Если вы хотите, чтобы ваши продавцы работали не просто как автоответчики, а профессионально консультировали клиентов, чтобы клиенты выбирали именно вашу компанию и покупали именно у вас по более высокой цене, – это одна из причин, по которой вам стоит дочитать эту книгу до конца.