Как разработка программного обеспечения соотносится с экономической теорией?
Написал заголовок и сам задумался. Что же я собираюсь написать. Научный трактат? Или научно-популярную статью? Скорее ни первое и ни второе. Я не буду обременять читателей необходимостью штудировать книги по экономической теории, все будет проще. Как всегда, на простых примерах, можно сказать просто на пальцах мы увидим как законы экономики отражаются и воплощаются в разработке программного обеспечения. Ведь законы экономики – они как законы физики, можно их и не знать, но от этого ускорение свободного падения не станет ни больше ни меньше. Итак начнем…
Немного теории для начала. Есть модель экономического развития под авторством Ф. Агийона и П. Хоувитта, которая заключается в том, что экономический рост зависит от технологического прогресса, который обеспечивается конкуренцией между фирмами. Фирмы развивают технологии, с помощью которых они создают промежуточный продукт, который в свою очередь используются для более эффективного производства конечной продукции.
Или другими словами, для производства некоторой продукции используется продукт или технология, а для большей эффективности производства создается новая технология, что позволяет сделать производство менее затратным и на какое-то время вырваться вперед. На время, поскольку это происходит только до момента появления еще более нового продукта или технологии. Тогда предыдущие разработки устаревают и их использование становится менее выгодно.
Работа этой модели предусматривает равновесие между тремя объектами:
- Рабочей силой
- Товарами промежуточного потребления (это и есть наша технология производства)
- Товарами конечного потребления, которые создаются при помощи товаров промежуточного потребления
При этом рабочая сила подразделяется на следующие виды:
- Неквалифицированная рабочая сила, используемая для создания конечного продукта
- Квалифицированная рабочая сила, которая используется как для исследований, так и для производства промежуточных продуктов и технологий
- Специалисты, занятые только в исследованиях.
Иллюстрация данного процесса на схеме. Сначала идут исследования, в которых участвуют специалисты и квалифицированная рабочая сила, затем отрабатываются технологии (товары промежуточного производства), которое затем используется для создания товаров для конечного потребителя при помощи неквалифицированной рабочей силы.
Все это, что интересно, прекрасно ложится на процесс разработки программного обеспечения.
Итак, допустим, что нам нужно сделать некоторую программу. Бизнес-аналитики определили потребности пользователей, создали описание того, что нужно и запустили проект в работу. Этот процесс пока вне нашей схемы, но конечным этапом будет описание того товара, который нужно произвести п. 3 на схеме. Теперь пошла работа по подготовке технологий. Сейчас почти никто не пишет только при помощи конструкций языка программирования. Это не эффективно и очень дорого. Для написания программ используются различного рода библиотеки и среды разработки, оптимизированные под конкретные задачи. Это и есть наш пункт 2. на схеме. Для создания конечного продукта, нужно создать, найти или подготовить библиотеки и программные инструменты, которые позволят сделать именно то, что просили и не через десять лет, а как можно быстрее и с наименьшими затратами. Возможно, придется создавать некоторые библиотеки с нуля, для этого и есть пункт 1. Исследование. Или исследовать возможность задействования готовых библиотек. А готовых сейчас так много, возможно есть уже на все случаи жизни.
При такой технологии задействуются следующие специалисты: системный аналитик (4) и системный программист (5), которые занимаются исследованиями. Аналитик проводит исследование задачи, плотно общаясь с системным программистом на предмет использования технологий. Системный программист подбирает и создает нужный инструмент и отдает прикладным программистам (6), квалификация которых может быть ниже, поскольку исследованиями они не занимаются.
Pingback: » Маркетинг и обратная связь с потребителем