Efficient software development methodology practices

Steps before coding

  1. Interview the users and management on how the system will be used
  2. Write down user requirements based upon interviews of users and mgmt
  3. Break up the software into logical subsystems or groups
  4. Break up the software into deliverable phases
  5. Create a software specification document
  6. Assign developers to subsystems and groups
  7. Assign programming tasks to each developer

Developer designing and coding tasks

  1. Research anything that is murky, unclear, or difficult about the programming task first
  2. Create a quick prototype that can be shown to get early feedback
  3. Give the developer access to the customer
  4. Try to define interfaces with other developers before coding starts
  5. Design the component using pseudocode and optionally a diagram
  6. Review the design with the backup developer and manager or group lead
  7. Code the component from the design
  8. Review the code with the backup developer and manager or group lead
  9. Write a test stub for other developers if conditions warrant
  10. Complete coding everything before moving on to testing

Developer testing tasks

  1. Debug the code line by line to verify that the code runs as intended
  2. Write the unit tests
  3. Write the interface tests
  4. Almost never run all of the acceptance tests
  5. Acceptance test resolution procedure

Additional practices

  1. Use an object-oriented approach
  2. Trust the developer to design the component
  3. Don’t prepare estimates for how long programming tasks will take
  4. Provide a quiet environment with plenty of space for each developer
  5. Assign a backup developer for each developer


Prev          Next          Back to efficient software development home

Copyright 2011 by Robert G. Bryan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s