Оценка сроков проекта. Калькулятор сроков проекта. Как определить дедлайн проекта

Аналог данного калькулятора мы используем для оценки сроков этапа проекта. 

На входе мы имеем:

  • количество часов по смете,
  • сколько часов в день мы можем уделять проекту 
  • сколько дней в неделю мы планируем работать над проектом
  • есть ли в этапе проблемные места, которые увеличивают неопределенность по этапу (например, интеграция нового API)
  • насколько долгой может быть приемка (тут много зависит от заказчика, задержек с его стороны). Для каждого проекта это будет своя величина, которую можно определить по историческим данным. 

На выходе - получаем получество рабочих дней, календарных дней и дату дедлайна (в нашем демо случае считаем от текущей даты).

Примечание: калькулятор не учитывает праздничные дни.

Как реализовать калькулятор оценки сроков на Falcon Space

Колонки формы: 

GetItem формы: 

CREATE PROCEDURE [dbo].[fm_calcStageDeadline_getItem]
    @itemID int,	
	@username nvarchar(256)
AS
BEGIN
	-- SELECT 1
	select 320 hours, 4 dayLoading , 5 acceptDays, 7 acceptDays 
    -- SELECT 2
   	select 1 LineLabel, 'h4' headerTag
END

SaveItem формы: 

CREATE PROCEDURE [dbo].[fm_calcStageDeadline_saveItem]
   @username nvarchar(256), 
   @itemID int, 
   @parameters ExtendedDictionaryParameter READONLY	
AS
BEGIN
    declare @phours float
	select @phours = try_cast(Value2 as float) from @parameters where [key]='hours'
	declare @pdayLoading float
	select @pdayLoading = nullif(try_cast(Value2 as float), 0) from @parameters where [key]='dayLoading'
	declare @pdaysInWeek float
	select @pdaysInWeek = try_cast(Value2 as float) from @parameters where [key]='daysInWeek'
	declare @pacceptDays int
	select @pacceptDays = try_cast(Value2 as int) from @parameters where [key]='acceptDays'
	declare @phasProblemPoints bit
	select @phasProblemPoints = try_cast(Value2 as bit) from @parameters where [key]='hasProblemPoints'

	declare @workDays float =  @phours / @pdayLoading + @pacceptDays
    if(@phasProblemPoints = 1) set @workDays = @workDays * 1.2
    
    declare @allDays float  = 7 * @workDays  / @pdaysInWeek
    
    declare @msg nvarchar(max) = 'Рабочих дней - ' + cast(cast(@workDays as decimal(18,1)) as nvarchar) + '<br>'+ 
    	'Календарных дней - ' + cast(cast(@allDays as decimal(18,1)) as nvarchar) + '<br>' + 
        'Срок - '+ convert(nvarchar(10), dateadd(day, cast(@allDays as int)+1, getdate()), 104)

	-- SELECT 1 
	select 1 Result, @msg Msg, '' SuccessUrl, 0 HideFormAfterSubmit, '' RefreshContainer
END 

Другие модули

Поздравление клиента с днем рождения. Как увеличить касания с клиентами

Комментарии с флажками

Оконный интерфейс пользователя в личном кабинете на сайте - терминалы

Управление статусом заявки на сайте

Отправка действий в браузер пользователю (пуш, алерт и т.д.)

Добавление звука на сайт при действиях пользователя. Как сделать звук на сайте

Копирование текста в буфер обмена

Горизонтальный скроллинг на телефоне - прокрутка панелей вправо на мобильном экране

Последние обновления

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства