Scrum Project Management with Jira as showcase
Transcript of Scrum Project Management with Jira as showcase
Project and Issue ManagementUsing JIRA
Javad ChamanaraFusion Group
University of Jena, GermanySWEP Course
May 2017
What is a Product?
• A (mainly) software program that satisfies a set of requirements, operates in an environment, and is offered for use (paid or free)
• If the product is not shipped, it can be categorized as a service.
What is a Project?
“a temporary endeavor undertaken to create a unique product, service or result.”
• Limited Duration
• Limited Resources
• Limited Cost
Take a look at PMBOK
Who is a Stakeholder?
• Anyone who could impact or be impacted by the project– decisions– outcomes– activities
• For example– Customers– Users– Developers– Marketers– Regulatory entities
How to Run a Project?
• Use Project Management
– Methods
– Tools
– Art
• To deliver quality product under constraints
– Cost (resources)
– Time
– Product scope
Agile Methods
• Agile Unified Process
• Dynamic Systems Development Method
• Essential Unified Process
• Extreme Programming
• Feature Driven Development
• Scrum
Product Backlog
Product
Item 10 Item 11 Item 12 Item 13
Item 1 Item 2 Item 3
Item 14
Item 4 Item 5 Item 6 Item 7
Item 8 Item 9
Product Backlog Item
• A package of “what” will be built.
– User story, use-case, user scenario, feature, etc.
– Requested by stakeholders
– Has/delivers a business value
• Has importance and effort attributes
• The backlog is prioritized by importance
Work Estimation
• Complexity: – Business complexity– Technical complexity– Testing complexity
• Effort: – the capabilities/ skillset of developers– Architectural (lack of) support– Technological factors
• Duration: – Inter-dependency– Resource availability
Work Item Estimation
• By effort needed to realize it
• By complexity of the item
• By virtual points (you decide)
– Sizes: S, M, L, XL
– Powers of 2: 1, 2, 4, 8, 16
– …
Estimated Work Items
Product
Item 10
Item 7 Item 8
Item 12
Item 1 Item 2 Item 3
Item 13Item 11
Item 14
Item 4 Item 5
Item 6
Item 9
Planning
• Define Milestones
– Times to deliver functioning product
• Divide the product backlog
– smaller chunks “Sprints”
• Define, schedule, and assign tasks
• Monitor progress
• Take corrective actions if needed
Product
Sprint
• Is an iteration• Works on a subset of the backlog items• Usually those who deliver the highest values
• Delivers a functioning product• An increment to the previous one• The delivery is measurable
• Has a duration• Usually 2-4 weeks• Depends upon team, architecture, change frequency, product
stability
• It’s a time box• Has an explicit and sharp start and end date• No change is introduced during the sprint
Sprint Backlog
Product
Item 10
Item 7
Item 8
Item 12
Item 1 Item 2Item 3
Item 13
Item 11
Item 14
Item 4 Item 5
Item 6
Item 9
SP1
SP2
SP3
SP4
Backlog Items, revisited!
• Defects– Lack of expected functionality– Wrong functionality– Defective interaction
• Change Requests– New Items– More detailed use-cases– Alteration of the existing ones
• Technological/Architectural difficulties– Performance– Security– Design and Refactoring
CR Planning
• CRs are of high priority
• Assign them to the nearest sprint
• But avoid “Tachycardia”
• Conduct especial “CR sprints”– To fix issues
– To stabilize product
• To reduce “issue to feature ratio”
• Perform alpha testing
Tasks and assignments
• Breakdown items to tasks– Various disciplines: design, implement, test,
document, …
– Varying granularity: Few hours to one day• Setting an upper bound is useful
– Force the team to understand and plan
• Setting a lower bound is also useful– Cost of over-specification and over-planning
• Notice effort Vs. duration
– Task estimation and re-estimation• According to sprint meeting intervals
• Management and monitoring needs
• Overhead of re-estimation
JIRA
• A project and issue mgmt. tool
• SaaS and on premise deployment
• Free and paid plans
• Web and mobile based
• Integrated with other tools
– Collaboration
– Source Control
– Wiki
Jira Live
• Show case
– https://javadch.atlassian.net
• Introductory video
– https://youtu.be/8KPoZ5g8NqU
So Now?
• Features are described
• Tasks are assigned
• Developers are ready
Start Producing Artifacts
Where to put the Artifacts?
• SCM: Software Configuration Management
• VCS: Version control system
– Revision Control System
But Why?
• Isolation– Keep some artifacts private– Isolate your changes– Isolate from others’ changes
• Integration– Receive others’ changes– Share your changes
• Identification– Versions– Releases
• Maintenance– Archive– Time travel
• Automation
Convinced?
Hmmm!?
• If you have ever:
– Made a change to code and realized it was a mistake
– Lost code or had a backup that was too old
– Had to maintain multiple versions of a product
– Wanted to see the difference between two versions of your code
– Wanted to prove that a particular change broke or fixed a piece of code
Hmmm!?
• If you have ever:– Wanted to review the history of some code
– Wanted to submit a change to someone else's code
– Wanted to share your code, or let other people work on your code
– Wanted to see what has been done, where, when, and by whom
– Wanted to experiment with a new feature without interfering with working code
OK, OK! What tools are there?
• Depends– Central Vs. Distributed– Hosted Vs. On Premise– Vendor Specific Vs. Open– Integrated Vs. Standalone– Access Control?– Price!
• Some Names– CVS– SVN– Git– TFS