8. Agile Project Management

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

XP also has roles -

TESTERS LOOK FOR POSSIBLE FLAWS PROGRAMMERS DISCUSS AND RESOLVE PROGRAMMING CONCERNS COACHES HELP TEAM ACHIEVE GOALS DESIGNERS HELP TO SIMPLIFY COMPLEX DESIGNS

What is "Waste" wrt to Agile development?

"Waste" is any activity that doesn't add value for the customer. - Lack of information is a primary cause. Wastes time and effort - overproducing - using poor processes and work practices - unnecessary movement of people, paper - overproduction - delays - failure to deliver what the customer needs - unnecessary processes that slow delivery

What process is where you ensure changes are implemented?

- Ensuring changes are implemented is part of the Control Scope process NOT the integrated Change Control Process (seriously)

What is a "RAM"

- Responsibility Assignment Matrix (RAM)

Benefits of Agile PM approach

- reduce risk 1. Risk of developing the wrong thing 2. The risk of building a product of poor quality 3. The risk of not meeting budget/schedule requirments -speed up delivery due to faster decision making - generate more value (because of focus on customer) - reduce cost of making changes

3 phases of DSDM

1. Activities that must occur before project begins 2. Those that make up the actual lifecycle 5 stages: (is this reversed?) 1. Feasibility study 2. Business study 3. Functional model iteration 4. Design and build iteration 5. implementation 3. Those that must occur once project completes

Development models are a guide to the development process. 2 types

1. Defined and linear Planned in detail before performed Also called a "waterfall development" model 2. Empirical and iterative Frequent evaluation and adaptation Customers can't or don't want to set their requirements too far in the future

4 steps in agile development:

1. Describing the need for the product 2. Listing the required product features 3. Order the requirements 4. Refine the requirements Iterative development with incremental delivery Each cycle results in working product that builds on one previous Allows product to grow in planned stages until final product meets all requirements

5 steps of FDD

1. Develop overall model 2. Build a features list 3. Plan by feature 4. Design by feature 5. Build by feature

7 key principals of Lean development

1. Eliminate waste - eliminate things that don't add value. 2. Incorporate continuous learning - helps eliminate errors, early feedback, time-boxed iterations, collaboration and learning w/in team 3. Delay decisions - reduces risk of invalidating decisions 4. Deliver software quickly 5. Empower the programmer team 6. Focus on system integrity 7. Focus on the whole system

5 phases of agile development:

1. Envisioning - determining and refining a project's vision, scope, requirements, schedule and team 2. Speculating - develop estimated iteration, release plan and features, develop rough project plan, estimate risk and risk mitigation strategies 3. Exploring - designs builds and tests features in useful increments to the customer 4. Adapting - team uses feedback to iteration, then adapts to next iteration 5. Closing - project work is completed, lessons learned, final release info. Somewhat akin to traditional PM phases

Pre-game scrum components

1. Establishing product goal 2. Establish requirements 3. Creating the product backlog (key document for success) Order customers requirements Add necessary functional requirements Provide most detail for top items Ensure user stories are specific enough Split high level requirements into smaller more detailed ones Mainly planning and development of high level design Identifies most important requirements of the product (market, customer value) Product owner captures in project goal and product backlog Product owner identifies release dates, budget and risk control, team and tools required Backlog gets clearer as projdct goes on Development team reviews the backlog to ensure key items aren't missing That all of the requirements are clear Stories are arranged in proper order Based on review, the product owner will make adjustments

Agile project management differences:

1. High-level project scope 2. Multiple iterations 3. Self organizing teams 4. Extensive customer involvement

When to adopt agile processes; Look at:

1. Project type 2. Organizational structure Is the organization structured to have the right amount of commmunicatiosn required? 3. Organizational culture 4. Project management processes 5. Team Characteristics 6. Industry 7. Customer

Agile Principles:

