We use SharePoint custom lists to help us implement scrum. It's far from perfect, but allows for a lot of flexibility.
What we do is extend the tasks list to include a sprint number (really a lookup to another list), product backlog (another lookup), estimated effort, and estimated time to complete columns (ETC-01 through ETC-10 - we do one or two week sprints). We also have a field to flag whether the row is capacity data or not (one of these rows per sprint per person).
Then we have several views, but one primary view which shows a grouping by "is capacity data" followed by "assigned to". We also total those ETC values. So our summary view can give us a quick look at the total for the team for both capacity and estimated time to complete for any day in the sprint. We currently manually put this in Excel, but have considered automation as well. We have another view that is a datasheet view used for data entry. Almost all of our views have a master-child page where you choose the sprint master to view the sprint backlog details.
So, all of that sounds rough, but it's pretty easy to use once you get the hang of it.
The benefit is that we have a lot of flexibility when we need it. For example, our Product Backlog list may have custom columns depending on the project.
We have used 3rd party tools before, but for us it gets a little difficult because we are a consulting company and our clients interact with these tools as well.