In a nutshell, Systems Design refers to the process of defining the architecture, modules, components, interfaces, and data model based on a use case and/or idea.Before the actual Systems Design process can take place Fact Finding and Analysis must be done in order to determine specific requirements, processes and constraints etc. Once all the facts are properly documented the Design Phase can start.

Depending on the project size, this is something which the client can do with the guidance of a web development company or freelancer (as a cost saving), or for large projects the client can source a professional Systems Analyst.The Systems Design process used to be a tedious process during early years of software development when the Waterfall methodology was common, this has changed a lot since then with the adoption of the Agile methodology.

The Agile method is particularly beneficial for SME Web development companies, freelancers and clients who needs a more interactive involvement in the project, frequent delivery of work and to make changes throughout the development process, as apposed to waiting for the full completion of modules. Regardless of the methodology, Fact Finding, Analysis and client interaction remains vital to the development process, to deliver software which adheres to the software requirements.