6

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.

Mike Partridge
  • 6,587
  • 1
  • 25
  • 39
Aki
  • 163
  • 3
  • 1
    stackoverflow isn't really a place for this type of question. Try on the http://pm.stackexchange.com/ site. –  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. –  Jan 23 '12 at 07:01
  • This question has been [cross-posted to PM.SE](http://pm.stackexchange.com/questions/4422/cmmi-and-scrum-related-jobs), 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](http://programmers.stackexchange.com/questions/94060/what-is-the-best-way-to-study-and-become-involved-in-software-engineering-proces). – Thomas Owens Jan 24 '12 at 19:46
  • 1
    An overpaid consultant. – quant_dev Feb 09 '12 at 17:51

4 Answers4

2

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

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
0

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.

rjzii
  • 11,274
  • 6
  • 46
  • 71
  • 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 09 '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 09 '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: http://programmers.stackexchange.com/a/134229/44188 – altern Feb 09 '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 09 '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 09 '12 at 17:03
  • @altern - I think we might be being a bit biased because of how our companies are organized. :) Where I am we (Release Engineering) are in charge of the process improvement and QA is limited more to making sure the software works correctly. – rjzii Feb 09 '12 at 17:12
  • Probably you're right about the bias :) But it is worth mentioning that your company has common misunderstanding about what the QA is. Making sure software works correctly is QC (Quality Control) and covered by the Verification (sometimes Validation) process area from CMMI standard. QA covers them all. Give me some time and I'll show you some proofs of my point. – altern Feb 09 '12 at 17:16
  • @altern - We are in the process of implementing the CMMI standard from scratch so I've been reading through the report. Odds are when things are all said and done there might be a bit of an organizational change so that Release Engineering and Quality Assurance are under some Quality Control umbrella but that is above my pay-grade. :) – rjzii Feb 09 '12 at 17:24
0

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.

altern
  • 757
  • 2
  • 7
  • 17
0

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.

MathAttack
  • 2,766
  • 18
  • 22