Содержание любой программы

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

Заказчик

Заказчик в лице сотрудников организации, формирует требования к автоматизации своего бизнесс-процесса.

Аналитик

Аналитик — человек, четко понимающий требования заказчика и способный составить грамотное техническое задание. Желательно, чтобы этот человек представлял себе общие принципы программирования.

Программист

Создает приложение, отвечающее требованиям технического задания, составленного интерпретатором.

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

Как происходит на самом деле

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

Как работаю я

Обычно я делю разработку ПО на несколько этапов:

1) Совместный поиск технического задания, то есть краткое описание того, что хотел бы заказчик.
2) Создание эскиза программы, обычно на бумаге.
3) Уточнение технического задания.
4) Разработка тестовой версии программного обеспечения.
5) Повторное уточнение технического задания.

Пункты 4-5 повторяются до тех пор, пока у заказчика не останется дополнений

После внедрения проекта я даю гарантию, в течении которой, я обязуюсь выполнять все *незначительные доработки.
Срок гарантии в основном зависит от сложности проекта- чем он сложнее, тем больший срок гарантии вы получите, в среднем он колеблется от 2 до 6 месяцев.
После истечения гарантийного срока все доработки или изменения — платные.
Так же в течение всего срока эксплуатации моего программного обеспечения, я бесплатно исправляю все обнаруженные ошибки и неточности, допущенные мною или неучтенные в техническом задании.

 

*под незначительными доработками я понимаю изменение программного кода не затрагивающие основной бизнес процесс, описанный в этапах 1,3,5.