| Where is the snow?
|
|
25 Sep 04 |
|
[print
link
all
] |
Summertime .. so all we do is to ski-roller. High time for the snow to come
back and cool it down a bit. I found that pic a long time ago on I have
forgotten what website.
|
| SCRUM vs XP
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: XP-mailinglist; thoughtful post by Ken Schwaber) Scrum is purely a project/product management process that can be applied to software projects, hardware projects, marketing projects, and any mix of the above. It does not contain engineering practices or any specific work practices. It is instead a way to maximize the ROI of work.
People who use Scrum in software development environment often adopt one or more of the XP practices to improve the engineering practices of the develpment organization. Scrum calls for an increment of potentially shippable product functionality every iteration. This means a fully cleaned up, refactored, tested, documented ready to go increment. Many organizations are incapable of this. It is easy to bring in XP practices because they are excellent and both Scrum and XP are pretty radically agile.
Project managers using Scrum are called ScrumMasters to differentiate the type of work they do ... they facilitate, manage the process, and optimize the team's productivity. They don't tell the team what to do, nor do they set of pairs of programmers, or parse out user stories. During the iteration, the team is entirely self- organizing ... whether it is doing software development or anything else related to the increment of functionality they are building.
XP seems to focus on team productivity... doing something the right way and as productively as possible. Scrum does this some, but instead focuses more on doing the right thing, getting ROI from building the 20% of the functionality that is necessary to get the value and maybe not building the rest.
We've implemented Scrum without telling the customer, users, or stakeholders. We've done this in one day. We seduce them into iterative, incremental development where they collaborate with us on what to do next. XP seems to require a steeper implementation curve with less acceptance from the users and customers. Scrum can't keep
the customers away.
Estimating is a subtle diffrence that points out the XP and Scrum dividing point. XP works hard to estimate very finely defined stories, and to measure and improve these estimates. Scrum keeps the requirements more broad, more in general user terms that are analyzed during the iteration. Estimating isn't as important. The team does what it can, and gets better and better at figuring out how much it can do each iteration as it learns each other, the business domain, and the technology - iteration by iteration. We care more about delivering business value that having defensible estimates, which become meaningless in a collaborative setting.
Scrum also has a formal methodology that lays out how to scale Scrum to any sort of project with any number of people in any number of locations ... all based on the optimized 7 person team. This is an important mangement requirement, but not so important to an engineering discipline like XP.
I feel we are blessed to have such compatible practices and processes to apply to our software engineering projects.
|
| The Linux Incompatability List
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Saw this on /.
"The Linux Incompatibility list is
a wiki project that attempts to document hardware that is incompatible with
Linux rather than list what is compatible. In the wiki, it is possible to
add alternitives so as to push hardware manufacturers to make good binary
drivers, publish specifications, or even better, publish open
drivers."
|
| Wine-Migration
|
|
25 Sep 04 |
|
[print
link
all
] |
|
At Linuxtag in Karlsruhe I met during lunch one of the authors of ganymede. I am the last person in the
world to promote the use of the Win32-API, but it can come in handy, when
you have to use some legacy software on Linux and do not want to pay
license fees for the usual suspects like vmware. Having to maintain only
one code-base is sexy, too.
I asked David Guembel, one of the fathers of the software to email me a
short describtion:
On an abstract level, the idea behind our ganymede system is simple: To make
an application run under Wine (a free Win32-API layer and Windows
executable loader), it is neccessary to know what parts of the Windows API
are actually required by that particular piece of software. Software has a
modular structure - in this context, a module is a Windows executable
(.DLL, .EXE, .OCX etc.) - and every module provides (exports) certain
functionality and requires (imports) functionality from other modules.
Thus, ganymede internally creates a dependency graph of an application's
binaries. This method is static and does not require anything but a fresh
installation of the software to be analyzed.
Before x-raying a Windows application, ganymede parses and stores an
analysis of the soure code of one or more Wine versions. It automagically
determines the implementation state of the APIs provided by Wine. During a
software analysis, the functionality required by the Windows application is
compared to what Wine provides, and missing or incomplete APIs are
reported. By storing Wine versions and the dependency structure of the
analyzed applications in a database, automatic or manual re-analysis with
different Wine versions is possible. Via the API ganymede itself provides,
the collected data is accessible in several ways. One application of that
API is our tool named sysiphus, which uses ganymede and a GUI-based
approach to semi-automatically determine the best possible Wine
configuration while providing for the possibility to re-use already
licensed Windows DLLs to fill the gaps Wine still leaves.
|
| The Rise of ``Worse is Better''
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Richard Gabriel) Good characteristics:
1) Simplicity-the design must be simple, both in implementation and
interface. It is more important for the interface to be simple than the
implementation.
2) Correctness-the design must be correct in all observable aspects.
Incorrectness is simply not allowed.
3) Consistency-the design must not be inconsistent. A design is allowed to
be slightly less simple and less complete to avoid inconsistency.
Consistency is as important as correctness.
4) Completeness-the design must cover as many important situations as is
practical. All reasonably expected cases must be covered. Simplicity is not
allowed to overly reduce completeness.
www.jwz.org/doc/worse-is-better.html
|
| A Metric Leading to Agility
|
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Ron Jeffries) Nearly every metric can be perverted, since up- and
down-ticks in the metric can come from good or bad causes. Teams driven by
metrics often game the metrics rather than deliver useful software. There
is a single metric that demands that a team become both agile and
productive.The result: better projects done in better ways. www.xprogramming.com/xpmag/jatRtsMetric.htm
|
| Software for Slackers
|
|
25 Sep 04 |
|
[print
link
all
] |
|
I need this program to stop my internet addiction.
Are you a slacker? So am I. Do you browse the Web, read the news, and write
email all day in stead of working? So do I. Does it make you feel miserable
and apathetic? Do you tell yourself to stop browsing the fucking Web and
get some bloody work done? Do you have absolutely no discipline? I know
your pain.
But recent technological advancements have made it possible… There is
a cure for your disease!
Years of slacking at the renowned Massachusetts Institute of Technology
have resulted in a brilliant 461-line Perl script (which includes 130 lines
of comments for free!) that makes it all possible! Your productivity will
dramatically increase!
Today, I present Lockout: The Self-imposed, Computer-aided Work Enforcer.
This program will help you get some work done by not allowing you to browse
the Web. It won’t allow you to do anything but work. It’s a
miracle! Your colleagues will respect you, your Ph.D. adviser will
compliment you, and your boss, if you have one, will probably not notice
the difference! It’s amazing! Scroll down! Read more!
Get the program
|
| How to Construct Bad Charts and Graphs |
|
25 Sep 04 |
|
[print
link
all
] |
|
(Source: Gary Klass) A short but good article in the style of Edward Tufte, the big guru when it comes to displaying data in a meaningful way.
Fundamental rule of efficient graphical design: minimize the ratio of ink-to-data
The three fundamental elements of bad graphical display are these: Data Ambiguity, Data Distortion, and Data Distraction. link
Make sure you check out these classic bibles about envisioning information by Tufte:
Envisioning Information and The Visual Display of Quantitative Information
|
| Executive Dashboard
|
|
25 Sep 04 |
|
[print
link
all
] |
Thanks to Sven C. Koehler. He pointed out me to Edward Tufte’s
interesting forum.
There are some interesting answeres in the thread, esp. the graphic about
the patient. Isn’t every company a patient? :-)
I'm developing an executive dashboard, and I haven't been satisfied
with the business graphics that are widely available
(e.g. gauges, dials, stoplights). I decided to make a "Zen" version
of a KPI status indicator, using as little color as possible,
and incorporating E.T's innovative "Spark Line" metaphor for display
of trends. The graphic below shows the proposed KPI display across
the top of a browser screen with a descriptive example in the middle.
Any feedback would be wonderful!
Comments: Because of complex KPI names (e.g. This Week versus Last Week
Sales (All Divisions), KPIs were labeled with Roman numerals.
Balloon help could display the KPI name when the cursor brushes the
KPI indicator.
link
|
| My LinuxTag 2004 photos
|
|
25 Sep 04 |
|
[print
link
all
] |
|
Some photos from LinuxTag 2004 in Karlsruhe. I especially liked the Xbox
booting Linux screenshots. pics
|
|
|