Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разные вопросы > ПисАть качественный софт


Автор: ida 12.1.2009, 10:58
В очередной раз меня придавило размышлениями о правильности выбранного пути, и хочется поделиться своими мыслями и послушать соображения коллег (настоящих и будущих, надеюсь smile).

За время своей работы в ИТ я прихожу к неторопливому выводу, что разработчику стратегически - как компании, - невыгодно создавать гибкое, переносимое, отказоустойчивое, минимально нуждающееся в поддержке программное обеспечение. Поскольку именно за устранение дефектов, сопровождение, заточку под конкретного заказчика, выпуск новых версий компания получает деньги. Если ПО будет идеальным (представим на минуту, что так бывает), разработчику придется распустить весь штат сопровождения и половину своих программистов, а самому остаться с гораздо мЕньшей прибылью.

На практике я вижу различные методы проведения в жизнь этой стратегии.
От некачественного анализа или вообще его игнорирования до заведомого оставления дефектов в коде.

Возникает вопрос - с теми или иными вариациями так работает вся сфера разработки ПО?... Какие у кого есть наблюдения? Может мне просто не повезло с компаниями.

Автор: Nastya 12.1.2009, 11:04
Все зависит от сферы деятельности и конкуренции.
Если я выпускаю продукт и живу на продажах и у меня 1001 конкурент - мне прийдется писать максимально качественно (например компьютерные игры,кому они нужны некачественные.), если я работаю под конкретного заказчика много лет, при этом уверена сам заказчик "не в теме" и к другм врядли метнется, то да, можно и пофилонить ;)  

Автор: Cashey 12.1.2009, 11:09
Цитата(ida @  12.1.2009,  11:58 Найти цитируемый пост)
За время своей работы в ИТ я прихожу к неторопливому выводу, что разработчику стратегически - как компании, - невыгодно создавать гибкое, переносимое, отказоустойчивое, минимально нуждающееся в поддержке программное обеспечение. Поскольку именно за устранение дефектов, сопровождение, заточку под конкретного заказчика, выпуск новых версий компания получает деньги.


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

выпуск ПО с "браком" это скорее результат экономии на разработке. как на времени так и на штате сотрудников. ну и разумеется квалификации персонала в целом

Автор: batigoal 12.1.2009, 11:13
С т.з. заработка на конкретном продукте - безусловно. Но стратегически есть, как минимум, три аспекта:
  • группа филонящих разработчиков проигрывает конкурентную борьбу (и другим компаниям, и внутри собственной компании)
  • разрыв контракта со стороны заказчика по причине неудовлетворительного качества - не такая уж редкость. Так что есть шанс остаться без денег
  • Удовлетворение от работы при таком качестве будет строго нулевым. Сам сбегу. Плавали, знаем.

Автор: ida 12.1.2009, 11:30
batigoal, а в каких сферах, по-твоему, дела обстоят иначе?
В смысле - в каких сферах ИТ.

Автор: Retro 12.1.2009, 11:38
Цитата(ida @  12.1.2009,  09:58 Найти цитируемый пост)
От некачественного анализа или вообще его игнорирования до заведомого оставления дефектов в коде.

Так и есть. Анализ при разработке малого/среднего (по сложности) IT-проекта это редкость. Либо анализ делается кустарными методами, "на коленке".

Заведомые дефекты это вряд ли, слишком неточный инструмент, но делается многое для "необходимости сопровождения". И это правильно, как показала практика (кризис).

Я ещё несколько месяцев назад написал, что у IT-компаний наибольшие шансы пережить кризис с минимальными потерями (да и вообще выжить) у тех, у кого мало продуктов и много сопровождения. Жизнь таки показала, что я прав. smile 
От покупки нового ПО многие отказываются из экономии, а отказаться от ПО на которое "подсел" бизнес-процесс практически невозможно.

Также популярное решение "лицензия на год", если компания перевела бизнес-процесс на некое ПО, то отказаться от него очень сложно. Приходится продлевать лицензию. Иногда первая доза некий срок бесплатно.  smile 

Цитата(ida @  12.1.2009,  09:58 Найти цитируемый пост)
Если ПО будет идеальным (представим на минуту, что так бывает), разработчику придется распустить весь штат сопровождения и половину своих программистов, а самому остаться с гораздо мЕньшей прибылью.

Компаниям разработчикам невыгодно идеальное ПО, факт. К счастью идеальное ПО невозможно на данном этапе, так как оно имеет свойство устаревать, меняется законодательная база, меняются потребности компании и т.д.

