FCS : The Efficiency Catalyst
home | about us | news & events | contact us | login | fcs corporate site   
IT Application Comprehensive platforms
Link to Domain Expertise Section Link to Industry Solutions Section Link to Technologies Section Link to Differentiators Section Link to Process Section

 

Search:
 
Process

 

 

 

 

 

Process  Heading
Process heading
 

 

Zero-Defect Mindset

The Zero Defect Mindset is one of the key concepts within the FCS Software Development Team. A Zero Defect Mindset is the team’s commitment to achieving the highest possible level of quality within the project constraints. Work is not complete until it reaches the agreed level of quality, and all team members hold themselves accountable for the quality of their own work. A zero defect mindset does not mean developing a product with no defects; it is simply a goal to which the team can aspire. Zero defect deliverables are not deliverables that have no defects, but rather they are deliverables that have met a pre-determined quality bar. Zero defect milestones are milestones that require the product to meet a predetermined level of quality before the milestone can be achieved.

The following are benefits of a zero defect mindset:

  • Increases accountability for the quality of the product
  • Increases stability of the product – a certain number of bugs in a code can make it very weak, hence needs to shelved rather than be patched!
  • Improves schedule predictability – Being Proactive is the most necessary thing in today’s business environment. Knowing much before that we are going to miss a due date would help minimizing the risk.
  • Decreases the cost of addressing issues, as bugs are found and dealt with earlier – Bug tracking at all stages is critical
  • Allows testing to shift focus to quality assurance
  • Rewards quality developers

The following techniques are used to implement a zero defect mindset within the software development process:

  • Write unit test cases before debugging
  • Assume the code is broken, then prove that it isn’t
  • Fix bugs before moving on
  • Use competing designs and implementations
  • Assign bugs to other developers
  • Reassess code in light of bugs
  • Document code
  • Conduct code reviews
  • Perform daily builds

Daily Build

The Daily Build is the key best practice in our Process that drives our Zero Defect Mindset.

It is technique learnt over the years and now perfected by us.

Simply defined, a Daily Build is building the product in an executable form on a daily basis. One of the strengths of a daily build is that it is available publicly to anyone who needs to assess the progress of the project. The build is an indicator of progress because it identifies that the product is moving forward as a whole rather than as individual pieces. It is not enough for individuals to succeed; they need to succeed as a team. The build provides the definitive status of the progress of the team and the product by looking at the product holistically with little room for interpretation.

It also makes sure the code in Checked in everyday and checked out every time a change needs to be made. This ensures complete back up of work done. It ensures complete version control and compels the team members to do work right the first time including labeling and code commenting.

This is a CRITICAL thing in a co-development project.

The following are stated benefits of performing a daily build:

  • Creates First time bug free Mindset
  • Compels Programmer to follow coding guidelines every time
  • Exposes unanticipated design defects
  • Makes diagnosing defects easier and much before Due date
  • Synchronizes team efforts – team can work on the same code and / or work sequentially in a planned manner
  • Minimizes integration risks
  • Increases quality
  • Supports the monitoring of progress
  • Improves team and customer morale

The following are guidelines for the daily build:

  • Build and test every day
  • Match testing growth with product growth
  • Treat the health of the build as critical
  • Create a penalty for breaking the build
  • Keep building no matter what

At FCS, we treat source code management as mandatory. Typically, Microsoft Visual SourceSafe is used, as this tool integrates very well with the Microsoft development environment. The SourceSafe database is installed on the central development server, where it is backed up to tape. All developers are required to check their code in and out of source code control.

When the software product is built, it is done by first pulling the source code from source code control, compiling the code to executables – and then packaging the executables for deployment (normally with a tool such as Install Shield, Windows Installer, and associated scripts). The product can then be deployed – for example when a “build” is promoted from development to the testing environment.

The source code management system takes on an elevated importance, as it is the hub of the development process. This tool controls the key event in the software construction cycle – the “daily build”.


The following is an example of the daily build process. The daily build is truly the “heartbeat” of the development process, as this process integrates:

  • The development team
  • Source code control and build management
  • Testing and issue management
  • Automated product builds and deployment
 
VPN Setup & Version Control
Offshore/Onsite Blended App. Support


 

Zero-Defect Mindset and Build Process

VPN Setup & Version Control
Offshore/Onsite Blended App. Support