PEOPLE FIRST; PROCESS SECOND
by salt-productions
Agenda
RUP Agile Practices Scrum Putting it all together with & for
People
The Rational Unified Process
RUP Best Practices
RUP Essentials Vision—Develop a Vision Plan—Manage to the Plan Risks—Mitigate Risks and Track Related Issues Business Case—Examine the Business Case Architecture—Design a Component Architecture Prototype—Incrementally Build and Test the
Product Evaluation—Regularly Assess Results Change Requests—Manage and Control Changes User Support—Deploy a Usable Product Process—Adopt a Process that Fits Your Project
1.
RUP RolesRUP Definition:A role is an abstract definition of a set of responsibilities for activities to be performed and artifacts to be produced.Skills:
A person acting in the Requirements Specifier role needs good communication skills, both in terms of expressing themselves verbally and in writing. Knowledge of the business and technology domain is also important, but is not typically necessary for every project team member acting in this role. For the requirements specifier role to be carried out efficiently, the person playing this role needs to be familiar with the productivity tools used to capture the results of the requirements work.
My Experience with RUP
Management View
Business Analyst Lead
Business Manager
Developer Lead
ISG Project Manager
Business Architect(from Business Team)
RUP Software Architect(from RUP Roles)
architecture
<<communicate>>
<<training & experien...
RUP Change Control Manager
(from RUP Roles)
Team LeadProject Manager
business case<<communicate>>
<<training & experien...
RUP Configuration Manager(from RUP Roles)
<<training>>
Optimize System Quality(from Use Case View)
RUP Test Manager(from RUP Roles)
Optimize Development Process(from Use Case View)
RUP Process Engineer(from RUP Roles)
Optimize Process Performance(from Use Case View)
RUP Project Manager(from RUP Roles)
development case
<<communicate>>
<<training>>
<<training>>
<<training & experience>>
Business View
Business Analyst Lead(from Project Management Team)
RUP Business Designer(from RUP Roles)
RUP Requirements Specifier(from RUP Roles)
RUP Tester(from RUP Roles)
RUP Business Process Analyst
(from RUP Roles)
Optimize Business Value(from Use Case View)
RUP Systems Analyst(from RUP Roles)
Optimize System Value(from Use Case View)
RUP Test Analyst(from RUP Roles)
RUP Test Designer
(from RUP Roles)
Optimize System Quality(from Use Case View)
RUP User Interface Designer(from RUP Roles)
Optimize User Experience(from Use Case View)
RUP Designer(from RUP Roles)
Optimize Application Architecture(from Use Case View)
Optimize Architecture for Business(from Use Case View)
Preliminary DesignerBusiness Analyst
<<training>>
<<training>>
Business Architect
<<training & experience>>
architecture
<<communicate>>
vision
<<communicate>>
<<training>>
<<training>>
<<training>> <<training>>
<<training>>
<<training>>
<<training>>
<<training>>
Developer Lead(from Project Management Team)
RUP Test Designer(from RUP Roles)
Optimize System Quality(from Use Case View)
Optimize Implementation(from Use Case View)
RUP Implementor(from RUP Roles)
RUP Designer(from RUP Roles)
design model
<<communicate>>
Optimize Application Architecture(from Use Case View)
Optimize Technical Architecture(from Use Case View)
Technical Developer
<<training>>
<<training>><<training>>
RUP Software Architect(from RUP Roles)
<<training & experience>>
architecture
<<communicate>>
Technical View
Now, Discover Your Strengthsachiever, activator, adaptability,
analytical, arranger, belief, command, communication, competition,
connectedness, context, deliberative, developer, discipline, empathy,
fairness, focus, futuristic, harmony, ideation, inclusiveness,
individualization, input, intellection, learner, maximizer, positivity, relator,
responsibility, restorative, self-assurance, significance, strategic, woo
Now, Discover Your Strengths
futuristicstrategic
maximizeradaptability
ideation
Optimize Developm
ent Process
Optimize System Value
Optimize Applicatio
n Architectu
re
Optimize Process
Performance
Optimize Implementat
ion
Optimize Technical Architectu
re
Optimize System Quality
Optimize Business
Value
At the core, I believe Agile Methodologists are really about "mushy" stuff… about
delivering good products to customers by operating in an environment that does more
than talk about "people as our most important asset" but actually "acts" as if
people were the most important, and lose the word "asset".
Do the Mushy Stuff!
Corporate Culture Agile Principles Best Practices of RUP
Custom Agile RUP Process Focus on the RUP Essentials Manage RUP phases with Scrum Give People the ability to achieve goals
using their own unique set of strengths
Optimization Goals
Optimize Business Value and Optimize System Value
Agile Principle: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Agile Principle: Business people and developers must work together daily throughout the project.
Agile Principle: Simplicity--the art of maximizing the amount of work not done--is essential.
Agile Principle: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
RUP Best Practice: Manage Requirements
Optimize Process Performance Agile Principle: Deliver working
software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Agile Principle: Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Agile Principle: Working software is the primary measure of progress.
RUP Best Practice: Develop Iteratively
Optimize Development ProcessAgile Principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Agile Principle: The best architectures, requirements, and designs emerge from self-organizing teams. Agile Principle: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Agile Principle: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Scrum Scrum is a simple framework used to organize teams and
get work done more productively with higher quality. It allows teams to choose the amount of work to be done and decide how best to do it, thereby providing a more enjoyable and productive working environment.
Scrum focuses on prioritizing work based on business value, improving the usefulness of what is delivered, and increasing revenue, particularly early revenue.
Designed to adapt to changing requirements during the development process at short, regular intervals, Scrum allows teams to prioritize customer requirements and adapt the work product in real time to customer needs. By doing this, Scrum provides what the customer wants at the time of delivery (improving customer satisfaction) while eliminating waste (work that is not highly valued by the customer).
http://www.scrumalliance.org/
Scrum Roles
Product owner: responsible for the business value of the project
ScrumMaster: ensures that the team is functional and productive
Team: self-organizes to get the work done
Scrum Ceremonies
Sprint planning: the team meets with the product owner to choose a set of work to deliver during a sprint
Daily scrum: the team meets each day to share struggles and progress
Sprint reviews: the team demonstrates to the product owner what it has completed during the sprint
Sprint retrospectives: the team looks for ways to improve the product and the process.
Scrum Deliverables
Product backlog: prioritized list of desired project outcomes/features
Sprint backlog: set of work from the product backlog that the team agrees to complete in a sprint, broken into tasks
Burndown chart: at-a-glance look at the work remaining (can have two charts: one for the sprint and one for the overall project)
Product Backlog
Sprint Backlog
Burndown Chart
The Scrum Framework
Spri
nt
Plan
ning
Daily Scrum
Spri
nt
Revi
ew Spri
nt
Retr
ospe
ctiv
e
Develop a VisionThe Team supports the Product Owner as they define the features of the product or desired outcomes of the project.
Manage to the PlanThe ScrumMaster ensures that the process is followed, including issuing invitations to daily scrums, sprint reviews, and sprint planning.
Mitigate Risks and Track Related Issues
The ScrumMaster removes barriers and shields the team from external interferences
.
Design a Component Architecture
Agile Principle: Continuous attention to technical excellence and good design enhances agility.
RUP Best Practice: Model Visually
RUP Best Practice: Use Component Architectures
Incrementally Build & Test the Product
Regularly Assess Results
Manage and Control Changes
Deploy a Usable Product
Adopt a Process that Fits Your Project
Agile Principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Agile Principle: The best architectures, requirements, and designs emerge from self-organizing teams.
Agile Principle: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Agile Principle: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Adopt a Process that Fits Your Project People
Agile Principle: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Agile Principle: The best architectures, requirements, and designs emerge from self-organizing teams.
Agile Principle: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Agile Principle: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Optimize the process with the strengths of the actors!
Sprint Planning
For this sprint:1) I will use my analytical
strength to Optimize System Quality by taking ownership of the test tasks
2) I will use my command strength to Optimize Application Architecture by confronting those who do not follow the selected architectural patterns
3) I will use my input strength to Optimize Implementation by noting the various styles being used in the application code
Sprint Retrospective
I met my Goal! 1 – strongly agree 2 – agree 3 – neutral 4 – disagree 5 – strongly disagree
Reasons for ratings of 3, 2, and 1 lack of skill (e.g. tried but
didn't do as well as expected)
lack of opportunity (e.g. no tasks available)
lack of time (e.g. other tasks took priority or PTO)
People First; Process Second Every team member has distinct strengths Every team member is unique - no single
person has quite the same configuration of strengths as somebody else
Every team member will be productive, creative, focused, generous and resilient when they figure out how to play to their strengths most of the time.
And when you do; your customers, colleagues, company, and you will win.
Everyone will win. Adapted from Go Put Your Strengths to Work by Marcus Buckingham
The ScrumMasterPotential ScrumMaster
Strengths:achiever, activator,
adaptability, analytical, arranger, belief,
command, communication,
competition, connectedness, context, deliberative, developer,
discipline, empathy, fairness, focus, futuristic,
harmony, ideation, inclusiveness,
individualization, input, intellection, learner,
maximizer, positivity, relator, responsibility,
restorative, self-assurance, significance,
strategic, woo