Which approaches help for small/middle/large scaled software projects?
I'm working sometimes on projects with 50-100developers (+other stakeholders) over several years and I'm still unsure if ucd would be the best (standalone) approach.
The size and complexity doesn't affect the efficiency of a UCD process. The way you implement the UCD process does, and it needs to be optimized depending on the size and complexity of the project, not in terms of what needs to be done (you should still aim to do research and testing), but just how it needs to be done (since you may have different project timeline and budget constraints).
The common dilemma for the project manager these days seems to be trying to do LEAN + AGILE + UX, and for organisations that are finding its feet in transforming or adopting one particular approach, trying to do all three at the same time is probably going to be biting off more than they can chew. I suggest trying to become leaner first if you have large and complex projects, then try to be agile with development implementation strategies then work some UX design approaches into the mix.
I do not believe one process is 'the' process. Any organization depending on the culture, knowledge, experience, and maturity in UX can adapt a whole process or parts of it. UCD, Usability engineering and other approaches also emphasize that it is not necessary to keep the whole process and part of them can be adapted based on the needs of the organization.
The more important issue in my view is how the selected process or practices fit into the current organization, and the existing processes. I have spent some time studying different organizations and how they approach UX. I have found it much more complex to use UCD in bigger organizations with different internal stakeholders that have different views on UX, different motivations, and different priorities. It is often the case that these views are conflicting. One example is the tension I have observed between designers and product owners in agile settings. This is even more difficult in companies that are not 'market-driven', or do not have 'competitors'. In such cases, showing the value of UX is more challenging. In cases where UX practices or processes are selected and introduced without taking the whole context into account the conflicts tend to increase and power struggles appear.
I believe a successful approach to UX, and assuring good UX in products can only be successfully (Effectively and efficiently) achieved when the current working development processes are taken into account when introducing UX practices (UCD has for instance a list of these practices and how they map to different stages of SW development). In my view, UX literature has not sufficiently explored the organizational aspect of implementing such processes and practices. Merely focusing on the process has the risk of 'ripple-effect' when introducing that into an organization. There is more risk that other stakeholders like developers show resistance towards the process. I believe any person who is concerned with working with UX in development organizations should have an eye on 'organizational change' issues.