TL;DR; As the title reads: do you base your burndown chart on stories completed, or on tasks completed?
Some background on why I'm asking this: I currently work in a software development team of 4 developers, doing sprints that last 2 weeks. In those two weeks we generally get around 50 to 70 storypoints worth of stories to 'Done'. We regularly have stories that make up 50% or more of those points, say 25 to 40 points. Measuring stories versus tasks leads to the following situations:
Stories: The large stories will be 'doing'/'checked out'/'in progress' for a long time. The burndown will flatline, then when the story gets finished it plummets due to the large number of story points burned. This gives a jagged chart, making it look like suddenly a lot has been done. Also, the flatlining chart doesn't boost the "we're getting stuff done!" morale. Lastly, external stakeholders / other teams may frown at the burndown stalling (minor point, I could care less as long as we deliver in the end).
Tasks: Burning down tasks within stories will give a better impression of the work being done. It will give a smoother line and probably boost morale. My main objective is: it's not displaying actual work done. Work is by default only usable when the full story is 'DONE'. It's great that we've completed a task for the story, but even that last tiny unfinished other task can block the story from being finished and making the sprint.
My gut feeling leans towards burning down stories, mostly due to the fact that tasks can paint a misleadingly happy picture that won't come true at the end of the sprint. I'd rather be skeptic and pleasantly surprised when it turns out for the better. What does your team do?