LINUX.ORG.RU

SCRUM в сфере разработки ПО

 


4

2

Кто нибудь понимает нафиг это надо и реально использует? Все эти итеративные, спиральные, каскадные модели? Или чем груминг беклога отличается от обзора итогов спринта?

Как я понимаю знание этих методик обязательно для прожект-менеджмента и тим-лидера.

Ответ на: комментарий от anonymous

Вам в основном отвечаю не из-за оправдания себя, а потому, что вы затрагиваете вопросы общения в форуме.
Вопрос «намеков» очень актуален и многие высказываются об ЛОР и стилей диалогов, что они несут мало позитива.

Владимир

anonymous ()
Ответ на: комментарий от anonymous

Спасибо за то, что предоставили возможность высказать суждения об общении в ЛОР.
Дальше не старайтесь /время попусту потеряете/.

Владимир

anonymous ()
Ответ на: комментарий от anonymous

Толково!
Спасибо!

то есть, теперь нельзя переходить в середину функции, в середину if или while, выходить из середины

А почему на этапе компиляции не «бить по рукам»?

Владимир

anonymous ()
Ответ на: комментарий от anonymous

А почему на этапе компиляции не «бить по рукам»?

а зачем? это же ассемблер «если вы делаете нечто странное, значит так вам и надо вы понимаете что вы делаете». в этом смысле и фортран с вычисляемым GOTO и бейсик с ON GOSUB N+1 и какой-нибудь HLA, High Level Assembler – это всё едино. в HLA например синтаксис Pascal, семантика С++ (даже свой STL написали), есть ООП, но функции могут быть с другим своим calling convention (как naked в Си), есть формульный калькулятор, но по сути – ассемблер с mov (eax,ebx) вместо mov eax, ebx.
и с мантрой «не платите за то, что не используете», а по сути – smart linker, который неиспользуемое выдирает.

или вот тот же MUMPS, ФОКАЛ – бейсик бейсиком. но есть множественные точки входа, Non-local exits и костыли-велосипеды со стеком и областями видимости вместо полноценных блоков, контекстов, замыканий.

при этом можно запустить рутину через DO , можно через GOTO, а можно и через JOBS, как сопрограмму и полноценный процесс базы данных с отдельным контекстом процесса.

переменные не объявляются – а появляются при первом присваивании, как в 1С. тип тоже определяется по типу выражения, можно складывать яблоки с апельсинами. есть скалярный и векторный контекст значений.

уже на этом можно изобразить сопрограммы, асинхронщину и полноценные процессы баз данных.

бить по рукам – конечно можно и нужно. например в той же Аде: указатели типизированные, указатель на яблоки с указателем на апельсины складывать нельзя – заткнули старую дырку ещё из B/BCPL (вообще операции кроме присваивания запрещены ибо тип limited или limited private, которому и присваивать запрещено, можно например только получить ключ/хендл через токен и методы дёргать). чтобы указаться на массив или переменную, она явно должна быть aliased. для тегированных типизированных указателей работает проверка области видимости вложенных контекстов и блоков. не то чтобы семантика владения в Rust, но первый шаг в этом направлении. при этом есть раздельная компиляция и модульность. при этом есть вложенные дочерние пакеты и generic пакеты.

если сравнивать Ada83 который object-based и Ada95, который object-oriented, то для Ada83 «by design» запрещены диспетчеризующиеся методы (то есть, virtual в С++) ибо для RTOS некошерно недетерменированное время на вызов из-за диспетчеризации. плюс тогда было неясно как совместить GC и диспетчеризацию, не хватало чего-то типа семантики владения/одалживания в Rust. то есть, модель ООП там возможна только ограниченная типа как в 1C component-based – нет наследования классов(записей) и полиморфизма. но есть дочерние пакеты и generic пакеты, на которых тоже можно изобразить какой-то полиморфизм времени компиляции, статически проверяемый. тоже можно изобразить какую-то модульную, компонентную систему.

