|
Choosing the right process |
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 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. |