1. Satisfy the customer 2. Welcome change 3. Deliver software frequently 4. Work together 5. Motivate individuals 6. Use face-to-face communication 7. Working software = progress 8. Constant pace 9. Technical excellence 10. Simplicity 11. Self organizing teams 12. Reflection

5 parts to scrum meetings

1. Sprint planning - Start of each sprint - All groups negotiate scope of next sprint (w/in 8 hours) - Uses priortized product features - Tasks are estimated - Updates product backlog and defines sprint goal 2. Daily standup - What was done - What will happen - Obstacles - Remain standing to keep it brief/15 min max 3. Scrum of scrums - Large projdcts to coordainte between teams - Maybe 2-3 times per week/15 min 4. Sprint review meeting - Held at end of each sprint - No more than 4 hours 5. Scrum retrospective - Done after each spring review meeting - Looks at processes to improve for next sprint

2 main principles of Interative developments

1. Teams should build sub parts in iterations, reworking them to remove flaws and integrating as completing 2. Customer feedback on iteration is used to sign off on features or revise them on subsequent iteration Generally it's' best to develop features that are most important to the customer. Can also based on risk Iterative development Each iteration should result in working product Each release adds functionality Allows for customer feedback Allows changes in next iteration Cheaper and less time consuming to do all the rework at the end

Scrum Meetings - 3 questions:

1. What work have I completed since last scrum and why? 2. What do I plan on completing between now and next scrum? 3. Do I have any roadblocks or problems that the team can help me overcome

Characteristics of the Scrum development team

5-9 individuals Self organizing/cross functional (team members come from different functional areas)

Game components of scrum

Actual development work using iterative process of sprints Sprints last 1-4 weeks Deliverable every sprint - functionality should work Develop sprint backlog for each sprint Divides up work into tasks - 2 day chunks (16 development hours) Testing (unit testing) goes on all the time. To ensure sprint reviews go properly, scrum master should: Limit prep to 30 min Reiterate sprint goal at strat Keep product backlog visible Allow anyone to ask question Add new input to product backlog Be flexible on meeting duration Sprint retrospective Discuss how sprint went What to improve Identify uncompleted tasks to put back into baclog Limit to 3 hrs or less Sprint burndown charts show ideal vs. actual progress Also shows team velocity Typically less accurate early on Dont compare work required against all project requirements Up and down spikes are typical Progress charts - track individual tasks Task board; also called "information radiators" Based on specific tasks Metrics you can use Velocity - measures rate at which team completes work Standards violations Business value delivered Defects per iteration Number of stories Level of automation Number of tests

Agile practices

Agile practice that benefits is open, frequent communication between team and customer Scrum ensures frequent communication among team members and customer representative Everyone stands to keep the meeting flowing! People learn how it's going, and can help each other. Builds trust and team unity Ensures all team members are constantly aware of how things are going Can highlight need for training or assistance Greatly helps when everyone is co-location Whiteboarding is another technique - visualize problems and solutions, easy to update

FDD (Feature Driven Development)

All aspects of software development are planned, managed and tracked at the level of individual software features. 2 week or less iterations, then moves on USES A PRESCRIPTIVE AND PLANNED DEVELOPMENT PROCESS

Weakness of the waterfall model

Customers feedback too late, errors are id'd late, and are costly to fix late in the process

Agile development team member roles

Designer - work alongside product developers to simplify complex designs Developer - involved with building product or service Tester - help investigate products for possible flaws

Scrum Master role/attributes

Facilitates work of project team members Leads progress on work Compared to sheep dogs who help shepherd people to get the work done. Can take on roles of PM; can be several levels of scrum masters "HELPS TEAM MEMBERS ACHIEVE PROJECT GOALS BY HAVING DAILY STANDUP MEETINGS"

Some project types are more suitable for Agile development:

Good for projects with high level of internal uncertainty (team not sure what will be involved, low experience on this type of project) Ill-defined scope Those that benefit from long term cusotmer feedback Good for projects involving highly creative work Good for projects where customer not sure what they want. Team must be creative, determined and committed

