private static Estimate AsEffortEstimate(Issue issue) => new EffortEstimate { Points = double.Parse(issue["Story Points"]?.Value ?? "0") };
private static Estimate AsDurationEstimate(Issue issue) => new DurationEstimate();
private static Estimate GetEstimate(Issue issue) => IsSpike(issue) ? AsDurationEstimate(issue) : AsEffortEstimate(issue);
private static bool IsSpike(Issue issue) => issue.Type.Name == "Spike";
private static async Task <ICollection <StatusTransition> > GetTransitionsAsync(Issue issue) => (await issue.GetChangeLogsAsync()) .Where(IsStatusChange) .Select(AsStatusTransition) .ToList();