Pages

Friday, March 31, 2006

Handling Late Requirements

Many of project issues are related to bad requirements management. One particularissue which is hard to tackle is the handling of late requirements.Coping with new requirements after the development has started often leads to problems in the project:schedule, cost and scope of the running project become unknowndelays due to unsufficient impact investigation, which may propagate to other projects

Tuesday, January 31, 2006

Software Distribution Making

An important process in software development is the making of the distribution.Here are some good practices: Make sure tarballs always unpack into a single new directory (not the current directory!).Include a README with: A brief description of the project. A pointer to the project website (if it has one). Notes on the developer's build environment and potential portability problems. A

Friday, January 20, 2006

Best Practices for Writing Use Cases

Are your use cases clear both for your users and for your developers ? Here are some tips:Be careful with UML diagrams. Only use them for a high level model to show relationships between actors and use cases. Use case descriptions are textualMain scenario 3-9 steps. Bird's eye viewNo IF-statements, but main scenario's plus extensionsBrainstorm on goal failures evaluate, eliminate, mergeManage

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