Skip to content

Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color brick color green color
You are here:Home arrow Swat4j™ arrow Code Entropy
Software Best Practices Print E-mail

 

 

 

 

 

 

 

 

 

Controlling Software Entropy using Best Practices


What is software entropy?

The tendency for software, over time, to become difficult and costly to maintain. A software system that undergoes continuous change, such as having new functionality added to its original design, will eventually become more complex and can become disorganized as it grows, losing its original design structure. In theory, it may be better to redesign the software in order to support the changes rather than building on the existing program, but redesigning the software is more work because redesigning the existing software will introduce new bugs and problems.

Disciplined personal practices can reduce defect introduction rates by up to 75 percent. - Barry Boehm, Victor R. Basili

Software development best practices helps control software entropy. In general software development best practices advices on many important domains to focus.
a.) Choosing development process: Rational Unified Process(RUP), eXterme Programming(XP) ..
b.) Managing requirements.
c.) Choosing appropriate architecture.
d.) Design: Adopting/Applying right design pattern.
e.) Construction of code: "Test first approach", "code and fix", "daily builds", "continuous integration".
f.) Peer reviews. "Peer reviews catch 60 percent of the defects." - Barry Boehm, Victor R. Basili
g.) Performance Testing.
h.) Verify software quality.
i.) and the list is not limited...
There are many development methodologies and practices each have their pros and cons, the success however is in engineering a right development process to suite ones need. Controlling software entropy has to be one of our major goals while selecting processes ,practices and choosing tools.

Swat4j provides categorized best practices rules, which reflect the design, architecture, documentation, robustness, performance aspects of Java software. Swat4j automates the process of peer reviews saving time and provides a quantitative means to measure the actual state of practices being followed/violated.

Swat4j advocates the use of software best practices and software metrics as predicates of software quality with a unique goal oriented model based quality model.Read about Quality Model .

Reference & further reading on Software Best Practices.
[Best practices for software development projects] http://www-128.ibm.com/developerworks/websphere/library/techarticles/0306_perks/perks2.html
[Java Best Practices] http://www.javapractices.com/index.cjp

 
< Prev   Next >