в Ada95 объектная ориентация выразилась в том, что записи стало можно наследовать: tagged record допускает наследование (в Oberon/Component Pascal похоже сделано), и полиморфизм и диспетчеризацию можно явно включать, там где нужно: Method(Obj_Self'Class,A,B,C) вместо Method(Obj_Self,A,B,C). в Ada2005 добавили нормальный синтаксис через точку: Method(Obj,A,B,C) <=> Obj.Method(A,B,C) типа как UFCS в D. и разрешили множественное наследование интерфейсов.

в Ada2012 добавили контрактное программирование и пред/постусловия и инварианты из SPARK. сам SPARK это статически проверяемое подмножество Ады, тоже расширили.

здесь другая мантра: «возмём модульный человекочитаемый паскаль, расширим максимально семантикой, асинхронными тасками, исключениями, generic пакетами полиморфными и будем его последовательно ограничивать», «нестандартное поведение нужно указать явно», «сначала абаснуй, то есть докажи/верифицируй что используешь безопасное в рантайме подмножество языка, потом используй обкоцанный рантайм или отключи явно прагмами». даже вместо smart linker есть gnatelim, который явно выкидывает перечисленное неиспользуемое, гарантируя что этого вот точно не появится.

anonymous ()
Ответ на: комментарий от anonymous

так-то код с корутинами и прочим мухлеванием стеком ещё на алголе 60 можно было написать, не говоря уже о каких-нибудь модулах. который, кстати был более полимофный чем более ограниченный паскаль.

потом все эти трюки с продолжениями/замыканиями/сопрограммами/octopus stack с тентаклями запретили, конечно же. ибо у среднего программиста моск взорвётся, пока он типичную программу на MUMPS с множественными точками входа и существенно разными рабочим множеством переменных (незадекларированных и контрабандой определяемых «по месту») или множественными трассами исполнения проанализирует. например, тот же emacs lisp с динамическими переменными – проще запретить их вообще в какой-нибудь схеме с лексическим областями видимости – чем понять и простить. простить и отпустить.

anonymous ()
Ответ на: комментарий от anonymous

а вообще конечно интересное было направление автоматное программирование про композицию конечных автоматов. операторные схемы Янова, структурная алгебра программ (ученики Глушкова, ЕМНИП, алгоритмическая алгебра, алгоритмические логики), фабрики программ

Під час конструювання алгоритмів програмісти керуються в основному інтуїтивним підходом, не замислюючись над тим, чи утворюють певну систему виконувані ними операції, проте така система є, вона формально описана і називається алгоритмічною алгеброю. Наразі розроблено кілька алгоритмічних алгебр, найвідомішими з яких є алгебра Дейкстри, алгебра схем Янова та алгоритміка програм, досліджена у працях В.М. Глушкова і Г.О. Цейтліна.

Дослідження і побудова алгебри алгоритмів або алгоритмічної алгебри почалося з проектування логічних структур ЕОМ під керівництвом академіка В.М.Глушкова. Як результат була створена теорія систем алгоритмічних алгебр (САА), що потім Г.О.Цейтліним була покладена в основу узагальненої теорії структурованих схем алгоритмів і програм, названою ним алгоритмікою [30].

Алгоритміка програм призначена для побудови послідовних і паралельних програм зі структурних схем з використанням апарату формальних алгебраїчних перетворень і канонічних форм опису логічних і операторних виразів. Її основу становлять САА, розширені формалізмами для зображення логічних умов виконання паралельних програм, а також методами символьної мультиобробки [30, 31].

Основними поняттями алгебри алгоритмів є:

– операції над множинами, булеві операції, предикати, функції й оператори;

– бінарні і n-арні відношення, еквівалентність, частково і цілком упорядковані множини;

– графи-схеми й операції над графовими структурами;

– операції сигнатури САА, аксіоми і правила визначення властивостей програм на основі стратегії згортання, розгортання і їх комбінацій;

– методи синтаксичного аналізу структурних програм і символьна обробка.

сейчас как-то особо непонятно куда это развивается и развивается ли вообще.

а вонi нi знати проте що така система є, нi зрозумiти сього так безнастанно вимудровати лисапед. шо вони робят!

anonymous ()
Ответ на: комментарий от anonymous

в итоге облегчили формальную верификацию. плюс теорема Бьёма-Якопини которая говорит что любой алгоритм может быть переделан к структурному виду. и например тот же брейнфак где его набор команд и есть операторов Бьёма-Якопини...
опростились же аки граф Толстой, ходим в рубище и лопухами подтираемся. замыкания с продолжениями некошерны, хитрые игры со стеком вне закона. а два стека, например как в аде где во втором можно хранить локальные данные переменного размера – вообще хитрая магия. фортрановы переменные в регистрах а не стеке, кстати тоже.
кстати, тому же Толстому тоже почему-то приписывают бред под названием «непротивлению злу насилием». изачальное понятие «ахимса» означала «ненасильственное сопротивление злу», почувствуйте разницу. сопротивляться, но не умножая насилие или не копротивляться ваапче.

Как. Ты. Это. Делаешь? Ты что, следишь за мной? Будто взял тезисы из моего ума, проработал их, и написал результат на форум.

byko3y ()
Ответ на: комментарий от Einstok_Fair

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

Мне страшно читать 13 страниц. Можно ли подвести итоги?

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

Ты можешь изучить методы пропаганды и просто введения в заблуждения, чтобы иметь возможность легко определять людей, которые бездарно пытаются применить эти методы - как это сделал я, например. Пригодится это побольше, чем знание вопросов нужности/ненужности SCRUM. Правда, с этими знаниями пропадает какая бы то ни было радость в просмотре телевизора или новостных сайтов, а также приходит осознание того, какой помойкой является википедия - смотреть получается только через призму «какой лагерь нынче продвигает какие идеи в массы».

byko3y ()
Ответ на: комментарий от anonymous

переменные не объявляются – а появляются при первом присваивании, как в 1С.

В 1С 7.7 все переменные - VARIABLE.
Internal она COM сервер.
Вот поэтому то можно использовать скажем Visual Studio 2003 и «ваять» ActiveX, которые прекрасно дружат с 1С 7.7.
Впрочем можно «ваять» используя C# …
Поэтому то, расширить возможности 1С 7.7 очень легко.
Но 1С-ники обычно не имеют знаний выше подсчета пустых бутылок из под пива и пробок от шампанского.

Всегда хвалил 1С за их архитектурный подход.
Все «просто» - предоставляем программисту пятьсот наиболее востребованных объектов и не сложный язык для их использования.

Великолепно!

Владимир

anonymous ()
Ответ на: комментарий от anonymous

здесь другая мантра: «возмём модульный человекочитаемый паскаль,

Все «мантры» с языками программирования от того, что пятьдесят лет назад /безусловно умные/ разработчики проектировали их с использованием грамматик.
Но такой способ не позволит реализовать удобный синтаксис. Как результат имеем непрерывную чреду «улучшений» семантики.

Имеются ли другие методы разработки языков программирования.
Конечно.

Владимир

anonymous ()
Ответ на: комментарий от byko3y

Для этого не нужны ежедневные совещания

Ежедневные пятиминутки, ну хорошо, пятнадцатиминутки — это ещё терпимо, толку не особо много, но помогает держаться в тонусе. Хуже ретроспектива+планнинг+рефайнмент. Это гарантированно 5 часов на итерацию долой. А ведь после пары часов говорения нужно ещё и отдохнуть, восстановить в голове контекст и т.д. Вот рабочий день и тютю. В спринте 10 дней, один ушёл на аджайловые митинги плюс неизвестное количество часов — на всякие другие совещания …

А потом все такие: «О боже мой! Да мы же ничего не успеваем! Давайте назначим совещание, чтобы поговорить об этом».

ugoday ★★★★★ ()
Ответ на: комментарий от ugoday

Это ты в армии не служил, не знаешь как правильно надо. Утренний развод - 30 минут. Докладывают дежурный по части и командиры подразделений. Хатем доводятся приказы личному составу и ставятся задачи. На все четкий регламент, поэтому все готовятся к докладу. Если за 5 минут не успел доложить или затруднился ответить на вопросы - получаешь взыскание. А не так, что народ приходит на совещание неготовым, отсюда и все потери времени.

anonymous ()
Ответ на: комментарий от anonymous

Если ее использовать в сетевом режиме работы, то вы правы, если через RDP, то все хорошо.
Все дело в том, что 1С 7.7 не умеет эффективно выполнять SQL запросы.
Так вот если использовать подсистему, обеспечивающую «прямые запросы», то все работает быстро.
Что касаемо одновременной работы 100 человек, то здесь нужно смотреть код модулей, профилировать, … .
Проще говоря программист должен «уметь и знать как».
В 1С 8.x много «стенаний» программистов на медленную работу /это не критика 1С/.

Владимир

anonymous ()
Ответ на: комментарий от anonymous

Добавочка.

Все дело в том, что 1С 7.7 не умеет эффективно выполнять SQL запросы.

Проблема в том, что 1С 7.7 не может работать а-ля сервер.
Проблема решаема /но не стандартными средствами 1С 7.7/.

Проще всего - использовать RDP и сотрудничать с профессионалами.

Владимир

anonymous ()
Ответ на: комментарий от byko3y

Очень просто, метод называется: покажи, что сделал. Правда, зачем это называть умными словами - понятия не имею.

Вы всю суть всего и вся упустили. Неудивитьельно - у вас какая то разновидность аутизма и трудности с общением и пониманием людей. (аутизм есть у всех программистов, разница в том как человек с ним поступает)

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

anonymous ()
Ответ на: комментарий от morse

Какой ты весь в белом, возвышаешься над каловыми массами вокруг.

я действительно разбираюсь в этом вопросе лучше, чем 99% формумчан :)

