Scrum Vs Agile Vs CMMI Methodologies Differences

Agile is a methodology implemented in software industries for its development. In this method, team development is attained by sprints, iterations. Thus, process incremental is achieved by performing sprints. This helps the organization to deliver a quality product to the customer.

A scrum is a form of Agile methodology. It is framed for software development, managed by themselves. As it is an agile form, sprints are performed, conduct meeting and discuss the sprints with product owners and masters. In this article, we discussed the Scrum Vs Agile Vs CMMI methodologies differences.

The full form of CMMI is Capability Maturity Model Integration, this method is utilized for organizational improvement. CMMI comprises of maturity level that helps in the development of the organization.

What is CMMI?

CMMI process creates awareness in the team about their existing place in terms of performance, helps to identify their strengths, what methods utilized for current development, how are the products performing in the market and how it needs to be done.

Through this CMMI model, they identify the business targets and achieve the numbers. Deliver the best products to customers and satisfy them and increase the organization results. CMMI works on observation of behavior and also a process.

CMMI used in products and service development, Service establishment and management, Product and service acquisition.

More about CMMI:

CMMI has Process areas. It will acquire the organization behaviors and principles. It is all about questioning how and observe the behavior, not meant to say how the organization should behave. It will help the existing behaviors and culture that needs to be elaborated.

As said earlier CMMI comprises of maturity level at which the organization is rated. Intended to be broadly interpreted, so success at this level does not provide any certification but gives a rating. It also provides training for the improvement of process and appraisal program. It acts as a guide for the organization or for a project.

Maturity level:

Maturing level has certain stages in which each level has to improve step by step. It consists of process areas, against each process the achievement of the project is measured. It has five levels they are initial, managed, Defined, Quantitatively Managed, Optimizing.

First level- Initial:

At times the organization had to handle bad condition. The achievement in this type of organization purely depends on the team, not because of the prior successful process. It tends to spend more than the budget estimated for even to produce successful products which worked earlier, few organizations accept more work, crisis situation arises, and not able to maintain the track record of their success. All these reflect a maturity level-1 or CMMI level 1.

Second level- Managed:

The organization which proved and achieved all the objectives and met all the business targets. To say, particularly the organization which is successful at defining, planning, deliver the products as per the requirements, and also passed the quality testing. This states that it attained the maturity level-2 or CMMI level 2. Under any condition the organization which achieved all the objectives and able to manage the process in well manner.

The management can identify success at any particular point and able to manage all the customer requirements, work process, deliverables and the product services. They discuss about the commitments with other partners and same can be repeated.

Third level- Defined:

An organization which defines the process clearly and inculcates in standards, methods or tool used for the process, then the steps are involved in the process. To attain maturity level 3, organizations along with successful process should have predefined standards, procedures, process description.

At cmmi level 2 the standard, procedures and description may vary with a project to project, where as in this level the standard, procedures and descriptions are consistent, irrespective of projects same standards can be implemented. Processes are well defined and described more elaborately. At this level, processes are managed more effectively.

Fourth level- Quantitatively managed:

At this level, organization must be able to review and inhabit process with minimal wastage or without deviating from the standards. Also, the sub processes are identified which contribute most for the success of the project. These sub processes can be monitored using techniques that measure against the statics and quantitative techniques. For better quality and improved performance, quantitative techniques are implemented. In case of deviation, the reasons are identified and corrected accordingly

Fifth level-Optimizing:

At this level, the process is updated and changes are incremental and also new techniques are implemented. These techniques are accounted. The innovative methods are developed through the team environment and principles of the organization.

Everyone contributes to the frequent changes and incremental performance, and how effective it can respond to changes. The main part of this level identifies the reason behind the cause of process deviation and shuffling for the process to deliver best results.

CMMI and Agile Mapping:

Now we will look into how CMMI methodology and Scrum process works. First step is requirement management in which one can identify the constraints between customers and user requirements against the product and project layout

Requirement management of CMMI and agile:

  1. Identify the requirements from customers in CMMI
  2. In Agile while performing sprint a product backlog is developed and it’s been reviewed

  3. Acquire the commitment from the project team
  4. Planning meeting conducted from which team sprint plan and product process plan is obtained
  5. Responding to the changes that arise in the middle of the process
  6. As the change required, the user will add to product backlog and perform in the next sprint
  7. Now the difference is identified between plan Vs products Vs and the requirements
  8. After planning meetings, they develop a sprint burnt down chart which states the work remaining and the percentage of work yet to finish

CMMI Vs Scrum Difference:

CMMI is for large engineering projects, also for the complicated projects. It also helps to improve Agile methods implemented in the organization. Scrum is part of Agile. CMMI is being just for the improvement of the current process to attain certain levels, but Scrum has no limits for the improvement.

Scrum deals with new process, CMMI is for the existing. If the result is unsuccessful in Scrum, they will close the process and start where as in CMMI, it is entirely different, they identify the mistake, and review it and make necessary changes and implement it with revised.

CMMI Vs Agile Difference:

In Agile, work is divided into small parts with cross functional teams assigned. CMMI provides learning, and repeat the same existing work process. The CMMI question the how in the process.

Agile is a method, CMMI is agile and tool. Sprints and iterations are not involved in this process. CMMI is implementing sound systems engineering and software engineering principles, projects which cannot be handled by Agile.

CMMI provides training and process improvement. Agile does not drain on development by repeating the process of development with changes in every sprint. Agile adds the new changes in CMMI, the existing is developed. In agile, there is a detailed planning where as in CMMI, it is quite less.

In both Agile and Scrum, the team works on a new process where in CMMI, it works the already worked out process. In scrum and Agile they start implementing the process, in CMMI, they can accept the process that exists already. Once the process is done in form of sprints, Scrum release products.

In Agile, once all the requirements met, they move for testing, if it is failing the loop starts again, it will be removed from the product backlog. In CMMI, once the product is done, testing will be done, if it fails they try to rectify and revise it.

From:https://content.wisestep.com/scrum-vs-agile-vs-cmmi-methodologies-differences/

Git & TFS

TFS is not itself comparable with Git. Rather we’d be comparing TFS/VSTS with something like GitHub, or TFVC with Git.

Here’s a few definitions before we begin; if you’re already familiar with the above acronyms / names, feel free to skip over this part:

  • TFS = Team Foundation Server; a product which offers version control, work item management, automated build tools, project management tools, etc.
  • TFVC = Team Foundation Version Control. This is the source control engine used by Team Foundation Server (or rather, it’s one of the engines used; as since TFS 2013, TFS also supports Git). It is considered a centralised version control system, in that the master copy of the code is held on the server, with developers connecting to that server to sync their copy of the code with that of other developers.
  • Git = A source control engine used by various source control solutions, most famously GitHub and GitLab; but also used by TFS.
  • GitHub = A product which offers version control, work item management, wikis, etc. GitHub uses Git as its version control engine/protocol.
  • VSTS = Visual Studio Team Services. This is an online Software as a Service (SaaS) version of TFS. The feature set of this online offering differs slightly from the self-hosted TFS option; but this version’s features are rapidly growing as companies move towards SaaS offerings.
  • VCS – Version Control System. A generic term to describe the solution used to provide your version control.

You can find a comprehensive list of version control engines, along with which platforms support them here: Wikipedia: Source Code Hosting: Version Control Systems.

Microsoft have made no official comment about the future of their products.

In 2015 their vice president for cloud developer services, Brian Harry, blogged that TFVC does have a future: The future of Team Foundation Version control

Writing this answer in 2018 the following are my speculations:

  • MS will focus on VSTS. They will likely continue to offer TFS for several years as companies with security concerns around the cloud continue to opt for self-hosted options; but VSTS will rapidly overshadow TFS and at some point within the next 5 years MS will likely drop support for TFS in favour of solely focusing on VSTS.
  • MS still have an investment in TFVC; for example their Dynamics suite of products rely on this mechanism / the related development tools for which do not have native support for Git. However, MS will likely wish to take advantage of the benefits of Git in the long term, and will want to allow developers the option to choose their VCS platform as enabling developers benefits uptake of their solutions, and as such will start decoupling the choice of VCS from their offerings.
  • Over time TFVC will be dropped as Git matures and the MS offerings for Git match or overtake their offerings for TFVC. I suspect this will happen within the next 10 years.

From:https://www.quora.com/Will-Microsoft-kill-TFS-in-favor-of-Git

https://docs.microsoft.com/en-us/vsts/tfvc/comparison-git-tfvc?view=vsts

https://blogs.msdn.microsoft.com/msdntaiwan/2014/09/15/team-foundation-version-control-git-visual-studiotfsvs-online/

双峰

种子早已种下,慢慢在发芽

时机已然成熟,万事都已具备

平地里两座山峰

拔地而起,孤傲耸立

静立在晨曦晚霞里,似白雪宝玉

春风来时颤动如珠

山峰间的溪流最清澈

山腰间的小路最迷人

山顶上的风景最动人

引我垂涎,想我攀登,一遍又一遍,永不疲倦

PS:to 小玲。