Slide 1

Slide 1 text

MANAGING COMPLEX IT SOFTWARE PROJECTS Thomas Keller Agile Project Manager Mobile Software Engineer Mail: [email protected] Phone: +49 341 392 816 250

Slide 2

Slide 2 text

AGENDA • What makes IT projects so complex? • How can the complexity be reduced? • How can Agile methodologies help? • Q & A 2

Slide 3

Slide 3 text

COMPLEXITY

Slide 4

Slide 4 text

COMPLEXITY • Unclear / unexpressed customer requirements • Lack of ownership (and leadership) • Over-specification and huge architectures • Under-estimation of impact 4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

REDUCE COMPLEXITY! Customer relations • Setup contracts that support change • Let end users speak with your teams • Deliver early and often to your customers • Determine the MVP and build / optimize upon 6

Slide 7

Slide 7 text

REDUCE COMPLEXITY! Team setup • Create vertical teams around specific topics • Avoid man shuffling / shifting • Setup communities for horizontal knowledge transfer • Trust >> control, alignment >> chaos 7

Slide 8

Slide 8 text

EXCURSUS: ALIGNMENT & AUTONOMY 8

Slide 9

Slide 9 text

REDUCE COMPLEXITY! Tools and Technologies • Let teams pick the tools they’re familiar and comfortable with • Let teams find and use technologies that fit your use case • e.g. micro services vs. monolithic backend, cloud services vs. own backend infrastructure 9

Slide 10

Slide 10 text

REDUCE COMPLEXITY! Transparency • Make the scope and your decisions as transparent as you want the development process to be transparent • Cheer on success and on failure, because you learn from both • Take feedback cycles serious, on several levels • Improve continuously 10

Slide 11

Slide 11 text

REDUCE COMPLEXITY! Quality • Software quality is not an aftermath • Much complexity stems from technical debt • Empower teams to rigorously build quality software • Continuous Integration is a must for continuous delivery 11

Slide 12

Slide 12 text

EXCURSUS: SOFTWARE QUALITY Pick two! 12

Slide 13

Slide 13 text

13 EXCURSUS: SOFTWARE QUALITY Waterfall Agile

Slide 14

Slide 14 text

14 EXCURSUS: SOFTWARE QUALITY

Slide 15

Slide 15 text

AGILE METHODOLOGIES What does „Agile“ mean? - For me, to have… • High quality software, developed in short iterations • Motivated individuals that work in a trustful environment • Working practices of good software craftsmanship • Pragmatism and willingness to fail • Constant feedback loops and continuous improvement 15

Slide 16

Slide 16 text

AGILE METHODOLOGIES Scrum XP Lean Kanban … 16

Slide 17

Slide 17 text

AGILE METHODS: SCRUM • Work in sprints, have a PSPI after each • Defined meetings, defined roles, defined artifacts • Ideal for teams / companies new to Agile 17

Slide 18

Slide 18 text

AGILE METHODS: KANBAN • Shares mindset with Scrum, but more flexible (no iterations, no commitment, no enforced roles, no sizing restrictions, …) • Limits WIP to avoid overheating or „jams“ • Ideal for more experienced teams or continuous delivery processes 18

Slide 19

Slide 19 text

AGILE METHODS: XP • Predecessor of Scrum, software-centric • Source of many best practices like e.g. Pair Programming, TDD, Continuous Integration, Collective Code Ownership, Refactoring, Coding standards, Release early and often

Slide 20

Slide 20 text

AGILE METHODS: LEAN • Identify customers and value • Identify how to deliver value • Reduce waste, optimize rigorously • Fulfill customer demand • Aim for perfection => Agile on company level! 20

Slide 21

Slide 21 text

AGILE METHODOLOGIES So, which should we choose? The short answer: It depends… The slightly longer answer: Start with a well-defined framework, then adapt and break the rules! 21

Slide 22

Slide 22 text

EXCURSUS: AGILE FLUENCY • A model to determine how „fluent“ you are doing agile (fluent as in „fluently speaking“), i.e. how fluent your team reacts under pressure • Four levels, each with new benefits, but also new adoption challenges • Find the level for your company that fits your need (and matches the investment you can afford) 22

Slide 23

Slide 23 text

EXCURSUS: 
 AGILE FLUENCY 23

Slide 24

Slide 24 text

WRAP UP • Solve big problems by breaking them down into smaller ones • Invest and trust in your people • Keep it simple and start to automate • Measure, survey, test - take nothing for granted! 24

Slide 25

Slide 25 text

25

Slide 26

Slide 26 text

„Thanks for the fish!“ Q & A 26

Slide 27

Slide 27 text

Image resources: • http://geekandpoke.typepad.com/geekandpoke/2012/01/simply-explained-dp.html • http://blog.crisp.se/wp-content/uploads/2014/03/unproject.pdf • https://www.appnovation.com/blog/fixed-vs-estimated-understanding-methodology-triangles • http://geekandpoke.typepad.com/geekandpoke/2011/10/green-it-part-2.html • http://www.agileconnection.com/article/what-does-it-mean-have-agile-mindset • http://www.zenexmachina.com/assets/themes/zxm/images/page-artefacts/scrum-process-01.png • http://leankit.com/kanban/kanban-board/simple-physical-board-w-card-types-e87dbe30.png • http://oanasagile.blogspot.de/2013/11/test-driven-business-for-lean-startup.html • http://martinfowler.com/articles/agileFluency.html 27