Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Simple Scrum timer for Daily scrum meetings

License

NotificationsYou must be signed in to change notification settings

JoSSte/ScrumTimer

Repository files navigation

This is adecentral Daily Scrum Timer based on localstorage, with a database of team members.

Accessible online:https://josste.github.io/ScrumTimer/

Build Angular
GitHub top languageGitHub repo file countGitHub repo size
GitHub last commit (branch)GitHub commits since tagged versionGitHub tag (latest by date)

How to use it

Notes

  • This is built using Angular and a lot of libraries that I try to make sure do not have any vulnerabilities, by keeping them updated. The only included remote access library ishttpclient but as in all software, you cannot be 100% sure that none of your includes haven't been compromised.
  • Originally I used this to learn some Angular, so it is probably bloated compared to the function it provides.
  • https://dev.to/this-is-angular/help-my-angular-bundle-is-growing-1jkj

Usage

There are three ways to use the Scrum Timer.

  1. Standalone
    • Open the scrumtimer in one window.
    • Open your story management tool (e.g. Jira) in another window.
    • Arrange them as you like.
  2. Popup
    • Make sure that you have the URL of your Story management system (e.g. Jira) in the settings.
    • Open the Scrumtimer clickpopout to open a narrow scrumtimer window, and your favorite Story management URL in another.
    • Arrange windows as you prefer.
  3. Popin
    • Use one of the scripts below here to integrate the ScrumTimer with the Story management web application.
    • Note that this is essentially a XSS trick. You should NEVER enter Javascript that you don't understand into the Developer Console/add it to a bookmarklet.

Bookmarklets / Popin Scripts

These scripts are used to inject scrumtimer into e.g. Jira instead of creating an inline popup (I call them pop-ins)
These can either be put in a tool for creating a bookmarklet like the ones listed below. I do not provide direct links, to bookmarklets, since I WANT the user to be concious of what they are doing.

... or pasted into the devtools console ( pressF12 and chooseconsole ).
Please don't tell non-tech savvy people to do this. If they get into the habit of pasting random js into the development console all hell may break out. If I get the time and an indication of many people using this, i may create browser plugins instead.

They will create a div element in the right hand side of the screen with the scrumtimer included.
REFRESHING THE PAGE REMOVES THE TIMER - if you want the timer to stay, please use thepopout link.

Bookmarklet - Generic version

//TODO: Resize window contents instead of sitting on top of the pageletd=document.createElement("div");d.id="ScrumTimerDiv";d.innerHTML="<a href=\"#">X close ScrumTimer</a><iframe src=\"https://josste.github.io/ScrumTimer/#/popin\" style=\"width:100%; height:100%\"> Hello World </iframe>";d.style='position: absolute; top: 0; right:0; width:350px; bottom: 0; z-index: 100; background-color: rgba(100,100,100,0.9) ';document.getElementsByTagName('body')[0].append(d);

Bookmarklet - Jira version

This script will add the scrumtimer in the Jira details pane which shows details of a story, as long as you are in the "Active Sprints" view.

letr=document.getElementById('ghx-work');if(r!==null){letd=document.createElement("div");d.id="ScrumTimerDiv";d.innerHTML="<a href=\"#">X close ScrumTimer</a><iframe src=\"https://josste.github.io/ScrumTimer/#/popin\" style=\" width:100%; height:100%\"> Hello World </iframe>";d.class="ghx-detail-view gh-editable-detail-view ui-resizable";r.append(d);}else{console.error('[Scrumtimer] No Div found with the id "ghx-work"... Are you in Jira?');alert('Scrumtimer could not find the right html element.... Are you in Jira?');}

Sample Data

These can also be found atsample.participants.json if you want to test the centralized JSON option.
To test locally usehttp://localhost:4200/assets/json/participants_andeby.json

[    {"init":"IJ","name":"Indiana Jones"    },    {"init":"PS","name":"Papa Smurf"    },    {"init":"TT","name":"Tintin"    },    {"init":"MM","name":"Mickey Mouse"    },    {"init":"SMcD","name":"Scrooge McDuck"    },    {"init":"DD","name":"Donald Duck"    }]

Privacy & Philosophy

I developed this while working in a company with a very strict data protection policy, and a lengthy process for onboarding tools.
It is designed toNOT use cookies,NOT use any webservices and store everything in localstorage, so even if you delete cookies regularly it will persist. Unfortunately this means that you need to exchange a json string if you want to share the list with a colleague.The tool was developed as a response to Daily scrum meetings frequently running over time, so the main focus is to keep awareness on the time, and let everyone speak, and making the order pseudo-random so it's not always"Adam Adamson" who has to go first every day.

What is sent to the server?

Nothing. Pure and simple.
If you have seleted the remote participant list you are in effect fetching a file from another server, so there may be some tracking there...

What is stored on my computer?

In Localstorage (PressF12 - select application/storage - localstorage) there will be an entry calledsettings storing all the settings in a JSON array and an entry calledparticipants also in a JSON array.

Localstorage in Firefox

Firefox

Localstorage in Chrome

Chrome


[8]ページ先頭

©2009-2025 Movatter.jp