Я полностью согласен с тем, что ты написал и не вижу никаких противоречий. Всегда(!) решение о методологии принимается сверху, но если «снизу» не понимают методологии, не принимают ее идеи, то ничего не получится, слишком уж все фреймворки аджайла завязаны на самознательность людей.

Так что перед внедрением фреймворка всегда вначале надо его понять и принять, а только потом начинать переходить на него. Ну это всё не касается случаев, когда есть очень много бабла у бизнеса, и он готов факапить на внедрениях раз за разом.

v9lij ★★★★★ ()
Ответ на: комментарий от anonymous

это же ассемблер «если вы делаете нечто странное, значит так вам и надо вы понимаете что вы делаете». в этом смысле и фортран с вычисляемым GOTO и бейсик с ON GOSUB N+1 и какой-нибудь HLA, High Level Assembler – это всё едино. в HLA например синтаксис Pascal, семантика С++ (даже свой STL написали), есть ООП, но функции могут быть с другим своим calling convention (как naked в Си), есть формульный калькулятор, но по сути – ассемблер с mov (eax,ebx) вместо mov eax, ebx.
Если сравнивать Ada83 который object-based и Ada95, который object-oriented, то для Ada83 «by design» запрещены диспетчеризующиеся методы (то есть, virtual в С++) ибо для RTOS некошерно недетерменированное время на вызов из-за диспетчеризации

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

