Saturday, October 14, 2006

Греф и рост IT-экспорта

Навеяно постом в IT Blogs.

Согласно статье в CNews, рост IT экспорта прогнозируется в 76 раз за 10 лет. Очевидно, однако, то, что иначе как с потолка этот прогноз взять неоткуда, тем более с точностью до единиц.

Во-первых, у правительства нет данных о реальных объемах айти экспорта. Потому что большая его часть не отражается в отчетности. Сколько такого IT экспорта, о котором наше правительство даже не догадывается, и никогда не узнает? (если конечно не станет читать форум rsdn) Однако, сам процент отражения в отчетности, очевидно, растет. Отсюда может возникнуть ощущение мнимого роста экспорта, когда реально растет лишь объем его отражения в отчетности предприятий.

Во-вторых, откуда возьмутся ресурсы для роста (в 76 раз больше, чем сейчас)? Аксиома экономической теории утверждает, что ресурсы - вещь ограниченная. А основной ресурс IT компаний - это кадры. Между прочим, - больной вопрос наших IT компаний. Агенства по трудоустройству говорят, что у нас в IT – "рынок кандидата", и что рынок труда IT специальностей "перегрет". Даже у компаний, готовых вкладывать деньги и платить "белые зарплаты", есть проблемы с наймом персонала. Утечку мозгов за границу также никто не отменял. Зато недостаток хорошего образования в IT и демографические проблемы - налицо. А утечке мозгов подверженны именно специалисты, работающие на экспорт и обладающие высокой квалификацией. Кто же будет производить IT продукцию на экспорт? Может, безумно раздутая армия чиновников активно начнет писать программы?

В-третьих, чтобы рос экспорт, нужно что-то продавать: продукцию либо услуги. Продавать на западных рынках, - а значит придется столкнуться с сильной конкуренцией. На мой взгляд, текущая коньюнтктура айти рынка такова, что накопленные изменения технологий переходят в качественное изменение айти экономики. Это сопровождается вытеснением либо поглощением мелких айти компаний. (да что мелких... этот процесс кардинально затронул такую крупную компанию как Borland) Пробиться на рынки новым и небольшим компаниям сейчас сложнее, чем лет 10-20 назад. Проще тем, у кого есть ноу-хау и инновации, но они не поддаются прогнозам. Пока не ясен механизм увеличения продаж, любые радужные прогнозы не имеют под собой серьезных оснований.

Немалую часть нашего айти экспорта составляет аутсорсинг. Фундаметом аутсорсинга является способность делать качественную работу за небольшие деньги. Об образовании уже сказано выше. Что до цен, то Москва (как один из центров концентрации айти производителей в России) – ныне лидирует в списке самых дорогих городов мира. Рейтинг, конечно, не вполне адекватный, но то, что дорожает жизнь - налицо. А значит те, кто рассматривает Россию как потенциальное место для аутсорсинга, могут предпочесть Украину, Молдавию.

На что же рассчитывает правительство? Читаем статью:

«В России скоро будет создано Федеральное агентство по экспорту высоких технологий. По мнению Германа Грефа, это ведомство сыграет важную роль в повышении конкурентоспособности российских товаров в сфере ИТ на мировом рынке»
На мой взгляд, создание очередного ведомства на самом деле - показатель беспомощности и уход от решения реальных проблем. Если существующие ведомства ровным счетом ничего сделали, то и новое не поможет. Реальная функция ведомств в нашей экономике - плодить бюрократию и коррупцию.
«штат сотрудников агентства будет сформирован преимущественно из числа специалистов Мининформсвязи»
Вот те раз. Какое отношение эти ребята имеют к экспорту айти продукции? Разве Мининформсвязи является экспортером? Наше правительство даже себя не может автоматизировать. Вероятно, чиновников из под одной вывески пересадят под другую, плюс наймут новых. Компетенции в предмете у них от этого не прибавится.
«При этом продукция ИТ, включающая программное обеспечение и нанотехнологии для продвижения на зарубежные рынки, должна иметь определенные преференции, в первую очередь, речь идет об оптимизации налога на добавленную стоимость»