Лучшее направление в анализе, ИМХО, это не идеальность ПО, а его гибкость. Чтобы волки сыты и овцы целы. 

Автор: source777 12.1.2009, 11:43
Да, к сожалению случаи, когда функ.дизайн поспевает только к финальной стадии разработки пока не редкость...
Так что бывает даже наоборот, команда программистов создаёт максимально гибкое решение, а потом если будет время адаптирует его под подоспевший функ.дизайн...  А начальство ещё и сроками не довольно, конечно знать бы заранее что конкретно нужно заказчику, можно было бы на порядок проще сделать... Тут и заказчики мутные бывают, тянут с прояснением ситуации до последнего... особенно с гос. структурами это часто случается...

Автор: batigoal 12.1.2009, 11:57
Цитата(ida @  12.1.2009,  12:30 Найти цитируемый пост)
batigoal, а в каких сферах, по-твоему, дела обстоят иначе?

Разве что в области коробочного десктопного софта, где можно относительно легко перепрыгнуть на более стабильную альтернативу (не требуется замена оборудования). К тому же, как правило, есть trial period, и можно не заморачиваться с анализом списка фич, а просто взять и попробовать.

Автор: Mephisto 12.1.2009, 12:22
Цитата(ida @  12.1.2009,  11:58 Найти цитируемый пост)
Если ПО будет идеальным (представим на минуту, что так бывает), разработчику придется распустить весь штат сопровождения и половину своих программистов, а самому остаться с гораздо мЕньшей прибылью.

Неидеальное ПО это следствие того что, в следствие конкуренции, многие выкидывают сырые продукты, даже если был нормальный анализ на первых стадиях. После чего разработка превращается в затыкание дыр.

На рынке из грандов знаю только одну компанию которая доводит разработку до конца - IBM.

Автор: LSD 12.1.2009, 13:08
Мы например пишем софт "для внутреннего потребления" и все равно проблемы есть. Я считаю, что никто не закладывает специально баги и недоработки в код. Да это и не нужно, эти проблемы появятся сами. Т.е. такие условия появляются сами по себе, без злого умысла.


Цитата(Retro @  12.1.2009,  11:38 Найти цитируемый пост)
От покупки нового ПО многие отказываются из экономии, а отказаться от ПО на которое "подсел" бизнес-процесс практически невозможно.

Если сам бизнес-процесс не будет ликвидирован smile


Цитата(Mephisto @  12.1.2009,  12:22 Найти цитируемый пост)
На рынке из грандов знаю только одну компанию которая доводит разработку до конца - IBM. 

smile
Цитата(y3u @  16.9.2007,  17:09 Найти цитируемый пост)
Такой же глючный, как и все от IBM... у них, разьве что, MQ не глючит, но его уже столько лет вылизывали...

Цитата(w1nd @ 4.2.2007,  22:42)
Никогда. Это же IBM, вы очень верно подметили smile Ни один продукт IBM не рассчитан на использование без их помощи. Заметьте, не документации, а помощи, потому как с документацией всё очень плохо даже у очень платных продуктов.

От себя добавлю: SWT отстой полнейший о чем думали когда его разрабатывали вообще не понятно, плюс документации по нему чуть больше чем ноль. Lotus Notes написан по какому-то недоразумению. В ихнем флагмане DB2 тоже достаточно много "оригинальных" решений.

Автор: AntonSaburov 12.1.2009, 13:38
Цитата(ida @  12.1.2009,  10:58 Найти цитируемый пост)
За время своей работы в ИТ я прихожу к неторопливому выводу, что разработчику стратегически - как компании, - невыгодно создавать гибкое, переносимое, отказоустойчивое, минимально нуждающееся в поддержке программное обеспечение. Поскольку именно за устранение дефектов, сопровождение, заточку под конкретного заказчика, выпуск новых версий компания получает деньги. 

Абсолютно не согласен.

Можно разделить рынок на два сегмента:
1. Программы на продажу.
2. Программы на заказ.

По 1 - если программа будет плохая, то конкуренты съедят. Смысла писать плохой софт не очень много.

По 2 - чаще деньги берут не за исправление багов, а зо написание доп. функциональности. И тут плохо писать - себе дороже. Компания может найти другого консультанта.

Просто крайне мало людей, которые умеют хорошо делать свою работу. Во всех областях. Большинство предпочитает просто хапнуть. Вот и приходим к таким не совсем правильным выводам.

Автор: ida 12.1.2009, 13:41
Цитата(Retro @ 12.1.2009,  12:38)
Чтобы волки сыты и овцы целы.