byko3y ()
Ответ на: комментарий от shkolnick-kun

Это слово scrum звучит же как scum, который переводится как «дерьмо». Разве хорошую вещь назовут как дерьмо? По-моему это какой-то троллинг, который вышел из под контроля.

crutch_master ★★★★★ ()
Ответ на: комментарий от shkolnick-kun

Однажды в одной конторе уволился начальник IT отдела. И на его место пришли:

  • product owner, у нас же всё теперь по аджайлу.

  • process lead, процессы это важно!

  • people lead, ну там happinnes index померить, отпуска согласовать, не очень понятно, зачем это вообще, но я принял, что есть вещи выше моего разумения.

  • DevOps transformation lead … Всё будет как в Гугле! Или в фейсбуке. Ну, в общем, круто будет.

  • tech lead, у всех есть тех лиды, вот и у нас будут.

А аджайл коуч тут и прежде был.

ugoday ★★★★★ ()
Ответ на: комментарий от ugoday

people lead, ну там happinnes index померить, отпуска согласовать, не очень понятно, зачем это вообще, но я принял, что есть вещи выше моего разумения.

Мне кажется, или его обязанности сильно пересекаются с управлением человеческими ресурсами?

shkolnick-kun ★★★★ ()
Ответ на: комментарий от shkolnick-kun

Мне кажется, или его обязанности сильно пересекаются с управлением человеческими ресурсами?

Его обязанности ситльно пересекаются с протиранием штанов.

byko3y ()
Ответ на: комментарий от shkolnick-kun

Честно скажу, я не понял эту систему, т.к. классические hr’ы тоже существуют, равно как и talent acquisitions team (или как-то так), которая занимается исключительно наймом.

ugoday ★★★★★ ()
Ответ на: комментарий от ugoday

Если начальника переименовать в product owner’а

Ты бы еще хозяйн или владелец написал.

product owner тот кто думает про удобство конечных пользователей, связи с начальником нет никакой.

abs ★★★ ()
Ответ на: комментарий от Liz812

Никакого, я ни где и не говорил что это относится к управлению проекта. Это по сути тоже самое что и программисты (вид сбоку).

