Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing complex IT software projects

Thomas Keller
October 02, 2015

Managing complex IT software projects

I presented this talk a while back for a customer in Berlin. It gives you an overview where complexity is hidden inside software projects and how agile methodologies can help to remedy the situation.

Thomas Keller

October 02, 2015
Tweet

Other Decks in Business

Transcript

  1. MANAGING COMPLEX IT SOFTWARE PROJECTS Thomas Keller Agile Project Manager

    Mobile Software Engineer Mail: [email protected] Phone: +49 341 392 816 250
  2. AGENDA • What makes IT projects so complex? • How

    can the complexity be reduced? • How can Agile methodologies help? • Q & A 2
  3. COMPLEXITY • Unclear / unexpressed customer requirements • Lack of

    ownership (and leadership) • Over-specification and huge architectures • Under-estimation of impact 4
  4. 5

  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 25

  19. 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