_ The development of any quality product requires thoughtful consideration, construction, testing, and deployment by a dedicated team of individuals working in concert _
NiCE development is a strict realization of the above statement, and as such, strives for the thoughtful consideration, construction, testing, and deployment of NiCE in all NiCE Development Team activities. Consideration includes thorough team planning and the development of an on-going relationship with NiCE stakeholders to understand their stringent requirements throughout modeling and prototyping. Construction includes up-front analysis and design before implementing actual product code. Additionally, it promotes software version control, as well as modern software development best-practices such object-orientation and [Test_driven_development]. Deployment includes a quality-oriented, customer-focused effort to document all facets of the product and its development and ensure a timely release of the product.
NiCE utilizes a software development process that facilitates the realization of this overall philosophy. The process is top-down, iterative, model-based, and use case driven. The development of a system model that traces directly to gathered stakeholder requirements enforces a strict adherence to thoughtful design and analysis. The NiCE development process is a tailoring of IBM's Model Driven Systems Development (MDSD), a derivation of the Rational Unified Process (RUP). As such, it is a process that is conducive to team collaboration as well as extremely adaptable to any future stakeholder requirement changes or requests. The following describes the basic pillars of the NiCE software development process:
Top-Down Design
NiCE is developed from a top-down perspective and begins with the compilation of a system or product vision. This vision defines the overall scope of the product to be developed, and focuses on system stakeholder definitions, functional requirements, external tools to be leveraged, and why the product is needed at all. Once the vision is established, formal interviews are held with stakeholders and subject-matter experts to gather all necessary system requirements. These
Iterative Development
Detail UML and its components, give picture examples
Describe TDD with Activity Diagram
When fixing a bug or adding a feature to NiCE, the following steps should be followed: