Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm an IT student and have been working on team based projects for several years. I've read some papers about CMMI and Scrum; this is really interesting to me and I would like to know what kind of jobs involve improving processes inside an organization.

What kind of studies can lead someone towards these jobs? Management? I doubt it's only that, as CMMI/Scrum affect management as well, I think it's something above it all, that will hold together the organization.

share|improve this question

migrated from stackoverflow.com Jan 24 '12 at 18:34

This question came from our site for professional and enthusiast programmers.

1  
stackoverflow isn't really a place for this type of question. Try on the pm.stackexchange.com site. –  aldridmc Jan 22 '12 at 21:00
    
It's just that I found some questions here about CMMI/SCRUM using google. Well, I'm going to ask there then, thanks for the pointer. –  Aki Jan 23 '12 at 7:01
    
This question has been cross-posted to PM.SE, where it currently has 4 answers. I do feel it's appropriate for this site, though, given that it's more about software engineering process than (software) project management. I'd also like to point out an older question here about software engineering process jobs/careers. –  Thomas Owens Jan 24 '12 at 19:46
1  
An overpaid consultant. –  quant_dev Feb 9 '12 at 17:51
add comment

4 Answers

up vote 2 down vote accepted

I would like to know what kind of jobs involve improving processes inside an organization.

In some organizations, especially those in industries that rely heavily on process and quality certifications, there will be process engineers and engineering process groups. From my own experiences in the defense industry, nearly every defense contractor has people who specialize in engineering process, as well as engineers from various disciplines that support ongoing process improvement.

What kind of studies can lead someone towards these jobs? Management? what's the idea? Management as a topic to be studied? And what other topics could be studied to lead to a job using such methodologies / frameworks?

I studied software engineering, emphasizing the engineering process and quality courses. I also minored in business management. Within the first 6 months of my first post-college job, I was already working on the engineering process group within my organization.

Some kind of business or engineering management background is probably useful, since many process improvement opportunities are a balance between maintaining or achieving a certification and the needs of the business. However, engineering process groups might not be just process specialists, but also contain those knowledgable in the business and engineering disciplines of the company, who serve to ensure that the processes in place work within the context of ongoing projects.

This is a cross-posting of my answer to the same question on the Project Management Stack Exchange

share|improve this answer
    
I read it already and I don't know why this topic was brought up here... Anyways, thanks. –  Aki Feb 9 '12 at 17:43
    
@Aki This question was moved to this site from Stack Overflow, where it didn't belong. –  Thomas Owens Feb 9 '12 at 17:49
add comment

QA Engineer

And I do not mean testing. Testing is Quality Control, while Quality Assurance (QC vs QA) is more broad area which includes everything you mentioned (establishing best practices such as CMMI, ISO, COBIT, etc) and is focused on software processes improvement (SPI) - not only testing, but also project management, release management, reporting, etc (full list of QA responsibilities is the list of CMMI process areas). And the most important thing comparatively to other positions (that might involve software process/quality improvements), QA Engineer has software processes and quality as its primary responsibility.

share|improve this answer
add comment

One development job that may involve CMMI and Scrum is likely going to be Release Engineering or Release Management either as a Release Engineer that is coming at things from a software development career path or coming at it from other directions, likely project management.

Depending upon the organization Release Engineering is going to have a fairly significant influence over software development as ultimately they are the group that is going to be signing off on the final version of software to be released, either as a Gold Master, binaries that are available to the public, or as part of a code migration pathway for continuous deployment as part of an SaaS model.

The other option is that you might want to look around for a company that has a formal standards implementation and compliance group of which the group name can pretty much be anything, I've seen at least one that was simply called "Software Engineering" with groups that did the actual product development having other names.

In terms of moving into such a position, it's really hard to say as to what the best way to go about doing it is as each company is going to view such a group differently. With proper education you might find your way into such groups fresh out of school (assuming that there are even open positions at that level) or it might take you a couple years of getting software development experience before you can make the move over. Having experience writing software does help if you are in such a group though so you might want to look into spending some time as a developer and then making a move to release engineering by building up any professional credentials that you may need to apply for such jobs (e.g. formal CMMI training, background in managing build systems or refactoring a build script for a major project, etc).

Or course, the disclaimer that needs to be applied to this is that different organizations approach problems differently and as a result things might be different depending upon where you are. I've seen some companies have the internal Release Engineering group be responsible for the development standards as they are responsible for what goes out the door where as others will have a formal standards group that does nothing but standards compliance.

share|improve this answer
    
Release Management has nothing to do with CMMI and related stuff. This is the task of upper management and QA engineers. Configuration Management (and, therefore, release management) is only one of 22 process areas described by CMMI. Release manager deals with a subset of responsibilities QA engineer should be in charge of. –  altern Feb 9 '12 at 16:39
    
@altern - Release Engineering is not the same as Release Management although the a release engineering group might be in charge of release management. Plus companies might do things differently, where I am the release engineering group is assuming responsibility for the builds and the software development process standards. –  rjzii Feb 9 '12 at 16:45
    
Release Management is focused on providing successful release for the particular project(s), while Quality Assurance is focused on overall improvement of software processes (and, therefore, quality) throughout whole organization. At least this how it was at the organization I recently worked for. And it seems more logical for me to have Quality Assurance department be responsible of quality on all company levels. BTW, see my answer here: programmers.stackexchange.com/a/134229/44188 –  altern Feb 9 '12 at 16:51
    
@altern - Where I am Release Engineering is responsible for managing the build process, process overlays, and providing automation support to Quality Assurance (i.e. manual testing and review of products) in addition to managing what actually goes out the door. –  rjzii Feb 9 '12 at 16:56
    
I perfectly understand what is the responsibility of Release Engineering because currently I'm on the same position :) And that's why I argue with you - I know that doing my job I do not cover general issue of software quality even though I help to improve it. I also worked as QA (being release/configuration manager allowed me to), and it was completely different kind of tasks, they were more "high-level" and covered more broad picture than only release engineering. –  altern Feb 9 '12 at 17:03
show 3 more comments

Consulting and PMO jobs are the easiest way before getting into management. Be careful though. It is hard to tell someone how to change their job without knowing how to do it yourself.

Want to consult on CMM? Join a firm that is level 5 and learn.

Want to consult on 6 sigma? Join GE.

Want to consult in scrum? Find the best mentor you can and offer to work for free.

Do this and you will have ten times the confidence and credibility when you consult. Your clients will appreciate your academic credentials more if you have also walked the walk.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.