По этому я и удивился когда их приравняли к остальным профессиям связанных с agile

abs ★★★ ()
Ответ на: комментарий от Liz812

За эксплуатацию отвечает заказчик. Ему программы отдали и пусть эксплуатирует.

Тут ты не права, «программы отдали» это НУ ОЧЕНЬ УПРОЩЕННО. В реальности будет с десяток связанных серверов и прочего на что нужно все правильно релизить и так далее. Плюс гит, плюс бекапы, плюс фиксить проблемы если что-то падает

abs ★★★ ()
Ответ на: комментарий от abs

product owner тот кто думает про удобство конечных пользователей, связи с начальником нет никакой.

Конечно product owner это никакой не начальник. Это такой же равноранговый работник как и остальные. Просто он определяет приоритет бэклога. Например, имярек, TicketNNN это приоритет номер ноль, чтоб к четвергу было сделано, иначе всему отделу кранты. Связи с начальником нет никакой, конечно.

Релиз на прод по ФТП one love?

Ваша страсть выдумывать себе соломенных чучел и сразу же их побеждать просто феноменальна.

ugoday ★★★★★ ()
Ответ на: комментарий от ugoday

Ваша страсть выдумывать себе соломенных чучел и сразу же их побеждать просто феноменальна.

Из-за того что русский мне не родной тонких намеков этой фразы я не уловил.

abs ★★★ ()
Ответ на: комментарий от abs
  1. Imago (здесь: подмена - лат.) - шестой прием. Заключается в том, чточитателю подсовывается некое невообразимое чучело, не имеющее ничего общего с действительным противником, после чего этот вымышленный противник изничтожается. Например, опровергаются мысли, которые противнику никогда и не приходили в голову и которых он, естественно, никогда не высказывал ; ему показывают, что он болван и глубоко заблуждается, приводя в примеры действительно глупые и ошибочные тезисы, которые, однако, не принадлежат ему.

Остальное здесь: http://lib.ru/SOCFANT/CHAPEK/gazeta.txt

ugoday ★★★★★ ()
Ответ на: комментарий от ugoday

. Например, опровергаются мысли, которые противнику никогда и не приходили в голову и которых он, естественно, никогда не высказывал

Тогда объясни мне суть своего вот этого комментария

[code] Однажды в одной конторе уволился начальник IT отдела. И на его место пришли:

product owner, у нас же всё теперь по аджайлу.

process lead, процессы это важно!

people lead, ну там happinnes index померить, отпуска согласовать, не очень понятно, зачем это вообще, но я принял, что есть вещи выше моего разумения.

DevOps transformation lead … Всё будет как в Гугле! Или в фейсбуке. Ну, в общем, круто будет.

tech lead, у всех есть тех лиды, вот и у нас будут. [/code]

Я увидел что ты объединил product owner-а связанного с agile с devOps. А также увидел долю вашего негодования этой ситуацией (То есть как будто все это булшит)

И я совершенно не понял этого. Я могу понять почему многие тут считают agile булшитом, но причем тут devOps который гораздо ближе к программистам и обитателям этого форума?

abs ★★★ ()
Ответ на: комментарий от abs

Тогда объясни мне суть своего вот этого комментария

на бумаге: Аджайл сокращает количество разного начальства

в реальной жизни: количество протирающих штаны на совещаниях и загружающих друг-друга работой людей увеличилось в 5 раз.

Продолжаю наблюдение.

ugoday ★★★★★ ()
Ответ на: комментарий от abs

То есть devOps по вашему такой же булшит как и аджайл?
Релиз на прод по ФТП one love?

Да.

И я совершенно не понял этого. Я могу понять почему многие тут считают agile булшитом, но причем тут devOps который гораздо ближе к программистам и обитателям этого форума?

Если компания, в которой ты работаешь, называется Google LLC, Facebook, или, может быть, Spotify Technology S.A., то вопросы CI/CD и технологии контейнеров тебе могут быть близки. Остальные же кодеры-лоровцы часто не строят иллюзий по поводу этих технологий, и понимают, что для мелкого проекта они приносят больше проблем, чем преимуществ. Примерно как и Agile/Scrum. И примерно так же CI/CD/Docker нынче являются модными базвордами, смысл которых мало кто понимает, но зато много кто о них слышал. Зато, почему-то, мало кто слышал про тот же Nomad.

byko3y ()