Это уже что-то безусловно положительное. Но для изменения налога не требуется целое ведомство. Пора уже нашему правительству придумать что-нибудь новое, помимо налоговых льгот (о которых говорят уже лет 10).

Ведь есть масса проблем, которые нужно решать. Это касается и образования, и поддержки малого бизнеса, и повышения уровня жизни, и борьбы с коррумпированностью чиновников. Для айти бизнеса (=для людей) нужно создавать среду, в которой он сможет работать и процветать.

И государству давно пора всерьез озаботиться созданием такой среды. Ведь айти индустрия уже сейчас - стратегический ресурс. Без программной начинки уже нельзя произвести ни одной современной машины, самолета, средства свзязи, вооружения.

Wednesday, April 12, 2006

Тестирование как средство проектирования

На мой взгляд, принцип test first - отличная техника проектирования. По крайней мере, опыт использования такого подхода при разработке библиотеки классов для финансовых приложений - крайне положительный. Энтузиазм по поводу TDD, или Test-Driven-Development, при котором тест пишется до самого класса, основан, возможно, как раз на том, что такая техника восполняет недостаток / исправляет на раннем этапе недочеты дизайна. Дополнительное преимущество: когда класс написан, уже готовы тесты чтобы его протестировать. Если тесты писать после классов, то шансы велики, что тесты не будут написаны вообще.

Недостаток пропаганды TDD, на мой взгляд, - в утрировании принципа test first, его аксиоматизации и возведении на пъедестал, где он приобретает абсурдный вид. По крайней мере, так его часто подают в статьях. Такой подход совершенно естественно вызывает скептицизм практикующего программиста, поскольку написание теста сначала имеет свои неудобства - например, невозможность пользоваться IntelliSense при вызове методов класса. (Кстати, Resharper решает эту проблему.) Поэтому понять прелесть подхода часто можно только попробовав его на практике. Принцип "test first" нужно использовать не как догму, а как мощный инструмент, который качественно меняет подход к разработке ПО, но имеет свою область применения, если смотреть на него в контексте полного цикла разработки.

Отражение взгляда на тесты как на нечто очень важное я нашел в статье о тестировании в Microsoft. О значении, которое там придается тестам, говорят следующие факты:

  • позиция тестировщика называется Software Design Engineer in Test
  • число тестеров на 40% больше, чем число разработчиков
  • планы тестирования внушительны (отрывок)
  • тесты изначально автоматизированы

В общем, совершенно согласен с таким подходом, и рад, что мой взгляд на тесты как на что-то первостепенное, находит подтверждение в методике разработки софтверного гиганта.

Monday, April 10, 2006

Калькулятор паев

Мое небольшое произведение - Калькулятор паев. Программа предназначена для держателей паев паевых инвестиционных фондов (ПИФ). Скачивает стоимость паев из Интернет, рассчитывает данные портфеля.

Wednesday, January 25, 2006

Листая Software Development Magazine...

Две занимательные цитаты. Первая – проницательное наблюдение о метриках производительности, проиллюстрированное примером. Речь в статье идет о программе для управления проектом (точнее - bug-tracking):

Say they’d like to be able to keep track of which programmers create the most bugs, which fix the most, and which write the most code. These reports would be very easy to create from the data that we have, but as soon as you create a disincentive to put bugs in the system, people will stop putting them in the system. I’ve learned that any time you try to measure people in the workplace to make them better, they’ll begin to work toward the measurement, which is what you think you want, but they’ll do it in a way that isn’t what you want.
-- Joel Spolsky, SD Magazine February 2005

Вторая – интересный способ взглянуть на продукт глазами покупателя / пользователя:

Ask your customers to imagine that they’re selling your product at a trade show or an electronics store. Give them a few card-board boxes and ask them to design a product box that they’d buy. The boxes should display the key marketing slogans that they find interesting.
-- Luke Hohmann, из того же номера SD Magazine.

Думаю, можно не раздавать коробки, а просто представить; а вместо слоганов подумать о ключевых фичах; и вопрос этот задать не только клиентам, но и себе самому. :)