четверг, 3 июня 2010 г.

Production quality code

Переведем это как "код, имеющий товарный вид".

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

Design

* Design documents are readily available and organized for easy access
* All functionality is specified to an appropriate amount of detail
* Presentation, Business Logic, and Data have been abstracted (ie. Three tier architecture)
* Code is well-documented such that it explains all functionality and facilitates maintenance
* An effective test strategy/plan exists

Implementation

* The application does what it was intended to do
* Modules pass unit tests
* Log messages provide accurate portrayal of runtime and facilitate debugging
* Errors have been handled effectively
* Configuration variables have been abstracted into a sane configuration scheme
* Code meets the benchmark criteria
* Resource utilization is sane
* Test plan has been executed and application has been accepted

Deployment

* Code/documentation has undergone peer review
* Interagency coordination (ie. "one-hand knows what the other is doing")
* A rollback plan exists
* Deployment recipe exists

А бывалые прогеры говорят проще:
When the amount of flak the project manager is getting over late delivery exceeds the amount of flak he expects over the bugs remaining in the software, then the software is ready for deployment.
(Когда втык, получаемый менеджером проекта за невыполнение работы в срок, становится сильнее втыка за невыловленные баги - программа готова к внедрению)

Комментариев нет: