I'm giving a presentation tomorrow on Software Process and Machine Learning. My primary goal with the process slides are to get across that most of it is really reliant on project management and personal time management techniques. I mention things related to process cycles (waterfall, prototype, spiral, etc.) and I focus on tending away from the idea that any amount of process causes copious amounts of paperwork and bureaucracy.

I started this job in August, and it's my first one as a full-timer (I've had development internships before). I want to give a good impression, but I'm also careful not to promise things I can't keep. I'd like to say that getting to CMMI Level 2 would be fairly simple, since most of our in-house applications are simple and have been easily maintained using just local Git repositories for version control. The big project performs on the factory floor and tests our products. It's projects like these that I'd like to provide a bit more control over with documentation, cleaner process, and improved estimation for maintenance and enhancement.

All in all, our projects get deployed to the other departments and it's up to them if they use it. For software solutions that are less than a handful of classes, I'd concede the point that process might be more detrimental than useful; however, I'd really just like to have something in place for the co-ops that we have so that they can see not just coding but some software engineering at work as well.

Case In Point

Does a consumer electronics manufacturing plant, with a separate software division for the actual electronics, need to have CMMI compliance at any level for any reason (other than it makes the in-house software developers feel proud)? If so, what level should be the goal?

  • 1
    My primary goal with the process slides are to get across that most of it is really reliant on project management... -- I see Project Management as more of an accountability mechanism from a corporate perspective than as driver for software development and deployment. All any individual software developer really needs is a spec, an understanding of the problem domain, and keen knowledge of his tools and techniques. Everything else is window-dressing. Granted, some of that window dressing can be very useful, but none of it is essential. – Robert Harvey Nov 8 '17 at 17:21
  • 2
    In any event, the answer to the question in your last paragraph is "sure, for compliance reasons." What level should be the goal? The level that the organization deems most appropriate for their products and services. The group that developed software for the space shuttle was arguably above CMMI 5 (for good reasons), but many organization will not require that level of rigor. To them, it will just be added cost for marginal benefit. – Robert Harvey Nov 8 '17 at 17:27
  • 1
    CMMI and Agile principles are compatible. The big thing is that once you've written the plans (or adopted someone else's) that describe how you are taking care of the different CMMI points, you just need to follow the plan. The plan can say that all CM related activities are managed using version control and issue tracking. The big thing that CMMI tries to enforce is traceability. I.e. work maps to something required. – Berin Loritsch Nov 8 '17 at 17:43
  • I'll leave this a comment as I am not sure if it is really an answer, plus I am unfamiliar with CMMI. But from what I just saw googling I'd say the answer is yes, and that there are other business targeted programs out there that strive achieve similar goals to CMMI. You should check into (dare I say it) Six Sigma and ISO 9000/9001. But the big problem I see from my experience in heavy industry is that success is defined by the amount of product you push out the door regardless of how much pain you put your employees through to get there. – Peter M Nov 8 '17 at 21:50
  • I really appreciate the feedback! I agree with the accountability, which is what my boss seems to be more concerned with than time estimations in Excel. It might be useful to note that the software we make is only used in-house for employees; another team makes product code. Nonetheless, I want to be able to instill traceability within our projects. (Lean) Six Sigma is what my boss expounds! ISO also good. Again, thanks all! Wish I could give someone the credit for answer, but it is a bit open of a question. We seem to agree that the direct answer is Yes! Right? – Jay Whaley Nov 9 '17 at 15:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.