Software Development Process (CMMI / RUP / XP / MSF) are with non-?

Often see and hear everyone in the process of argument Agile, RUP and CMM software development process which better or what the process well, have their own reasons, the controversy was in fact ...... joy, there is no perfect process, there is no better process. The key is what kind of process to suit their own (the organization), their fit is the best course of the process. More importantly, the fit of their accumulation process takes time, requires constant practice, the definition of the process has been cut, complement and complete only the most suitable set up their own software development process.

Alistair Cockburn quoted saying that "different projects require different methodology, the best course of a project are the project can afford the minimum process." This shows that for an organization, often has several ways to coexist, while different types of projects, using different methods. Choose an appropriate life cycle model for the success of any software project is vital. Significant delays in a large number of items, product delays in the delivery should not be traced to its root causes are often used with the error-related life cycle model, including the existence of obvious defects in the waterfall model errors caused by, although the 70's over the years made waterfall model has been our software engineering education as a classic to teach, practice falls on the software process model is often led astray. Different is that the new process methodology, regardless of light, heavy, or XP, RUP, or TSP, without exception, have advocated the adoption can significantly reduce the risk of iterative evolutionary life cycle model, emphasis iteration. But too much emphasis on iterative, may overlook the needs analysis and definition, ignore the design, at the late changes constantly, so that the undesirable software development costs (rework, amend defects, etc.) greatly increased, an increase of the cost of doing business.

For example, an increasing number of people in the discussion, highly agile process, Extreme Programming (XP), there is the actual problem is, although the agile process, Extreme Programming Web fit the development of suitable free Web services, the fit Forever Beta version, which also has lot of thought indeed worthy applications, such as continuous integration, reconfiguration, testing emphasis, but there are also other issues, such as colorectal team programming, planning game, code such as collective ownership. Extreme Programming is only suitable for small teams, fit the open-source community, such as, but not suitable for large software enterprises; at the software development process on the overall situation, it is more suitable to adopt Unified Process (RUP), Microsoft Software Development Framework (MSF), and at the local, details, absorbing agile thought. American Friends have told me, XP may be a flash in the pan. Regardless of whether he is right, when the software as a mature industry, would surely not permit exactly like "XP" such a move.

Because of limited space and time, where can be the current popular process model to conduct a comparative analysis of U.S. will be of different strengths and weaknesses of the software process at a glance.


Item

CMM / CMMI

RUP

MSF

XP

Cycle

Spiral model.

Iterative cycle of evolution, the process framework

Waterfall model and spiral model combination

Iterative cycle of evolution. Software development methodology

Core

Process Improvement

Architecture, iterative

Milestone, iterative

To code-centric.

Range

Demand strict and rarely change.

Fit different types of projects

Fit different types of projects

The progress of tight demand Unstable small projects, small-scale distribution and small team

Organize

Personal (PSP), Team (TSP) and organization of three-level, inter-group collaboration, training

Cross-team collaboration

Products emphasize vision, six kinds of the basic role

Team-based, small team, Team member ability to fairly

Technology

Traditional structured methods

Object-Oriented Technology

General Technology

Object-Oriented Technology

Management

Focus on process definition, measurement and improvement. All speak with figures and documents.

From an organizational point of view, focusing on process modeling, deployment.

Business modeling, deployment, process management concepts.

Focus on specific process of the implementation and development of technology, plan design.

Events

Through the process to define the activity domain

The entire team throughout the process focus on quality

Project management, risk management and readiness management

People-oriented, such as 40-hour work week, pair programming

Practice

The different levels of the key practice.

Importance of critical infrastructure.

CMM 2-3 class meets the requirements of KPA, which is basically not covered by the KPA class CMM 4-5

Code review, version management, document management, personnel recruitment, re-testing and re-risk management.

Coding and design integration activity, weakening the structure.

Use cases, unit testing, iterative development and tiered architecture.

Other

High universality, but the complexity and cost.


Emphasize the risk-driven, so as to safeguard the continuity of available products to deliver the premise of the process to minimize unnecessary work, so that measurement, the smallest of the document to obtain the flexibility and adaptability.

Provide a series of guidelines for planning basic technological infrastructure of enterprises, commercial flow of the operation of the process and to encourage reusability.

Embrace change, emphasize human nature, and easy communication. Try to reduce the document.

Individual and cross-over process and tools.


To sum up, does not exist a universal or immutable suitable software development and maintenance of all items of software process model. Software in the organization process, the existence of different corporate culture and business environment, different levels and scales, different types of architecture and products, different resources and capabilities and other factors, required according to different projects, different periods of time to select and use different process model and methods. Continuous process of absorption has been thought, and constantly explore and practice, eventually forming gradually fit their own self-definition process.

Through practice tests and the accumulation of self-definition of the software process is the best process.

  • del.icio.us
  • StumbleUpon
  • Digg
  • TwitThis
  • Mixx
  • Technorati
  • Facebook
  • NewsVine
  • Reddit
  • Google
  • LinkedIn
  • YahooMyWeb

Related Posts of Software Development Process (CMMI / RUP / XP / MSF) are with non-?

  • Rails nested resources

    Nested resources [size = medium] [/ size] When the application of nested resources, REST development will become more interesting. In this chapter, you will be more simple to understand the importance of URL of the URL, but also the concept of REST h ...

  • JS in the replaceAll method of implementation

    JavaScript found in the first replace () method if the direct use of str.replace ("-","!") will only replace the first matching characters. And str.replace (/ \ - / g ,"!") can replace all the characters match (g for the ...

  • my way in ruby No. 3 Course

    Containers: Array: Array of values at ruby It really is his mother's loose on the chaos to come , however it is very convenient. Sub-values: a [index, count] from the index bit and started to admit count spaces. There is a second written a [index .. ...

  • Project manager qualities

    / ** Disclaimer: the text content from the network ** / Lot of people think that the project manager is always associated with "the ideal and the glorious" concomitant, in fact, as a interested in improving the flow of Chinese software deve ...

  • Demand assessment and demand for testing

    In the software development process, needs analysis is the beginning of the work, needs analysis, or if the details are not doing enough to deviate from the user requirements, then the project will bring about the extinction often disaster. So how to ...

  • Designed with the real coding

    Software development process at the design and coding, both organizations (as well as other details of the project controllability requirements) engineering method is XP ah, UPS ah what the design phase is to cover the entire software development pro ...

  • Design Pattern in EJB Applications

    What is a Design Pattern Design patterns are a set of re-use, most people know, after cataloging, code design experience. For the use of design patterns are reusable code, so that the code more easily understood by others, and ensure the reliability ...

  • The real design and coding

    Software development process at the design and coding, both organizations (as well as other details of the project controllability requirements) engineering method is XP ah, UPS ah what the design phase is to cover the entire software development pro ...

  • Professional IT management talent required ability Ten

    Technical article ] [IT168 As an IT technical staff, that no one person is willing to Forever in the bottom of the preparation procedure or to do simple maintenance. After a period of technology and the accumulation of experience, a lot of people are ...

  • J2EE Architect road

    J2EE Architect road Looking casual, working into the fifth year, the discovery came from the Java programmer to architect J2EE course. Found that computer to install a wide range of J2EE tools: JBuilder, WSAD, Eclipse, Rose, Together, Weblogic, Jtest ...

Leave a Reply

Recent
Recent Entries
Tag Cloud
Random Entries