Tag Info

Hot answers tagged

9

That sort of thing is exactly what a heatmap is for. As to how to build one, think about a collection of points on the map laid out in a grid. Each point has a temperature associated with it; you then map each temperature value to a color, say with Red: 80 Orange: 70 and so on. That's your basic heatmap. Now, in the real world you don't generally ...


6

I'd say some of this relates to your corporate culture and the aspects of development that you need to measure most. No one can measure everything, so you have to find and monitor the sweet spots that are most likely to benefit your business. Here's a few I've found helpful at various times: Burndown charts - for Agile project especially - requires that ...


4

few people are willing to pay the extra money it takes to obtain code that they can verify for themselves is working as they think it works. That's because non-technical people can't, no matter how clean and well-designed the code is. The only way your efforts provide any value to them is by enabling them to have your code be maintained by someone ...


3

To be successful in this task, I would proceed as follows: (1) Specify KPIs to be presented for each type of management level (I guess in your case, you will have 1) (2) Distill KPIs (e.g. LOC is to be avoided as indicated by bethlakshmi's post). Also, you need to ensure that the data reported is something you can produce or calculate accurately using the ...


3

Personally I think the different kind of burn-down charts used in agile projects are incredibly powerful as they answer the basic question of "if the project continues to run as it has, when are we done?". In projects I usually use burn-downs for the current sprint and for the entire release. Estimates used to produce the release burn-down are of course less ...


3

Customers don't care about the 'quality' of code. They care about value for money. Are you slower to deliver working code than your colleagues? I usually find that cleaner code can be delivered faster. Are your colleagues shipping buggy code quickly, getting credit for fast work but no penalty for the subsequent bug fixes? Then track it yourself, and ...


3

UML is a great way to communicate design to technical resources on a project, though in my experience, the vast majority of non-technical project resources get lost with it. UML does indeed require a minimal level of training to fully understand it or formulate it. Some non-technical peers may be experts in Use Case diagrams lets say, but when they see a ...


3

I've used Graphviz a number of times for stuff like this (on Linux and on Windows, too). Something like this example seems like it would work for your needs. It installs as a set of command-line tools, but the main one you want to worry about is called 'dot' which is for drawing directed graphs. It will lay your nodes out with a layer for each level. You ...


3

Two simple things: only write functions that fit on one screen use a dual screen display (which is quite affordable nowadays) The last time I needed a "fanfold paper printout" of some code was for a legacy function with several hundreds LOC. After refactoring this monster into small functions I never missed fanfold printouts again.


1

Main Problem is a missing architecture What problem does your architecture solve? Even the most poorly designed application has an architecture, so unless you're starting from scratch, one exists. In your case, maybe no one bothered to document it. Management wants to know that you have one that gives the project some sort of advantage (e.g. ...


1

UML is probably the better-standardized and commonly used tool for this. Some of the diagrams and documents that can be generated in UML can be exceedingly large or complex when used to document bigger systems; however, some of them could be useful if you wish to reach a value/effort balance (i.e. document enough so that you have a good reference point ...


1

I like to use the white boards in my office and draw everything out, this allows for quick editing because you will forget stuff the first time around. White boards are not necessarily needed, you can use paper or whatever on your wall. Make sure to encapsulate all your objects/variables in a consistent unique shape (it helps later). You also do not need ...


1

D3 is a great library, whose pretty clever design is the result of many years of research. It is the descendant of Protovis, a library that was already very nice at its time. Then the author, Mike Bostock, moved on to something more dynamic (differences are outlined here). There is a fair amount of weirdness at first sight in D3. The ways you bind visual ...


1

What are you "testing" for? Are you testing for accuracy of the visualization, in other words, whether the visualization matches the system it describes? In this case, consider a View Model: an object structure identical to the visualization. Write code that compares it to either (1) the view model to the system it describes or (2) a known correct ...


1

You could read through the excellent treatise The Grammar of Graphics, which elaborates on different properties of visualizations and how they convey or obstruct the flow of information to the observer. Although the book does not list a test plan for visualizations, it certainly brings to light to connection between code, model, media and perception. For me ...


1

Did you consider 'mindmapping' software? 'Mind maps' are basically just trees. Try FreeMind or something like that. Mind maps are a special type of representing trees, intended to capture various aspects and details of arbitrary concepts. For me it worked well to describe requirements / features of software I develop. Editors usually allow to expand / ...


1

You might need to convert it to another format first. You could generate a graph of the grammar by using a combination of ANTLRWorks and GraphViz. Someone did something similar here to generate graphs for the Ruby, JavaScript, and Java 1.5 grammars.


1

Regardless of how you present the information, if you're looking for changes, like from one month to the next, I sometimes do blink comparison. i.e. put last month's display and this month's display in exactly the same screen position, and then quickly alt-tab between them. Differences show up easily. If you want to be fancier, you could do ...



Only top voted, non community-wiki answers of a minimum length are eligible