Agile Business Analyst role/attributes

Helps manage relationship between an on-site customer and other team members Remind customer of constraints and explaining functionality to the customer Must be highly skilled; analysis and rethinking of projects to ensure success "SUPPORTS ON-SITE CUSTOMER AND REFINES THE CUSTOMERS REQUIREMENTS"

Agile Product Manager role/attributes

Or product owner Ensures product meets customer needs Can be onsite; documenting, stakeholder engagement on site. Needs to understand market, facilitate difficult decisions, manage time efficiently and work full time on a specific project "PROMOTES THE VISION OF A PRODUCT AND PRIORITIZES PRODUCT REQUIREMENTS"

Sprint/sprint stages

Part of scrum - fixed length development period, usually 2 weeks to 1 month, with clear objectives each sprint builds on the last Sprint team typically uses two types of backlogs to plan and manage a project 1. Product backlog Evolves over project to list every possible project requirement, feature, function, fixes Constantly updated 2. Sprint backlog Details work items team members will work on during sprint Once a sprint starts, no changes should be allowed

What are secondary values in Agile methodology?

Process and tools Comprehensive documentation contract negotiation Following a plan

Scrum Roles

Product owner - knows details of the product to be developed (usually customer representative) Scrum master-who makes sure everyone understands scrum methodology The development team - design build and test product

Agile team roles:

Project Leader Business Analyst Scrum Master Product manager team member

Agile Project Leader attributes

Project leader - an Agile PM, often a business analyst or scrum master. Take on more of a coaching role May be more of a need for explicit leadership early on Most important-helping team members interact with an organization and: Controlling organizational aspects of a project Use a burndown chart vice other traditional tracking processes "FACILITATES THE WORK OF PROJECt TEAMS"

Stakeholders typically affected by change to Agile

Project managers/team members Top manager customers/end users Operations staff responsible for maintaining project deliverables Must explain weaknesses of traditional approach Main benefits - reduced risk - improved control - improved communications Focus benefits on the types of stakeholders

Waterfall model phases:

Requirements Design Development Testing Deployment

Communication in Scrum

Scrum favors face to face over voice, text, VTC Helps bulid trust, encourages information flow Burn down charts, task boards Reviews and demos are also important to facilitate communication

what is the scrum product backlog

Scrum list of features, prioritized with the customer - called the product backlog Each sprint builds on previous one-last between 10-30 days.

What does the scrum master do?

Scrum master-who makes sure everyone understands scrum methodology Shield team from external processes and control May be member of team or there may be a dedicated one Mentors team members Ensures self organizing, cross functional natures work Identifies barriers Should have: Experiences Be a servant leader Excellent organizer and communicator Proficient in conflict resolution Active interest in skills of others

How can scrum teams involve reluctant customers

Scrum team can help involve reluctant customers 1. Assign a proxy owner 2. Send electronic version of teh demos 3. Provide reasons 4. Travel to the customer

Crystal Clear and Orange Methodologies

Teams define own coding standards Different methodologies for different complexities Clear - teams up to 6, colocated Sponsor, senior designer, programmer 60-90 day iterations of working software Little documentation Orange - 21-40 members; medium projects Structuring development process Larger number of team roles 90-120 days releases Artifacts - requirements documentation, schedule, status reports

Agile approach rejects the triangle of scope, cost, schedule because it focuses on customer value What is the Agile iron triangle?

The "agile iron triangle" is reversed with the schedule becoming the primary driver; doesn't show value The "agile triangle" looks at value, quality and constraints as the three components.

What key attributes of culture should an organization have in order to adopt agile

To adopt Agile methods, organization must have trust, openness, responsibility and adaptability Trust Opennesss Responsibility Adaptability Generally, the more flexible and open organizational processes are, the better to adopt agile mehtods

