RRRRR - 54.197.171.35

Начальная стандартизация в программировании

Обсуждения-аналоги

Скрыть / Показать Сортировать по дате
2014-07-16 14:37:57
Ярило Смирнов » Всем

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

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

Сейчас этапы моей работы можно выделить в примерно такую последовательность:
1. Пишет человек, обговаривается сама задача, выясняется что именно нужно сделать
2. Примерно оцениваю сколько это может выйти по деньгам и по времени, если клиента всё устроило то начинается сама работа
3. Если задача простая, я сразу приступаю к работе
4. Если задача сложная, я пишу алгоритм действий по решению этой задачи, на выходе получается техническое задание
5. Техническое задание вместе с клиентом "проговаривается", этот этап служит для того чтобы точно знать что каждый пункт клиент и я понимаем одинаково
6. Я делаю работу, затем сдаю проект клиенту
7. Далее клиент инструктируется мною о том как пользоваться скриптом, оплачивает работу

2014-07-16 14:47:59
Ярило Смирнов » Ярило Смирнов

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

2014-07-16 15:23:13
Редакция » Ярило Смирнов

Уважаемый Коллега!


  • ... и хочу эту работу стандартизировать, чтобы она накапливалась в виде опыта... 
  • ... Забыл написать такую вещь, опыт есть - а как его хранить в правильном виде мне тоже не понятно, если меня спросить как сделать то или иное действие - я отвечу, но как этот опыт "материализовать" и "положить на бумагу" - вот этот момент меня очень сильно интересует...

Стандартизировать и хранить опыт можно на 4-х разных уровнях:

  • Хорошо документированные готовые решения ("бери и пользуйся") - уровень 1
  • Хорошо описанные задачи - аналоги ("сделай у себя, как сделали здесь") - уровень 2
  • Хорошо описанные приёмы решения задач с массивом примеров ("опиши задачу по этим правилам и получишь способ решения и примеры") - уровень 3
  • Алгоритмы постановки и решения задач ("разбирай задачу вот по этим шагам, они ссылаются на примеры и приёмы") - уровень 4

По этой ссылке можно получить сквозной пример попытки формализации по уровню 4, и также слева на панели вывесили примеры формализаций по уровню 3.

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

Спасибо,

2014-07-16 15:56:05
Ярило Смирнов » Редакция

Благодарю вас за оперативный ответ!

Не могли бы вы пожалуйста пояснить как по порядку происходит стандартизация?

То что вы описали - это я понимаю функционально, но не понимаю с какой стороны подойти.

Может быть так:
- Расписывается текущая задача над которой работаю, записывается её решение
- Накапливается "картотека решения задач"
- В картотеке выделяются однотипные задачи
- К ним разрабатываются и записываются решения

2014-07-16 16:19:02
Редакция » Ярило Смирнов

- Расписывается текущая задача над которой работаю, записывается её решение
- Накапливается "картотека решения задач"
- В картотеке выделяются однотипные задачи
- К ним разрабатываются и записываются решения

Можно и так. Только текущую задачу опишите по такому шаблону:
1. Ситуация: (Описание в общем виде своими словами)

2. Противоречие: (Задача формулируется в виде противоречия, подробнее об этом - см. в статье "Как вспомнить "и так известное")
 
3. Описание портрета идеального решения: (Как было идеально - пример этот) - (о реализации в этот момент можно не думать)
 
а) Идеально - когда добавление новой функциональности в программу не потребует внесения изменений и/или добавлений в программный код (более того, в совершенно идеальной программе увеличение функциональности приводит к сокращению кода). 

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

б)
 Идеально - это когда программу сможет в отсутствие Автора не только сопровождать, но и развивать программист с меньшей квалификацией, чем Автор программы.
 
4. Обострение/усиление (до запредельного состояния)

5. Указание на приём(ы), которые использованы (если задача решена) или на формальный приём для противоречия такого вида (если задачу ещё надо решить).

6. Решение (Описание решения своими словами).
 
Примеры, приведённые здесь, описаны по такому шаблону.
 
C Уважением,
2014-07-16 16:42:38
Дмитрий Гончаренко » Ярило Смирнов

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



Яндекс.Метрика