10

I am preparing for my exam in a software engineering course, where we discuss best practices for programming, testing methodologies and project management.
One of the topics is CMMI, and basically it states that organizations with mature development processes can produce exceptional software even if the teams involved are average.
Do you really think an efficient process can make up for lack of brilliance/ingenuity among the devs?

Comments
  • 4
    If the process involves time for teaching and mentoring, yes! Otherwise, I am sceptical.
  • 2
    as long as it's enforced it can be done.
    But the moment something goes live without that enforcement, the game is over.

    Also these avg devs would not be considered avg after a while as they would no longer be producing avg code.
  • 3
    @dder They mention some sort of cross-organizational training, but I didn't see them address mentoring. If you take average programmers and invest in them until they are good, then you still rely on the quality of the people rather than on some project management cookbook.
  • 0
    @C0D4 One of the things that defines a mature dev process, is that you stick to the standardized procedures even in times of crisis.
  • 0
    I read the description and it never states exceptional but rather stable and predictable.

    So I assume its more a model to ensure that important goals are not lost on the way, that testing and quality it consistent and that what is produced can be maintained.

    And sure, if there is an acceptance for the time required a process can do that as long as you do not start taking shortcuts which is a danger.

    But its people we are talking about, it will require good leadership and governance to work :)
  • 0
    No, no I do not.

    Company I work for now works well because the PMs facilitate directs client/dev contacts but otherwise stay out of the way.

    The best process is the shortest path from the clients mouth to the source code.

    Adding all the various self absorbed business processes ALWAYS slows work down and muddies goals. Always.

    This is like putting 20 cooks in the kitchen and then saying “if these cooks all worked together flawlessly they’d be better than one cook”... and that’s true, except they will never ever ever work together flawlessly.
  • 1
    @Voxera "Success in these organizations depends on the competence and heroics of the people in the organization and not on the use of proven processes" kind of suggests that by using proven processes you can succeed even if your devs are muppets.
  • 1
    Code reviewing cab be beneficial, but only if the people who do the reviewing are somewhat experienced.

    I was able to learn a good amount from just the reviews since my colleagues were well experienced.
  • 0
    @NickyBones thats at level one, the state they aim to get away from ;)

    I was looking at level 4-5.

    Then there is the question if you believe they are right to begin with :P
  • 0
    @Voxera I was looking at all the stages. To me it seems like they say "follow our guidelines and you can have a top business with shit devs". Every level just adds new instructions on how to save the business from employee incompetence...
  • 0
    If someone writes unreadable code, no extend of automated testing or processing will change that
  • 0
    @NickyBones yeah, that makes sense.
    The org will just take longer to reach success due to the lack of talent or expertise, but good processes can take you there, eventually.
  • 2
    @mundo03 exactly. Trial and error, as long as you do mot repeat the same mistakes you will eventually find a working solution, just prepare to be patient if you hire donkeys. :D
Add Comment