Anyone have experience with this sort of thing?
860 karma · joined August 9, 2014
Anyone have experience with this sort of thing?
- Can I save things offline?
- Where did you license all those hand-drawn survival diagrams?
In general, I prefer to use tags to highlight actionable things like "this is a high priority bug" or "this is ready to deploy" or "this is blocked" more than categorization, which can be better accomplished with separate boards. If your system has the concept of "epics" to group issues, that's a plus as well.
PS you might want to take a look at this article if you're having difficulty prioritizing things: https://medium.com/startup-grind/ruthless-prioritization-e42...
- Sprints/Cycles:
A period of time, usually 2 weeks, where the scope of work is fixed.
- In Progress List
A column of things actively being worked on.
- Backlog w/Work-in-Progress Limit:
The backlog is a prioritized list of everything you are going to tackle in the current cycle.
Some people would argue that if you don't have a work-in-progress limit, you aren't really doing Kanban (maybe you'd call it a Scrum board or something else instead). Estimate-aware tools like Pivotal Tracker and JIRA enforce this by having you set a "point velocity" for your team and requiring story point estimates for every feature. The cycle backlog automatically overflows into the next cycle when you exceed the velocity.
- Icebox:
An unprioritized list of features from which you draw to create the backlog at the start of a cycle. Pivotal calls it the Icebox; in GitHub/GitLab it's the main issues list; in JIRA it's wherever you set up your board to "pull" issues. In less-structured tools like Trello you have to decide where to keep this list; you might make a separate board to keep track of things needing validation, needing designs, etc. and pull them into the backlog periodically.
The general idea of Agile is to keep this list short.
- Done/Ready
A place to keep delivered tasks.
--------
From personal experience there a few things that help keep a Kanban system under control:- Specific, deliverable tasks. Tasks should be deliverable as a chunk. Group subtasks into things that are delivered together (reviewed, tested, deployed). A card should never be resurrected from the Done pile once it's there. Use epics, tags, or labels to keep track of related cards if needed.
- Tasks should have clear acceptance criteria so they can be reviewed swiftly and developers can move onto the next item on the backlog. Fuzzy criteria lead to back-and-forth and context-switching which hurt productivity.
-- Automated testing, code coverage checkers, and linting speed up review.
-- Feature flags make it easy to break up large projects into independently-mergeable chunks, which improves task transparency.
- Track bugs in a separate project/column than your Icebox, but make sure they are added to the in-progress column when addressed. Make it easy for non-devs at your company to add bugs to the list and aggressively dedupe.
- Have some way of indicating task state beyond using columns for everything. Every tool provides tags; some have options more tailored at dev teams. Here are some things that you might want to track:
-- Review wanted
-- Accepted/Rejected
-- Blocked (ideally, with a link to the blocker)
-- Needs design
-- Bug vs Feature
-- Story points/weight
-- Priority (for bugs)
- Prefer tools that let you easily assign tasks right from the board view, especially to yourself. GitHub-based tools are really bad at this for some reason and require lots of clicks to assign people. Asana and Pivotal are good at this.I suggest at least playing around with Pivotal Tracker to get a sense of what a very opinionated Agile/Kanban process looks like. You could keep using it or take some of the lessons back to Trello, Asana, JIRA, etc.
The End of Empire is a more casual read: https://www.amazon.com/End-Empire-Attila-Fall-Rome/dp/039333...
The Huns by EA Thompson is older but as far as I know one of the canonical works: https://www.amazon.com/Huns-Thompson/dp/0631214437%3FSubscri...
Another fun fact: Attila (aka King Etzel) assists the protagonist Kriemhild, widow of Siegfried, in the medieval saga "The Song of the Niebelungs"
Set the "main" option in the library's package.json to a bundle or index file that exports the public interfaces to your library. Don't expose every source file.
https://github.com/facebookincubator/create-react-app/blob/m...
You can use an environment variable to point to a CDN host and use it as a prefix in your code. But you also need to make sure the CDN assets get expired. One approach is to use the stats plugin for Webpack, parse the manifest, and write a helper so that the right files get included in the HTML.
Here is an example of how the webpack-rails gem does it: https://github.com/mipearson/webpack-rails/blob/master/lib/w...
And here is an explanation of why you would want to do that instead of using ETag headers on constant filenames: http://stackoverflow.com/questions/26272271/why-digest-are-u...
EDIT:
In fact after looking into it, Neutrino does use html-webpack-plugin which does exactly that by templating index.html: https://www.npmjs.com/package/html-webpack-template Which is cool!
<!--#include virtual="../snippet.html" -->
Most servers that you would get for a shared host (ie Apache, NGINX) support this.In fact you can just take a look here (might kill this link in a few days, fyi):
https://alexkrolick.github.io/research-notebook/index.html
EDIT: Here's a helpful "citation" macro for making notes on papers: https://alexkrolick.github.io/research-notebook/index.html#m...
TRIZ is a way of breaking down an engineering design problem into the thing you want to change, and the thing you can't change (a "contradiction"), then resolving it. A "TRIZ Matrix" is a reference tool that suggests ways of resolving conflicts between common design parameters (strength, weight, durability, manufacturing tolerance, etc.) based on a number of principles that have been validated over the years, like "nesting" or "prior action". Over the years, 40 standard principles (and 39 parameters) have emerged. They all have somewhat cryptic, consultant-handbooky names but make sense when you see some examples[1].
E.g., you have a beam and you want to make it stronger, but can't make it any thicker. You consult your matrix for "strength" vs "area" and get some suggestions such as "use composite materials". Or, applying the principle more generally, you try to extract techniques from the patent library or publications that resolve the problem.
[1]: https://www.triz.co.uk/files/triz_40_inventive_principles_wi...