agile modeling in project management.pptx

RahatUllah55 30 views 16 slides Sep 25, 2024
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

agile modeling in project management is discussed in detail.


Slide Content

Lecture 7 Agile Modeling

Agile methods Dissatisfaction with the overheads involved in design methods led to the creation of agile methods. These methods: Focus on the code rather than the design; Are based on an iterative approach to software development; Are intended to deliver working software quickly and evolve this quickly to meet changing requirements. Agile methods are probably best suited to PC products.

3/16/2023 3 Agile Methodologies Agile methodologies generally promote a project management process that encourages frequent inspection and adaptation , a leadership philosophy that encourages team work , self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Emphasis on Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan XP, Scrum, Lean Software Development, Feature Driven Development…

3/16/2023 4 Principles behind the Agile Manifesto Follow these principles: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

3/16/2023 5 Principles behind the Agile Manifesto Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Principles of agile methods

Problems with agile methods It can be difficult to keep the interest of customers who are involved in the process. Team members may be unsuited to the intense involvement that characterizes agile methods. Prioritizing changes can be difficult where there are multiple stakeholders. Maintaining simplicity requires extra work .

Agile values 3/16/2023 8

Agile Process Models Extreme Programming (XP) Adaptive Software Development (ASD) Scrum Dynamic Systems Development Method (DSDM) Crystal Feature Driven Development (FDD) Lean Software Development (LSD) Agile Modeling (AM) Agile Unified Process (AUP) 3/16/2023 9

Xtreme Programming Conventional wisdom in software engineering is to design for change. It is worth spending time and effort anticipating changes as this reduces costs later in the life cycle. XP, however, maintains that this is not worthwhile as changes cannot be reliably anticipated. Rather, it proposes constant code improvement (refactoring) to make changes easier when they have to be implemented .

XP Process

Extreme programming practices 1

Extreme programming practices 2

XP and agile principles Incremental development is supported through small, frequent system releases. Customer involvement means full-time customer engagement with the team. Change supported through regular system releases. Maintaining simplicity through constant refactoring of code.

Pair programming In XP, programmers work in pairs, sitting together to develop code. This helps develop common ownership of code and spreads knowledge across the team. It serves as an informal review process as each line of code is looked at by more than 1 person. It encourages refactoring as the whole team can benefit from this. Measurements suggest that development productivity with pair programming is similar to that of two people working independently.

Pair Programming Benefits Continuous code review: better design, fewer defects Confidence to add to or change the system Discipline to always test and Refactor Teach each other how the system works (reduced staffing risks) Learn from partner’s knowledge and experience (enhances technical skills)
Tags