RUP AGILE SOFTWARE DEVELOPMENT The Rational Unified Process

![The Rational Unified Process. RUP phases [SE-8, Fig 4. 12] 2 The Rational Unified Process. RUP phases [SE-8, Fig 4. 12] 2](https://slidetodoc.com/presentation_image_h2/1fd0acd47b02477aaffdc8f68f293fa9/image-2.jpg)
![. The Rational Unified Process RUP workflows [SE-8, Fig 4. 13] 3 . The Rational Unified Process RUP workflows [SE-8, Fig 4. 13] 3](https://slidetodoc.com/presentation_image_h2/1fd0acd47b02477aaffdc8f68f293fa9/image-3.jpg)


















- Slides: 21

RUP & AGILE SOFTWARE DEVELOPMENT
![The Rational Unified Process RUP phases SE8 Fig 4 12 2 The Rational Unified Process. RUP phases [SE-8, Fig 4. 12] 2](https://slidetodoc.com/presentation_image_h2/1fd0acd47b02477aaffdc8f68f293fa9/image-2.jpg)
The Rational Unified Process. RUP phases [SE-8, Fig 4. 12] 2
![The Rational Unified Process RUP workflows SE8 Fig 4 13 3 . The Rational Unified Process RUP workflows [SE-8, Fig 4. 13] 3](https://slidetodoc.com/presentation_image_h2/1fd0acd47b02477aaffdc8f68f293fa9/image-3.jpg)
. The Rational Unified Process RUP workflows [SE-8, Fig 4. 13] 3

What Is Agile �Agile --readiness (echha)for motion, nimbleness, activity, dexterity in motion �Agility The ability to both create and respond to change in order to profit in a turbulent business environment � Companies need to determine the amount of agility they need to be competitive �Chaordic � Exhibiting properties of both chaos and order � The blend(milan) of chaos and order inherent(svabhavik) in the external environment and in people themselves, argues against the prevailing wisdom about predictability and planning � Things get done because people adapt, not because they slavishly follow processes

Agile Software Development Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. Software developed during one unit of time is referred to as an iteration, which may last from one to four weeks. Agile methods also emphasize working software as the primary measure of progress

Agile Software Development: Intro Characteristics of Agile Software Development -- Light Weighted methodology -- Small to medium sized teams -- vague and/or changing requirements -- vague and/or changing techniques -- Simple design -- Minimal system into production


Characteristics Modularity Iterative Time-bound Incremental Convergent People-oriented Collaborative

Existing Agile Methods Extreme Programming (“XP”) Agile Unified Process Scrum

Extreme Programming Most prominent Agile Software development method Prescribes a set of daily stakeholder practices “Extreme” levels of practicing leads to more responsive software. Changes are more realistic, natural, inescapable.

Extreme Programming (XP) Developers XP values communication simplicity feedback courage XP practices planning game short releases simple design test-first coding refactoring pair programming continouos integration no overtime on-site customer coding standard Customer 20 December 2021 11


Extreme Programming (XP) XP Planning Begins with the creation of “user stories” Agile team assesses each story and assigns a cost Stories are grouped to for a deliverable increment A commitment is made on delivery date After the first increment “project velocity” is used to help define subsequent delivery dates for other increments 20 December 2021 13

Extreme Programming (XP) XP Design Follows the KIS (keep it simple) principle Design provides implementation guidance for a story Encourage the use of CRC (class-responsibility collaborator) cards For difficult design problems, suggests the creation of “spike solutions”—a design prototype Encourages “refactoring”—an iterative refinement of the internal program design 20 December 2021 14

CRC Cards 20 December 2021 15

Extreme Programming (XP) XP Coding Recommends the construction of a unit test for a store before coding commences Encourages “pair programming” Integration of work (done by pair programmer) on daily basis Yielding … “smoke testing” helps to uncover errors early 20 December 2021 16

Pair Programming Pair programming is a dialogue between two people trying to simultaneously programming (analyze and design and test) and understand together how to program better. It is a conversation at many levels, assisted by and focused on a computer -- Kent Beck 20 December 2021 17

Extreme Programming (XP) XP Testing All unit tests are executed daily Encourages a regression testing strategy when ever code is modified “Acceptance tests” are defined by the customer and executed to assess customer visible functionality 20 December 2021 18

Agile unified Process (AUP) Philosophies Your staff knows what they’re doing Simplicity Agility Focus on high value activities Tool independence You’ll want to tailor the AUP to meet your own needs

Agile unified process

Agile Unified Process Phases Disciplines Philosophies Releases