Software Engineering

I am committed to bringing engineering discipline to all aspects of software development. Every development project needs answers to some or all of these questions:

Process Awareness

What sort of process is being operated?

  • The Waterfall process often proceeds linearly from milestone to milestone
  • Agile development is more iterative and copes better with change
External Standards

What external standards are to be complied with?

Project Standards

What project-specific standards apply? These can be company-wide, or tailored for a project. I usually write a project style guide at the start of a project, to define naming conventions for files and design & code artefacts.

Change Control

What change control system is to be used? Common ones include:

Requirements Capture

How are requirements to be captured and traced? The minimum is a structured document with a unique ID for each requirement, traceable to design and test points. I have also used a database approach (written in MS Access) for more fine-grained traceability.

Design Method

What method is to be used for design? My preferred approaches such as UML and Yourdon are covered in more detail on the Design page.

Test Strategy

How is testing to be organised? Again, my approaches are summarised on the Testing page.