What are BAC and EAC part of?

Trend Analysis. This is a monitoring tool that analyzes data over a given length of time in an attempt to determine a pattern.

Concerns for Agile/Security and safety requirements

Use caution when using Agile for projects that are critical to the survival of an organization, or on those where safety and security are of primary concern. Construction project is good example of project where agile methodology not helpful.

What does the scrum product owner do?

knows details of the product to be developed (usually customer representative) Measures ROI Compiles list of requirements and prioritizes them Develops Product Backlog (essentially the task list) Changes must go through product owner Works closely with development team, available to answer questions Specific personal/professional qualities Clear vision Gather and maintain full set of requirements Good communication skills Organizational and problem solving skills Decision making ability

Inspections in Scrum

Inspection occurs often Sprint planning The daily scrum Sprint review Sprint retrospective Change is implemented as soon as possible after an inspection

What is "Refactoring"

Refactoring - refers to re-design of program or code that has already been implemented, to improve it's performance.

Planning in Agile:

No WBS, time phased or resource assigned task list Instead, uses Just In Time Planning - only enough detail to get started Customer, development team work early on up-front planning, emphasis on customer vision, requirements, and tentative plan for iterations Use less traditional planning charts (Gantt); instead use visual burn down or velocity charts Planning continues cyclically

Phases of a scrum

Pre-game Game Post-game

Burndown chart

Tracks progress in a sprint Straight line indicates ideal workflow Second line, updated daily, indicates team's actual progress

XP focuses on 3 principles:

1. Pair programming 2. Sustainable pace 3. Ongoing automated testing

You should assess 3 types of PM processes for adopting Agile:

1. Project management processes generally 2. Requirements management process 3. Processes associated with configuration management Other factors 1. Team and experience 2. Team size 3. Team member's location More traditional industries might be better for less Agile approaches Newer, emerging, re-inventing industries may be better for Agile.

Introducing Agile methods

Agile is a MINDSET Introduce principles gradually. Start with LEAN mindset. 3 main principles: 1. Eliminating waste 2. achieving flow in the value stream What you use to deliver value - tasks, actions to deliver to customer Requires elimination of "Muda" - waste and obstacles from value stream 3. Continuous improvement "Kaizen" Everyone trying to improve things Ongoing, incremental change Others: 4. Customer collaboration 5. Collective ownership Empower team members Depends on how much control you need, culture and their abilities 6. Transparency Ensuring open, honest communication 7. Learning by failing Encourages continuous improvement Iterations help detect and resolve problems through small adjustments

Getting stakeholder buy-in on adopting agile processes

Change is considered costly Change requires extra effort People can get defensive Risk and uncertainty, fear View Agile as undisciplined or unable to forecast Must explain the benefits

Key characteristics of Agile project management

Cross functional teams that work on short iterations Incremental approach to develop Focuses on business priorities and customer value Strives for continuous improvement CFT members have more power to make decisions, and they are involved from start to end Continuous improvement - customer provides feedback, features added or updated. Useful where requirements change often. Product features with highest priority with customers are developed first. Progress is measured in terms of each features readiness for review and deployment to customers Meeting milestones on schedule becomes priority Short iterations (repeatable cycle in a process). Iterations are 2-4 weeks before delivery of entire set. Customers provide feedback after each iteration Agile doesn't focus on baselines - instead it is based on adjustings plan as a project progresses, with mods made after each iteration. IN agile approach, project team iterates and customers are reviewed, changes in requirements are incorporated into subsequent iterations

Customer requirements for Agile

Customer must be accessible and committed to the process for Agile to work! Customer must be willing to accept some flexibility as well Customer has to be willing to accept more open ended contract model Different agile techniques can be customized to meet project needs All Agile processes assume requirements change during a process and the customer drives these requirements

Lean software development

Doesn't describe specific development methods Provides guidelines for streamlining development processes Can be incorporated into other agile methodologies

