170 likes | 198 Views
Permeation of RUP and XP on Small and Middle-Size Projects. KREŠIMIR FERTALJ University of Zagreb Faculty of Electrical Engineering and Computing Department of applied computing Unska 3, Zagreb 10000, CROATIA kresimir.fertalj@fer. hr. Introduction.
E N D
Permeation of RUP and XP on Small and Middle-Size Projects KREŠIMIR FERTALJ University of Zagreb Faculty of Electrical Engineering and Computing Department of applied computing Unska 3, Zagreb 10000, CROATIA kresimir.fertalj@fer.hr
Introduction • Most of the present software projects fit into the class of middle-sized projects • XP is too “little and firm”, • RUP is too “big and universal” • for literal and strict implementation. • Releasing and adjusting some of the directives, and combining ideas of both of these philosophies, as a logical solution for filling the gap between the two. Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Overview of the RUP • RUP - Rational Unified Process • formerly Unified Development Process • a universal software development framework • provides a number of predefined “templates” (roadmaps) which model different types of processes suited for different types of software development projects • enables the user to choose the subset of artefacts that will be produced and even to create its own artefacts • RUP emphasises the “best practices” • Iterative development, Management of requirements, Application of component-based architectures, Visual modelling, Continuous quality verification, Control and tracking of changes. Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
The RUP lifecycle • Inception • Determines the scope, the preliminary schedule and the basic architecture Vision document • Elaboration • Clarifies the system architecture, determines the most important requirements and risks Software Requirements Specification, Software Architecture Document and a refined project plan • Construction • Manufacturing and iterative improvement of the system being developed Development plan • Transition • Testing and releasing the product, fine tuning based on the users’ feedback Change Management Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Elaboration Inception Construction Transition iter. #1 iter. #2 iter. #n-1 iter. #n — — — — — Increments Iteration and phases • Phases Core Workflows Requirements Analysis Design Implementation Testing Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Overview of XP • XP - Extreme Programming • The values - establish the basic rules • Communication, Simplicity, Feedback, Courage and Respect. • The basic principles – operating principles • Humanity, Economics, Mutual benefit, Self-Similarity, Improvement, Diversity, Reflection, Flow, Opportunity, Redundancy, Failure, Quality, Baby Steps, Accepted Responsibility • Practices – concrete directions • Beck recognizes Primary and Corollary practices • some authors do some further classifications Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
RUP Practices • Primary practices: Stories (User Stories), Weekly Cycle, Quarterly Cycle and Slack, Sit Together, Whole Team, Informative Workspace, Energised Work (formerly Sustainable Pace), Pair programming, Incremental Design (comprises two former – Refactoring and Simple Design), Test-First Programming (Continuous Testing), Ten-Minute Build, and Continuous Integration. • Corollary practices:Real Customer Involvement (formerly On-Site Customer), Incremental Deployment. Negotiated Scope Contract, Pay-Per-Use, Team Continuity, Shrinking Teams, Root-Cause Analysis, Code and Tests, Shared Code (formerly Collective Code Ownership), Single Code Base, and Daily Deployment. Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Exploration Planning Iterations to Release Productionizing Maintenance Death Review / Inspection Stories for the next iteration Pair Programming Supplements Analysis Design Test plan Testing (User) Stories Feedback Continuous Integration Priorities Effort Estimate Test Shared Code, Single Code Base Short/Small Release Release Update Final Release User Acceptance XP lifecycle Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Permeation of RUP and XP • Best of Breed • The majority of software is too dynamic and unpredictable for “huge and time-consuming” RUP, and • software projects are too expensive and important to be left to “ad-hoc” planning in XP. • XP • focus set on coding, short projects (up to a year), small teams (up to ten), reduced documentation, on-site customer, pair programming and short releases as main risk reduction mechanisms. • RUP • a configurable process framework, adaptable, no limits to the project size, price or the team size and deployment, the main risk reduction mechanisms are iterations and detailed documentation. Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Preliminirary Study Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
System Analysis and Design Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
System Construction Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Transition Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Premise • RUP • highly formal and structured • providing out-of-the-box roadmaps for a number of project types • does not say anything about how to actually run a project • XP • devoted to everyday life and low-level management of the development team • does not insist on documentation • does not provide project templates • people oriented methodology, relying on human intelligence Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.
Conclusion • A permeation presented in the paper • retained the four RUP alike phases in project lifecycle • significantly reduced the documentation, selecting the artefacts necessary to support a little larger and less compact team than expected in XP • adopts reduced XP’s people-orientation and most of the XP practices, especially communication, frequent small releases, code refactoring and testing, etc. • XP practice of writing tests before or at least in parallel with code proved to be an excellent risk reduction mechanism in practice. • The proposed combination of RUP and XP • certainly appropriate for small and middle-size projects • efficiently exploits the human experience in SW development Fertalj: Permeation of RUP and XP on Small and Middle-Size Projects, 6th DAAD Workshop, 2006.