IT Project Management and Scrum, part I

36
IT project management and Scrum, Agnius Paradnikas Page 1 IT PROJECT MANAGEMENT AND SCRUM, PART I Agnius Paradnikas

Transcript of IT Project Management and Scrum, part I

Page 1: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Page 1

IT PROJECT MANAGEMENT AND SCRUM, PART I

Agnius Paradnikas

Page 2: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Page 2

Who am I?

Agnius Paradnikas

• Senior .NET developer at Visma Lietuva.

• Mostly working on web and mobile applications.

• Agile fan.

• Glider pilot.

• @Agnius101

• www.notReallyCode.com

Page 3: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Table of Contents

PART I, IT PROJECT MANAGEMENT

• Complexity of software development projects

• Classic mistakes

• What is Agile?

PART II, SCRUM

• My experience before and after Scrum

• Scrum

• Basics

• Artifacts

• Meetings

• Definition of Done

• Estimation

Page 3

Page 4: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Page 4

Picture by Roger Do Minh 2007 | http://www.flickr.com/photos/hitchica/719072170/

Page 5: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

4 dimensions

Page 5

• Great influence to speed, quality and

price

• Each dimension is tightly related

• People – most important, but you

should focus on all at the same time

• Product – the outcome of team work

• Technology – programming language,

architecture, tools, practices

• Process – the way team works

• Environment – great influence, no

control on it

Picture by Steve McConnell, “Rapid Development” (page 11)

Environment

Page 6: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

SOFTWARE DEVELOPMENT IS COMPLICATED

Page 6

Picture by Jet Propulsion Laboratory 2012 | http://mars.jpl.nasa.gov/msl/

Page 7: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Product: Domain complexity

• In my 7 year career I worked on 7 different domains.

• Examples of domains: medical devices, motion picture special effects, biometric identification, military fighter planes, GIS, commercial airliners, drug development, warehouse management, banking, finance, oil and gas exploration, forestry, car production, cell phones, retail companies, fire safety, smart houses, electric cars, container-ship management, fishing solutions, elderly people care, etc.

Page 7

Page 8: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Product: Unclear requirements

• You’ll never know what customer wants until the product is completely done.

Page 8

Picture by Steve McConnell, “Rapid Development” (page 166)

Page 9: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Product: Software is intangible

• Hard to track progress.

• Hard perceive quality.

• Unclear scope.

Page 9

Picture by Karin Dalziel 2007 | http://www.flickr.com/photos/nirak/644335254/

Page 10: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Technology: Huge variety

Page 10

Picture by Wenger | http://www.wengerna.com/giant-knife-16999

• Programming languages: C#, Java, C++, C, PHP, Python, Ruby, F#, Clojure, JavaScript, Visual Basic, Perl, etc.

• Frameworks: .NET, ASP.NET MVC, Java, Spring, Zend, Django, Ruby on Rails, etc.

• Platforms: Azure, node.js, Android,iOS, Windows Phone, etc.

• Tools: IDEs, compilers,collaboration, test, etc.

• Practices: TDD, BDD, Refactoring, Mobile first,Continuous integration, etc.

Page 11: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Technology: Rapidly changes

• Technology moves very quickly.

• Hard to predict.

• Cloud - no need for hardware infrastructure.

• Software as a Service (SaaS).

• NoSQL.

• JavaScript starts to rule (node.js, meteor.js, Windows 8 apps, etc).

• Mobile first.

• Cross-platform mobile development.

• Responsive Web Design.

Page 11

Page 12: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

People: Communication

Page 12

• Becomes complicated as team grows.

• Essential to sync everyone’s activities.

• <9 need to switch to written documents & formal communication.

Picture by Steve McConnell, “Rapid Development” (page 312)

Page 13: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

People: Motivation

• Critical factor in development speed.

• Hard to grow motivation, easy to destroy.

• If you trying to motivate developer the same way as project manager – you will fail.

• Top motivators for developers: Achievement, Possibility for growth, Work itself, Personal life, Technical supervision opportunity.

Page 13

Page 14: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

People: Productivity

• Developer can be 10x productive than peers.

• Technology and Process may increase productivity drastically.

• Unnecessary meetings kills productivity.

Page 14

Page 15: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Page 15

Picture by Steve McConnell, “Rapid Development” (page 11)

Page 16: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Process

• How to make synergy out of chaos?

• Which communication model suits us most?

• Who is responsible for what?

• Who is doing what?

• What is the progress of our work?

• When we will finish?

• How to control quality?

• How to distribute tasks?

• How to avoid overtime at the end of the project?

• What we need to document?

• How we get requirements?

• What are our priorities?

Page 16

Page 17: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Waterfall: Grandfather of all processes

• First formal software development process published on 1970.

• Originated from manufacturing and construction industries.

• False assumption that requirements doesn’t change through whole lifecycle.

Page 17

Picture by Jim Rising | http://www.managedmayhem.com/2009/05/06/sashimi-waterfall-software-development-process/

Page 18: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Environment

Page 18

• Great impact.

• Unpredictable.

• Throw away product or

adapt.

Picture by Steve McConnell, “Rapid Development” (page 11)

Environment

Page 19: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

CLASSIC MISTAKES

Page 19

Picture by World Usability Day | http://www.worldusabilityday.org/

Page 20: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: People

• Incompetence or wrong competence.

• Unrealistic expectations.

• Adding people to a late project.

• Wishful thinking.

• Undermined motivation.

• Heroics.

• Noisy, crowded offices.

Page 20

Page 21: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: Product

• Unclear requirements.

• Lack of user input (65% of functionality is almost never used).

• Feature creep.

• Unclear project vision.

• Confusing estimates with targets.

• Shortchanged quality assurance.

• Bug-fixing at the end of project.

Page 21

Page 22: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: Product

Bug-fixing at the end of project

Page 22

Picture by Steve McConnell, “Rapid Development” (page 75)

Page 23: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: Process

• Working according waterfall.

• Overly optimistic schedule.

• Too much documentation.

• Roles are not defined.

• Faked deadlines.

• Excessive multi-tasking.

• Insufficient risk management.

• Abandonment planning under pressure.

Page 23

Page 24: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: Technology

• Overengineering.

• Silver-bullet syndrome.

• Using unstable technologies.

• Using outdated technologies.

• Strongly coupled architecture.

Page 24

Page 25: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: Top 10

• Survey conducted on 2007 by Construx Software (Steve McConnell).

• Slightly >500 survey respondents.

Page 25

Page 26: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Classic mistakes: Top 10

Page 26

Survey results by Construx Software | http://www.construx.com/File.ashx?cid=2389

Page 27: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

AGILE

Page 27

Picture by Scott Adams | http://www.dilbert.com

Page 28: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Agile

Page 28

www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it.

Feb 11-13, 2001

Snowbird ski resort, Utah

Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon Jeffries

Jon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas

Picture from Vaidas Adomauskas slides | http://www.slideshare.net/vaidasa/agile-and-agile-methods-what-is-the-most-important-to-understand-to-succeed

Page 29: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Agile

Agile manifesto 4 main principles:• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

Page 29

Page 30: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Agile

Twelve Principles of Agile Software• Our highest priority is to satisfy the customer through early

and continuous delivery of valuable software.

• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

• Business people and developers must work together daily throughout the project.

Page 30

Page 31: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Agile

Twelve Principles of Agile Software• Build projects around motivated individuals. Give them the

environment and support they need, and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

• Working software is the primary measure of progress.

• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Page 31

Page 32: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Agile

Twelve Principles of Agile Software• Continuous attention to technical excellence and good design

enhances agility.

• Simplicity--the art of maximizing the amount of work not done--is essential.

• The best architectures, requirements, and designs emerge from self-organizing teams.

• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 32

Page 33: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Page 33

Agile

Lean

XP Scrum Crystal

Kanban

AUP

DSDMFDD

...Picture from Vaidas Adomauskas slides | http://www.slideshare.net/vaidasa/agile-and-agile-methods-what-is-the-most-important-to-understand-to-succeed

Page 34: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Further reading

• Rapid Development: Taming Wild Software Schedules - Steve McConnell

• The Mythical Man-Month: Essays on Software Engineering - Frederick P. Brooks

• Leading Lean Software Development: Results Are not the Point - Mary Poppendieck, Tom Poppendieck

Page 34

Page 35: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Further reading

• Technology radar by ThougthWorkshttp://www.thoughtworks.com/insights

• A Practical Guide to Seven Agile Methodologieshttp://www.devx.com/architect/Article/32836

• Vaidas Adomauskas slides on SlideSharehttp://www.slideshare.net/vaidasa/presentations

• Agile day in Lithuaniahttp://www.agilediena.lt/

Page 35

Page 36: IT Project Management and Scrum, part I

IT project management and Scrum, Agnius Paradnikas

Page 36