{ "info": { "author": "Maurice van der Pot", "author_email": "griffon26@kfk4ever.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development" ], "description": "# Jira burn-up-and-down\nA Scrum burndown chart for Jira that also keeps track of hours spent on a separate fixed-size budget\n\nJira burn-up-and-down is a python application that talks to the \n[Jira](https://www.atlassian.com/software/jira) REST API to display a Scrum burndown chart\ncombined with a burnup chart that shows how much of a fixed-size budget has been spent.\n\nCombining these two charts will help you realize how much additional points of sprint work\nshould be completed when not all of the fixed-size budget has been used up, in order to keep\nsprint velocity constant.\n\nAnother difference with the built-in Jira burndown chart is that this one does not mix sprint\nprogress with sprint scope changes. Sprint progress is plotted as usual, while sprint scope\nchanges are shown as a change in the baseline of the chart. \n\nAll in all this chart gives a much clearer view of what is expected of the team in order to\nmaintain their velocity.\n\n## Screenshot\n\n![A screenshot of JIRA burn-up-and-down](/docs/images/screenshot.png?raw=true)\n\n## Installation instructions\n\n python3 -m pip install jiraburnupanddown\n\n*Note: when using the above command make sure you are running a python version\nfor which [PyQt5 wheels](https://pypi.python.org/pypi/PyQt5) are available.*\n\n## Usage instructions\n\nThis section describes two things to keep in mind when you plan to use this application.\n\n### Distribute a story's points over its sub-tasks\n\nI believe that sprint progress must be measured in points, not in estimated remaining time.\nI also think that it's valuable to see progress when tasks are completed instead of only\nwhen user stories are completed.\n\nFor this reason I distribute the points of a story over the sub-tasks and, lacking a points\nfield for sub-tasks in Jira, fill in the number of points in the original estimate field.\nJira may see that field as hours, but I consider it to be points.\n\nThis application follows the same approach and tracks the completion of sub-tasks in Jira.\nIt uses the original estimate field as the size (in points) of a sub-task.\n\n### No overlap between burnup and burndown\n\nThe point of this application is to show you if there is going to be a conflict between\nfinishing sprint content and spending time on a separate activity counted in hours.\n\nThis only works if the query for burnup tasks (specified in the connection dialog) does\nnot return any of the sub-tasks that are part of the sprint.\n\n## Dependencies\n\n* numpy\n* PyQt5\n* pyqtgraph\n* python-dateutil\n* pytz\n* requests\n* tzlocal\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Griffon26/jiraburnupanddown", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "jiraburnupanddown", "package_url": "https://pypi.org/project/jiraburnupanddown/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/jiraburnupanddown/", "project_urls": { "Homepage": "https://github.com/Griffon26/jiraburnupanddown" }, "release_url": "https://pypi.org/project/jiraburnupanddown/0.2/", "requires_dist": [ "PyQt5", "numpy", "pyqtgraph", "python-dateutil", "pytz", "requests", "tzlocal" ], "requires_python": "", "summary": "A Scrum burndown chart for Jira that also keeps track of hours spent on a separate fixed-size budget", "version": "0.2" }, "last_serial": 2635249, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "29238857958aed5f75307b37b89bb34a", "sha256": "64cac0d86d9221bd77a10152fabfa8e655537c397f137caaa63a5d987e74e19e" }, "downloads": -1, "filename": "jiraburnupanddown-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "29238857958aed5f75307b37b89bb34a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14096, "upload_time": "2016-11-06T20:03:43", "url": "https://files.pythonhosted.org/packages/ff/55/fc0d389fb324422f766b0ba23b926982e002c5cee2410614c91094cbca15/jiraburnupanddown-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c92b7ace47267c061534759833909889", "sha256": "43cac1c2997614f1f5afc57ba2224c4fd877917423f3660ece565bb2ee863da4" }, "downloads": -1, "filename": "jiraburnupanddown-0.1.tar.gz", "has_sig": false, "md5_digest": "c92b7ace47267c061534759833909889", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12013, "upload_time": "2016-11-06T20:03:45", "url": "https://files.pythonhosted.org/packages/e8/7e/4ed43d3237e9812d919b2ea06d7d8f5aa851a0a2deebd17cdfd91c4450aa/jiraburnupanddown-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "bf63f037008a55e5d7831cc28f374868", "sha256": "99e706f758da7393bd5ebe7ec55d50623c3b5b7b980b22898c96fa24888c9f38" }, "downloads": -1, "filename": "jiraburnupanddown-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bf63f037008a55e5d7831cc28f374868", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18925, "upload_time": "2017-02-11T12:45:18", "url": "https://files.pythonhosted.org/packages/e2/e3/7dce1796d1ce55a2128f56aa7b39567b2d243b0c7628f9e526313edb5caa/jiraburnupanddown-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2727b6f90d8bfb37d1709fa5c3b074ca", "sha256": "358e70771f05779e85c2299f185a94ad185cbd4fe7a48b2fe2026bd9f98b4658" }, "downloads": -1, "filename": "jiraburnupanddown-0.2.tar.gz", "has_sig": false, "md5_digest": "2727b6f90d8bfb37d1709fa5c3b074ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17848, "upload_time": "2017-02-11T12:45:20", "url": "https://files.pythonhosted.org/packages/8e/2a/1cba74f219321207af039670eafd0a93239b24ac76cdaacfc60b374ad942/jiraburnupanddown-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf63f037008a55e5d7831cc28f374868", "sha256": "99e706f758da7393bd5ebe7ec55d50623c3b5b7b980b22898c96fa24888c9f38" }, "downloads": -1, "filename": "jiraburnupanddown-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bf63f037008a55e5d7831cc28f374868", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18925, "upload_time": "2017-02-11T12:45:18", "url": "https://files.pythonhosted.org/packages/e2/e3/7dce1796d1ce55a2128f56aa7b39567b2d243b0c7628f9e526313edb5caa/jiraburnupanddown-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2727b6f90d8bfb37d1709fa5c3b074ca", "sha256": "358e70771f05779e85c2299f185a94ad185cbd4fe7a48b2fe2026bd9f98b4658" }, "downloads": -1, "filename": "jiraburnupanddown-0.2.tar.gz", "has_sig": false, "md5_digest": "2727b6f90d8bfb37d1709fa5c3b074ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17848, "upload_time": "2017-02-11T12:45:20", "url": "https://files.pythonhosted.org/packages/8e/2a/1cba74f219321207af039670eafd0a93239b24ac76cdaacfc60b374ad942/jiraburnupanddown-0.2.tar.gz" } ] }