Вот такая позиция мне и не нравится.
Больше по душе - чтобы был доволен и заказчик, и разработчик (команда).

А разработчик не может быть доволен, когда осознает, что делает дрянь.
Ну... зрелый разработчик. smile


source777LSD, я бы хотела, не отвлекаясь на обсуждение недостатков отдельных заказчиков и разработчиков, подумать, где эта ситуация более гармонична.
Где, в каких сферах платят за качество ПО, а не за его "неизбежность" (назовем это так)?

AntonSaburov, но ведь заказчик часто просто не в состоянии сделать вывод о том, какой софт лучше. Он судит по своим каким-то критериям, вплоть до пользовательского интерфейса. 
И как ведутся продажи, ты тоже знаешь. Не хочется углубляться в эту тему. На практике часто работает не конкурения, а  другие механизмы.

Автор: LSD 12.1.2009, 13:53
Цитата(ida @  12.1.2009,  13:41 Найти цитируемый пост)
Где, в каких сферах платят за качество ПО, а не за его "неизбежность" (назовем это так)?

Там где нельзя отделаться as is smile

Автор: Mephisto 12.1.2009, 14:39
LSD, по поводу IBM я не только про софт говорю. Сама концепция у них такова что на рынок попадает законченый продукт. Это отнюдь не всегда выгодно.
Коробочные же продукты других производителей реально юзать только со второго - третьего сервис пака. Идея - новинкой захватить рынок. 

Автор: Akella 12.1.2009, 14:54
Цитата(ida @  12.1.2009,  10:58 Найти цитируемый пост)
Если ПО будет идеальным (представим на минуту, что так бывает), 

Microsoft Office уже стал как стандарт де факто.

Автор: Retro 12.1.2009, 15:10
Цитата(LSD @  12.1.2009,  12:08 Найти цитируемый пост)
Если сам бизнес-процесс не будет ликвидирован

Разумеется.

Цитата(ida @  12.1.2009,  12:41 Найти цитируемый пост)
Вот такая позиция мне и не нравится.
Больше по душе - чтобы был доволен и заказчик, и разработчик (команда).

Это действительно редкость.

Заказчик, как правило, не может чётко, на 100%, сформулировать чего он хочет.
Исполнитель имеет свою "картину мира" перед глазами.
В теории нужен переводчик с языка клиента на язык разработчика, и наоборот.
На практике и Клиент, и Разработчик считают себя очень умными и думают, что можно обойтись без переводчиков.
Или даже осознавая необходимость в "переводе" на этом зачастую просто экономят, считая эту статью не критичной для всего дела, но критичной для бюджета.

Автор: Mephisto 12.1.2009, 15:23
Цитата(Akella @  12.1.2009,  15:54 Найти цитируемый пост)
Microsoft Office уже стал как стандарт де факто. 


Ты 2007 поставь. ;) Косяк на косяке. Оутлук портит почту. То что уходит <> тому что приходит. В ворде меню перепутаны и.т.д. Тоже хватает.

гыгыгы.
Только что хотел посмотреть какя же у меня версия в конце концов. Нашел только справку в которую и залез:
Цитата

Не удается отобразить страницу XML 

Не удается просмотреть ввод XML с использованием списка стилей XSL. Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее. 


--------------------------------------------------------------------------------

Не удается найти указанный объект. Ошибка при обработке ресурса ''../../awsbobcontrols.dtd''. 

Между прочим стоит лицензионная версия офиса.  smile 

Автор: JackYF 12.1.2009, 16:23
Цитата(Akella @  12.1.2009,  13:54 Найти цитируемый пост)
Microsoft Office уже стал как стандарт де факто. 

Свободное ПО тоже как бы есть.

Автор: Mephisto 12.1.2009, 17:57
Можно разрабатывать ПО и свободно выкладывать на своем сайте. Причем писать его так, как ты думаешь было бы верно и в какие угодно сроки. А деньги брать за рекламу  smile 

Автор: ida 12.1.2009, 17:58
Цитата(Retro @ 12.1.2009,  16:10)
В теории нужен переводчик с языка клиента на язык разработчика, и наоборот.

Чем я на практике и зарабатываю себе на жизнь  smile

Цитата(Mephisto @ 12.1.2009,  18:57)
А деньги брать за рекламу

Да это просто золотое дно... smile

Автор: Retro 12.1.2009, 18:15
Цитата(ida @  12.1.2009,  16:58 Найти цитируемый пост)
Чем я на практике и зарабатываю себе на жизнь

Так я и писал как бы в тему поста. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)