NTR Lab
Homepage >> Approach >> Software process options

Software process options

Rational Unified Process (RUP):

  • An iterative, requirements-driven, architecture-centric approach to software development;
  • particularly applicable to larger software development teams working on large projects; and
  • consists of four phases:
    • inception: analysis of business context, success and risk factors, constraints and financial forecast. The result: project plan and project description.
    • elaboration: problem domain analysis, basic architecture. The result: a development plan for the overall project.
    • construction: development itself, coding. The result: first external release of the software.
    • transition: moving to the end user, training end users and maintainers, beta testing of the system, final adjustments based on user feedback, usability or installation issues. The result: completed software product ready for release.

Agile/XP-type process:

  • lowers the cost of change
  • suitable for
    • projects involving new or prototype technology, where the requirements change rapidly, or some development is required to discover unforeseen implementation problems.
    • research projects, where the resulting work is not the software product itself, but domain knowledge.
  • Entertains the following five basic values:
    • Communication: collaboration of users and programmers as opposed to documentation from formal software development methodologies.
    • Simplicity: start with a simple solution and refactor it as needed.
    • Feedback: from the system, from the customer, from the team.
    • Courage: enables developers to feel comfortable refactoring their code. Implies reviewing the existing system and modifying it so that the future changes may be implemented more easily.
    • Respect: among team members for each other and for their work.
  • Is based on the following four basic activities:
    • listening
    • designing
    • coding
    • testing

RUP is similar in concept to Extreme Programming in that the development plan is updated throughout the process, so only what is useful and required is produced.

Customer-specific process

Your unique requirements are combined with our technical expertise and knowledge resulting in a specific software process that satisfies your specific situation.

Microsoft gold certified partner

ISO 9001