Professional Documents
Culture Documents
Scrum
Agile Unified Process(AUP)
Extreme Programming - XP
For small-to-medium-sized teams developing software with vague or rapidly changing requirements Coding is the key activity throughout a software project Communication among teammates is done with code Life cycle and behavior of complex objects defined in test cases again in code
Release
sof t w are increment proj ect v elocit y comput ed
unit t est cont inuous int egrat ion accept ance t est ing
XP Planning
Begins with the creation of user stories Agile team assesses each story and assigns a cost Stories are increment grouped to for a deliverable
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 solutionsa design prototype
Encourages refactoringan iterative refinement of the internal program design
CRC Cards
Class: Class: Descri p tion: Class: Descri p tion: FloorPlan Class: Descrip tion: Responsibility: Descrip tion: Responsibility: Responsibility: Responsibility:
defines floor plan name/type manages floor plan positio ning scales f lo or plan for display scales f lo or plan for display incorporates w alls , doors and w indow s show s position of video cameras Wall Camera
XP Coding
Recommends the construction of a unit test for a store before coding commences
Yielding
smoke testing helps to uncover errors early
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
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
1.
2.
Develop an overall model Produce class and sequence diagrams from chief architect meeting with domain experts and developers.
Build a features list Identify all the features that support requirements. The features are functionally decomposed into Business Activities steps within Subject Areas.
Features are functions that can be developed in two weeks and expressed in client terms with the template: <action> <result> <object> i.e. Calculate the total of a sale
3. 4. 5.
Plan by feature -- the development staff plans the development sequence of features Design by feature -- the team produces sequence diagrams for the selected features Build by feature the team writes and tests the code http://www.nebulon.com/articles/index.html
Verification: Conditions which clarify if the process has been completed successfully
3.Plan By Feature
4.Design By Feature
5.Build By Feature
Verification
Self Assessment of Modeling Team Members
Source: Palmer, SR., Felsing , JM.2002,p.135
Exit criteria
Tasks To achieve development sequence Verification A self-assessment Exit criteria Business activities with Completion dates..
Planning process has completed. Tasks CP, Work Package, Feature Team, Sequence diagram, Update the Object Model. (Next slide) Verification Design inspection is made. Exit criteria Sequence diagram(s).
Continued (6/8)
AUP (
Model
Implementation
Test Deployment Configuration Management
Project Management
Environment
Phases
Disciplines Philosophies
Releases
Disciplines
Model
Implementation
Test
Disciplines
Deployment
Configuration Management
Project management
Disciplines
Environment
Releases
SCRUM
Product Owner
Develops and maintains the Product Backlog Prioritizes the Product Backlog Empowered to make decisions for all customers and users Presents and explains Product Backlog to team Scrum Team
Self-organizing Business and technical skills to build an increment of functionality Responsible for estimating and committing to work Full autonomy and authority during a Sprint
ScrumMaster
Responsible for the process Responsible for maximizing team productivity Sets up and conducts meetings Representative to management and team Characteristics of a border collie or sheepdog
Sprints
Scrum projects make progress in a series of sprints
Analogous to XP iterations
+/- a week or two
But, a constant duration leads to a better rhythm
Change
Inputs
Sprint
Tested Code
Plan sprint durations around how long you can commit to keeping change out of the sprint
Scrum Framework
Roles : Product Owner, ScrumMaster, Team
Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting
Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart
Product Owner
Define the features of the product
Ceremonies
Sprint Planning Meeting
Sprint
Daily Scrum Sprint Review Meeting
Sprint Planning
Business Conditions Technology Current Product
Meeting
Sprint Backlog
2nd Part:
Pre-Project/Kickoff Meeting
A special form of Sprint Planning Meeting
Sprint
A month-long iteration, during which is incremented a product functionality
NO outside influence can interfere with the Scrum team during the Sprint
Each Sprint begins with the Daily Scrum Meeting
Three questions:
1. What did you do yesterday 2. What will you do today? 3. What obstacles are in your way?
Daily Scrum
Is NOT a problem solving session
Participants
Customers Management Product Owner Other engineers
Feedback meeting
Three questions Start Stop
Continue
Product Backlog
A list of all desired work on the project
Usually a combination of
story-based work (let user search and replace) task-based work (improve exception handling)
Product Backlog
Requirements for a system, expressed as a prioritized list of Backlog Items
X-axis: sprints
Y-axis: amount of hours remaining The estimated work remaining can also burn up