Pages

Wednesday, December 28, 2005

Good Development Practices for Open-Source Developers

Don't rely on proprietary code, languages, or libraries. Open-source developers don't trust code for which they can't review the source.Use GNU Autotools autoconf, autoheader, automake. Configuration choices should be made at compile time. People building from sources today expect to be able to type configure; make; make install and get a clean build. The software must be able to determine for

Monday, December 12, 2005

Design Rules for Textual Data Formats

Another set of rules from Eric Raymonds excellent "The Art of Unix Programming". Use textual data format instead of binary to store or transport your data:Easy for human beings to read, write, and edit without specialized tools.Easy to prepare test data and to debug.Future-proof your system. One specific reason is that ranges on numeric fields aren't implied by the format itself.Other tools and

Monday, December 5, 2005

Basics of the Unix Philosophy

From Eric Raymond's "The Art of Unix Programming" i picked here the 17 rules described as the Basics of the Unix Philosophy. For me these are also rules for writing high quality software:Rule of Modularity: Write simple parts connected by clean interfaces.Rule of Clarity: Clarity is better than cleverness.Rule of Composition: Design programs to be connected with other programs.Rule of Separation:

Sunday, November 20, 2005

Six Sigma Terms and Definitions

Jack Welch, former CEO of General Electric, and one of the most succesful corporate leaders ever, used Six Sigma as major Quality Improvement method. In his book Winning he writes:Six Sigma is one the biggest management innovations of the past 25 years. Six Sigma improves the development procedures, brings products faster to the market with less defects, and reduces cost. The biggest - but least

Sunday, November 13, 2005

Open Source Software Advantages

Besides the low license cost, open source software often have other advantages that are more important:The right to modify the software: reach a detailed understanding of how the system works, unlimited tuning and improvement, easier to isolate bugs, extend the lifetime of an applicationredistrubite modifications and improvements, shared by large communities, attract new developers. large market

Wednesday, November 2, 2005

Adding More People Decreases Productivity and Quality

The more people you add to a project, the lower your per-person productivity and the higher the defect rate.After fixing all the defects, the quality of the code written by the larger group will be much poorer, resulting in long-term increased maintenance costs.Since software spends the vast majority of its useful life in maintenance, getting the first version out faster at the expense of all

Sunday, October 16, 2005

Process Management Principles

How to deploy new processes ? Process approach, practitioners attention points, design principles for process documentation and success factors for deploying changes.Process Approach:1. end-to-end performance, with relation to customer requirements2. management of interfaces3. consideration of processes in terms of added value4. continual improvement of processes based on objective