Regional Small and Medium Business in IT - 3
Consider the principles of the modern organization of the development process, more inherent in modern flexible (Agile) methodologies than the "Waterfall".
Perhaps this will have a certain emphasis on criticism, but do not focus on it. Rather, this is a comparative review: each approach has its pros and cons.
This post is a continuation of previous publications ( part 1 , part 2 ).
There are some questions about the distribution of powers in project management and the development process for such roles as analysts, project managers, architects, developers.
Here are some points that I would like to share regarding the task of ensuring the quality of developed products.
1. Analysts create a domain model in their terms, developers program it in their own (in a particular programming paradigm).
It is necessary that someone “build bridges” between the first and second.
These people are architects, and at least three types of architects are needed:
- the system architect as a whole (system architect, System Architect);
- software architect (software architect, Software Architect);
- database architect (DB Architect).
About what happens when this link is skipped, you can read in part 1 , paragraph 1.
2. At the time of the “waterfall”, analysts, project managers, architects grew out of line specialists and heads of specialized departments, the best became task managers.
But - and this is extremely important - all these people remained specialized specialists and managers, i.e. were engaged in real work and knew what it consisted of.
For example, a department head (or chief engineer) could concurrently hold the position of project manager (of a project, rather than projects, like modern PM).
3. In the current era of dominance of flexible (Agile) technologies, although this is not directly related to them, this approach prevails:
- Analysts are those who could not become a developer, but they did not study analysts either (and where do they teach them now? - they probably teach, but the process has just begun, and the current approach has been around 10-15 years already).
- The developers were assigned the role of “cheap coders,” respectively, they either can’t do analytics by their qualities, or they are not allowed to do it.
- And here the architects that are mentioned above are needed. Architects must combine the first and second, because they cannot do this on their own, in accordance with their role and the quality of the selected staff.
4. So, the most interesting - where are these architects?
As knowledgeable people explain, the dominant development model is selected based on the cheaper development process, which is why cheap analytics and cheap encoders are used.
"Dear architects" do not fit into this model. The very idea is correct: using a clearer separation of roles (analysts - architects - coders), we get a better development process and a better result.
We get, if we do not throw out the key expensive link.
Usually this link is not (after all, the initial statement of the problem is to reduce the cost of the process), and the result is the corresponding.
According to my observations and estimates, in this case, for custom (non-boxed) development, the average project life cycle is 3 years.