Monday, 30 March 2015

Эффективное использование методик СКРАМ (SCRUM), экстремального программирования (ХР) и Сикс Сигма при создании и внедрении CRM систем.

Логично рассматривать применение методик  итерационного приближения свойств программного продукта к требованиям клиента СКРАМ,  бережливого производства Сикс Сигма, практик экстремального программирования (ХР) и системы CRM во взаимосвязи, особенно если продуктом разработки является адаптация серийного CRM продукта к потребностям конкретного клиента и перед внедрением CRM у клиента необходимо формализовать и оптимизировать бизнес процессы.
Набор правил (практик) ХР является набором ранее известных методик, отчетливо просматриваются инструменты методики бережливого производства Сикс Сигма. 
1. Следует понимать принципиальную разницу между оптимизацией бизнес процессов, которая выражается в очевидном и измеримом привлекательном для клиента повышении их эффективности и оптимизацией кода программы, которая внешне не проявляется и служит целям облегчения командного труда программистов. Нередко путают процессы т.н. "Рефакторинга", при котором оптимизируется код программы с целью его упрощения и собственно "Оптимизации кода", в результате которой код программы не упрощается, но зато улучшается его понимание членами команды ХР программистов.
Требования Сикс Сигма не допускают повторного выполнения работы (reworking), следовательно при коллективной форме труда экстремальных программистов каждый должен отчетливо представлять продукт в его текущем состоянии без затрат времени на изучение недавних изменений (инкрементов), а сам продукт должен постоянно изучаться представителем заказчика, который должен быть экспертом в отрасли применения разрабатываемой CRM системы и постоянно находиться в составе ХР команды.
2. Только высокий уровень самодисциплины позволяет избежать в соответствии с методикой Сикс Сигма переделок и устранения ошибок как затратных действий, не соответствующим требованиям клиентов и не добавляющих ценности  продукта в глазах клиентов. Соответствие продукта требованиям заказчика постоянно проверяется его представителем, все изменения предварительно тестируются. "Коллективное владение кодом" подразумевает персональную ответственность. Для профилактики появления ошибок применяется принцип "Парного программирования" или "Четырех глаз". Программисты работают в парах, один пишет- второй проверяет.Если система начинает работать некорректно, то исправляют ошибку те программисты, которые внесли изменения. Для профилактики значительных переделок интеграция в систему новых частей должна происходить как можно чаще (практика "Непрывной интеграции") исключительно после успешного тестирования по максимальной программе. Небольшие, но регулярные "Релизы" позволяют использовать т.н. методику IDOV из набора инструментов Сикс Сигма и получать отзывы клиента (Voice of Customer) для обеспечения соответствия характеристик продукта требованиям заказчика, что в свою очередь является основной целью внедрения CRM системы. Всемирная практика успешного внедрения CRM системы у клиента подразумевает первоочередное внедрение системы CRM у его разработчика и поставщиков.
3. Применение "Единых стандартов кодирования" как меры обеспечения экономии рабочего времени программистов, наряду с обеспечением "Простоты архитектуры" обязательно для всех членом команды  и должно применяться при форматировании кода, определения стиля комментариев, наименовании констант, переменных и классов, безусловно необходимы для реализации практик "Коллективного владения кодом", "Парного программирования" и "Рефакторинга".
Экономия рабочего времени программистов достигается также использованием его наиболее продуктивной части- не более 8 часов в день. При этом за компьютером программист должен проводить не более 6 часов, которые необходимо сопровождать встречами у доски (SCRUM meeting) и элементами физической активности. Практика охраны труда при СССР подразумевала каждый час проветривание помещений, обязательное прекращение работ в обеденный перерыв и до обеда еще было занятие производственной гимнастикой. Из динамиков 15 минут раздавался бодрый голос преподавателя Камышева и аккорды пианиста Родионова. Еще в институтах играли в настольный теннис. Была по телевизору передача про выпускников- математиков моего университета, которые уехали в Америку работать программистами в Силиконовую долину. Знакомые были все лица, и стол для настольного тенниса тоже присутствовал, им там сразу умные люди разрешили.
Сверхурочная работа при разработке ПО противоестественна.
Необходимость сверхурочной работы- это четкий индикатор наличия проблемы, которую необходимо определить и устранить, и поскольку речь идет о затруднении потока работы  в бизнес процессе, полезным может оказаться применение "Теории Ограничений" как инструмента Сикс Сигма.
Решить проблему можно определив и устранив "Бутылочное горло", нередко проблема устраняется сама, если со входа на проблемный участок бизнес процесса убрать "Порожняк" и "Брак". Под первым я подразумеваю действия, не добавляющие ценности продукта в глазах клиента. "Брак"- это и программный продукт, не в полной мере соответствующий требованиям клиента. Поэтому я вынужден повторить о важности постоянного взаимодействия с клиентом и ориентации на его требования.

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






No comments:

Post a Comment