it project management and scrum, part i
TRANSCRIPT
IT project management and Scrum, Agnius Paradnikas
Page 1
IT PROJECT MANAGEMENT AND SCRUM, PART I
Agnius Paradnikas
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
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
IT project management and Scrum, Agnius Paradnikas
Page 4
Picture by Roger Do Minh 2007 | http://www.flickr.com/photos/hitchica/719072170/
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
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/
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
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)
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/
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.
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
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)
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
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
IT project management and Scrum, Agnius Paradnikas
Page 15
Picture by Steve McConnell, “Rapid Development” (page 11)
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
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/
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
IT project management and Scrum, Agnius Paradnikas
CLASSIC MISTAKES
Page 19
Picture by World Usability Day | http://www.worldusabilityday.org/
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
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
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)
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
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
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
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
IT project management and Scrum, Agnius Paradnikas
AGILE
Page 27
Picture by Scott Adams | http://www.dilbert.com
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
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
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
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
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
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
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
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
IT project management and Scrum, Agnius Paradnikas
Page 36