Which cost of quality category is related to the cost of developing a product fix?

External failure costs

Typical organizational structures and their usefulness for Agile

Hierarchical - positions and roles well defined. Not well suited for agile Cooperative - people work in teams, less focused on authority, easier or Agile Hybrid - can have balance Project phased - centered around portfolio of key products, well suited for Agile

- Herzberg's hygiene-motivation theory

Hygiene factors concern environment in which you work: salary, coworkers, security, status Motivation factors, also known as growth factors, relate to what people do at work

Risks associated with Agile

One of main risks of Agile is full cost. Not all project tasks are planned in detail If you are accustomed to fixed price contracts, this is a big change You could still do it if several factors are in placed 1. Domain of the application PM must understand the customer area 2. Technology Pm must be familiar with the technology or else it adds risk 3. Team 4. Size of the project Another risk is project team experience Another risk is that key stakeholders must be available and participate

Two types of stakeholders in scrum

Those that are committed to a project Scrum team members Full time Responsible for its results Those that are interested in a project No formal role Project customers Need it to be a good product, but aren't involved directly Not every stakeholder wants to participate at same level

What is "XP"?

another agile methodology Disciplined approach Programmer centric model Focused on ongoing, rapid small releases of software Typically 30-180 day releases, broken down into 1-4 week "iterations" Each iteration is production ready code Team sets its own coding standards and works on individual software functionalities Focus on simplicity, refactoring, customer feedback "Stories"

ASD (Adaptive Software Development) Methodology

collaborative development process w/learning 1. Speculate (aka adaptive cycle planning) Plan # and length of required cycles per development Objective statement for each cycle Tech and components needed 2. Collaborate Concurrent component engineering Team works on components simultaneously Compromises if time is short; added fucntiosn if they have more time. 3. Learn Quality reviews; software inspections, post mortem Evaluate process, brainstorms ideas for problems Feedback from end users USES A CYCLICAL FRAMEWORK THAT FOCUSES ON SPECULATION, COLLABORATION AND LEARNING

Unified Process (UP) and agile methods derived from UP

detailed framework for the iterative and incremental development of software Agile methods derived from UP: AUP - simplified UP; 4 phases - inception, elaboration, construction, transition ESSUP - improving business processes, separation of concerns, SOC - aspect oriented thinking OPEN UP - only fundamental guidance, uses use cases and collaborative project teams

What does Scrum provide

enables project teams to develop complex capability rapidly and efficiently, to adapt to change and deliver value - aligns to core Agile values Incremental, iterative - called sprints Frequent delivery Customer involvement Self organizing cross functional teams

Main purpose of classifying stakeholders is to what? What models are used?:

ensure that no effort is wasted towards communicating and managing stakeholder expectations. Classification models used by this step include power/interest grips, power/influence/grids, influence/impact grids and the salience model

TDD (Test Driven Development)

evelop unit tests for particular code block before code is written, derived from XP Good for when team knows about what code will be used As code is written, it's tested on associated unit test

What are primary values in Agile methodology?

individuals and interactions Working software Customer collaboration Responding to change

What is "referent power"

referent power is influencing and leading others by virtue of your charisma. It is based upon another person liking you or wanting to be like you. It generally requires a special personality as well as a special set of circumstances to create someone with this kind of power.

DSDM (Dynamic System Development Model)

structured framework for agile development Focuses on business perspective rather than technical FOCUSES ON ENSURING THE FITNESS OF PRODUCTS FOR THEIR BUSINESS PURPOSES


Set pelajaran terkait

Chapter 11 - How to Take and Study Notes

View Set

Organizational Behavior Chapters 1-4

View Set

Ch.1 Legal Heritage and the Digital Age

View Set

Chapter 13: Organization and Control of Neural Function Patho Prep U

View Set

Female reproductive system Part 2

View Set

STATS FINAL SEM TWO MAJOR STUDY SET

View Set