(英)[scrum][CMMI]What's the relationship between Agile & CMMI

Ø     Clarification

When we talk about Agile, many people will shout “against traditional patterns!”,” against waterfall models! ”. Or even emphasize the importance of “TDD/Automation Test/Unit Test”. Actually, this is just for marketing promotion!!!

  1. Even in Agile approaches, there are phases in product development which get separated by working software according to the user stories.
  2. Technical terms are implementation methods. As same as Java or .Net, which doesn’t represent certain software development process. A lot of CMMI practices also applied “TDD”, “Automation Test” and “Unit Test”.
  3. Actually, Agile still has the standard “Repeatable Process Area” like CMMI2. And simplify some statistical models which also exist in CMMI3
  4. IBM Rational Team Concert (RTC) is a lean collaborative lifecycle management solution (esp. for Agile). It tells us that 3 meetings+3 documents+3 roles are not enough, even more, we can still keep risk management.

Ø     Analysis table

 

Feature purpose

scenarios

CMMI4

Quantitative Project Management

forecast the product quanlity, risk

High cost/unfrequent Change

High precision industry

(esp. manufacturing /financial industry)

Agile

incremental iteration

continual improvement

Low cost/ frequent change

Not high precision industry

(esp. most software industry)

  1. CMMI4 emphasizes regulation and planning. It allows people to identify all the interfaces to business logics, program functions and management structure in the very beginning, which helps to clarify rights and avoid dispute. The technology enthusiasts prefer to it, since they can build an “omnipotent” architecture via this pattern. But the disadvantage is that: it will cost a lot if there is any interface/ architecture issue.

Agile is a star of business product development process. However, the slogan “Just do it!” makes everything become “Just so so!”. The products are so so, the documents are so so, the changes are so so, the communications are so so. Then, all the solutions can only base on “people” (especially, the cross-team communication).

  1. At the same time, CMMI4 allows you customize all the regulation. You just need to follow the rules. Have you ever known the bug numbers before start coding? Try CMMI4, you will get a surprise!

Oh, you hate boring, you are an innovator? Agile can make you self-organized! Does any issue occur? It’s okay! How to fix? Do it yourself! The whole thing is too difficult to fix? Slice and solve it one by one! So, you can get “fast delivery” and let your customers and bosses be shocked.

  1. What? Traditional patterns do not provide project breakdown? Or only provide traditional way to breakdown? Are you kidding me?!  It’s totally wrong! CMMI also support project breakdown according to the business logic just in different size. Because they do not advocate “fast delivery”. So, what I want to say is that CMMI does better job in overall design (both for plan and implement) but Agile is dominant in adapting the change of the business logic.
  2. Of course, bosses prefer Agile. Why? Come on, dude! CMMI costs a lot of money for consultants, certification, tools and auditors, which only get used to measure the work items and cannot produce any business value. What? You rock because your company passed all the CMMI certification? Congratulations!  Are you shocked by the maintenance cost? Clam down! Another thing I need to tell you is that “This certificate is only valid in 3 years.”

Yep! You’re right! Agile needs consultants, certification, tools and auditors also, but totally in different size of cost. Or you can even skip tools & audit. The key is “fast delivery”. It’s a happy ending that our bosses really know what we are doing now and our customers find that “Uh-huh! This website is changing day by day! Let’s check out what it looks like just right now!”

 

你可能感兴趣的:(职场,agile,休闲,cmmi)