400 likes | 534 Views
by salt-productions. People First; Process Second. Agenda. RUP Agile Practices Scrum Putting it all together with & for People. The Rational Unified Process. RUP Best Practices. 1. . RUP Essentials. Vision —Develop a Vision Plan —Manage to the Plan
E N D
by salt-productions People First; Process Second
Agenda • RUP • Agile Practices • Scrum • Putting it all together with & for People
1. 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
RUP Roles RUP 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.
Now, Discover Your 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
Now, Discover Your Strengths Optimize Business Value futuristic strategic maximizer adaptability ideation Optimize Development Process Optimize Process Performance Optimize Implementation Optimize Technical Architecture Optimize System Value Optimize Application Architecture Optimize System Quality
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 Process 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.
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)
The Scrum Framework Daily Scrum Sprint Retrospective Sprint Planning Sprint Review
Develop a Vision The Team supports the Product Owner as they define the features of the product or desired outcomes of the project.
Manage to the Plan The 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
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: • I will use my analytical strength to Optimize System Quality by taking ownership of the test tasks • I will use my command strength to Optimize Application Architecture by confronting those who do not follow the selected architectural patterns • 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 youdo; your customers, colleagues, company, and you will win. • Everyone will win. Adapted from Go Put Your Strengths to Work by Marcus Buckingham
The ScrumMaster Potential 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