Introduction.
There are many methods for ensuring that software development proceeds smoothly, and there are methods for ensuring and measuring software artifacts' quality.
Artifacts are documents:
- design model,
- application code,
- automated tests code,
- documentation,
- configuration files,
- resource files as art or other data,
- ...
Code's Quality.
For a code quality's practices, see if You wish:
- A few thoughts on code quality...
Teamwork vs. Showoff.
Teamwork is Professional, needless showoff is NOT Professional.
Code should be written & documented in a simple way, so other co-workers can understand it with ease.
This friendly approach - of making teamwork easier helps the most newcomers - either beginner programmers, or programmers who worked with different Programming Language(s), Tools, Ecosystem, Technology(-ies).
Automated Testing.
For automated testing article, see if You wish:
- Automated Tests.
Design & Modelling.
Software models, often presented in a graphical way, are tools to look at software's design from a 'bird's view', to grasp whole picture.
Software modelling and design's goal is to abstract & simplify project.
Designs should be as simple and as abstract as possible - as this allows for easier code modifications as reality and customer's needs change.
... but of course modelling a single object with name 'idea' is too unreasonable interpretation of above words.
There are 'views' of a model as well - each view serves a purpose - each of views is a transformed model, both reduced and filled with details, to emphasize it's purpose.
For example we can have model consisting of every of car's parts, then we can produce a view of engine - fuel interaction. Unneccessary parts for this view are omitted, and more details about heat, and other aspects can be provided in view's documentation.
Models and views can be more or less exhaustive and detailed, and always should be unambiguous.