1 / 38

Classic Mistakes and Critical Success Factors

Classic Mistakes and Critical Success Factors. Outline. Classic Software Engineering Mistakes 2 case studies of Agile projects that failed Common Mistakes in Agile Projects Critical Success Factors for Agile Projects. Classic Mistakes. IT Project Management: Infamous

ismaela
Download Presentation

Classic Mistakes and Critical Success Factors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Classic Mistakes and Critical Success Factors

  2. Outline Classic Software Engineering Mistakes 2 case studies of Agile projects that failed Common Mistakes in Agile Projects Critical Success Factors for Agile Projects

  3. Classic Mistakes IT Project Management: Infamous failures, Classic mistakes, and best practices MIS Quarterly 2007, R. Ryan Nelson

  4. Classic Mistakes People Process Product Technology

  5. Classic Mistakes : People Undermined motivation Individual capabilities of the team members Failure to take action to deal with a problem employee Adding people to a late project

  6. Classic Mistakes : Process • Waste time on fuzzy front end, approval and budgeting, aggressive schedule later • human tendency to underestimate and produce overly optimistic schedules • Insufficient risk management • lack of sponsorship, changes in stakeholder commitment, scope creep, and contractor failure. • Risks from outsourcing and offshoring • QA, interfaces, unstable requirements

  7. Classic Mistakes : Product • Requirements gold-plating • unnecessary product size and/or characteristics • Developer gold-plating • Developers try out new technology / features • Feature creep • +/- 25% change in requirements over lifetime

  8. Classic Mistakes : Technology • Silver-bullet syndrome • Expect new technology to solve all problems • 4GL, CASE tools, OOD • Overestimated savings from new tools or methods • Did not account for learning curve and unknown unknowns • Switching tools in the middle of a project • Version upgrade

  9. Findings from empirical Study – 99 projects • Finding 1 • People (43%), Process (45%), Product (8%), Technology (4%) • Scope creep • Not a top 10, although ¼ of the projects faced scope creep and manager should watch out for it. • Top 3 mistakes found in ½ of the projects • Should have focused more on estimation, scheduling, stakeholders management, risk management

  10. Classic Mistakes vs Best Practices

  11. Common mistakes in Agile adoption Big-Bang Change or Training is enough https://dzone.com/articles/5-common-mistakes-in-agile-transformations

  12. Outline Classic Software Engineering Mistakes 2 case studies of Agile projects that failed Common Mistakes in Agile Projects Critical Success Factors for Agile Projects

  13. Case 1: Kanban Weakspot • Presumption: • “Kanban failures, it can be boiled down to people” • ineffectiveness to the system, not to the people • You can find potential Kanban weak spot on Kanban board http://blog.brodzinski.com/2011/10/when-kanban-fails.html

  14. Kanban Board diagnosis • Not keeping the board up to date • doesn’t reflect the reality and your team is making their everyday project decisions basing on a lie • E.g. bottleneck in testing but not shown on a Kanban board, a developer would decide to start building a new feature instead of helping to sort bottleneck out • Make it Worse, instead of Make it Work http://blog.brodzinski.com/2011/10/when-kanban-fails.html

  15. Kanban Board diagnosis • a board showing the way they’d like to work, and not the way they really work • not only making decisions basing on a lie again but it’s also more difficult to get things back on the right track again • not enough to update the sticky notes – you need to fix the design of the board too http://blog.brodzinski.com/2011/10/when-kanban-fails.html

  16. Kanban Board diagnosis • Forgetting about a good old rule: KISS • End up over-engineering the board, • New symbol, new color • bury important information under the pile of meaningless data • Soon, people aren’t able to tell what means what and which visual represent which situation. • Lost > stop to care  > back to square one http://blog.brodzinski.com/2011/10/when-kanban-fails.html

  17. Kanban Board diagnosis • Not treat “limit” seriously • Limit the “work-in-progress” • No new feature, if the flow is not good http://blog.brodzinski.com/2011/10/when-kanban-fails.html

  18. Not a project management tool • Kanban is not a project management tool, not a software process model, not a development approach • Kanban is a change-management approach • Or a process-driving tool • Use Kanban on top of other process model http://blog.brodzinski.com/2011/10/when-kanban-fails.html

  19. Case 2: Pair Programming or Chatting

  20. Case 2: Pair Programming or Chatting • Common things in Pair Programming environment • Open Space • One Monitor • One keyboard • Discussion • Coffee !! http://www.nayima.be/html/chattingorpairprogramming.pdf

  21. Pair Programming http://www.codinghorror.com/blog/2007/11/pair-programming-vs-code-reviews.html • Challenges • Not for everyone • Split Focus • No pride in ownership • No escape • Need a good chemistry / compatible pair • fivefold variation in programmer productivity, there is at least a fivefold variation in my own productivity from day to day http://tersesystems.com/2010/12/30/where-pair-programming-fails-for-me

  22. Some ways to fail PP • Researching new technology • “Click on that link, no wait scroll up, over there, wait I wasn’t done reading that…” • Getting your environment going • When the environment (compiled source code, people, infrastructure) is not ready, no productivity  • Paralysis • Style clashes, not comfortable writing something • Need TDD • Objective for each session • Weird rituals • Timer, Music http://www.agileatwork.com/5-ways-to-fail-at-pair-programming-2/

  23. Outline Classic Software Engineering Mistakes 2 case studies of Agile projects that failed Common Mistakes in Agile Projects Critical Success Factors for Agile Projects

  24. Common mistakes in Agile adoption • Big-Bang Change • What to do: • Pilot project • Start with a tiger team, then cross pollination • Start small • Having an in-house Agile Coach or Process Coach

  25. Common mistakes in Agile adoption • Thinking your transformation is done • There is no “best practice”, no “silver bullet” • You won’t get it right at the first time • Use Sprint Review for Product Improvement • Use Sprint Retrospective for Process Improvement • Inspect and Adapt

  26. Common mistakes in Agile adoption • Inappropriate Backlog Management • Un-Ready Product Backlog • Use “Definition of Ready” • Add new backlog item mid-sprint • Wait for the next train

  27. Common mistakes in Agile adoption • Stakeholders are not committed • Product Owner is not available / not involved • Product Owner handles too many teams • Consider using a Product Manager • Scrum Master is not the project manager • Not command and control, but empower the team • No customer representatives / Business people • Find a proxy • Not involve supporting team • Contract, HR, testers

  28. Common mistakes in Agile adoption • Poor communication • No transparency • Geographically dispersed • Not raising issues fast enough • What to do: • Set up a team area • Encourage face-to-face communication

  29. Common mistakes in Agile adoption • Team management • Not a cross-functional team • High turnover • Working on multiple projects at a time • Team is not empowered : waiting for decision

  30. Common mistakes in Agile adoption • Ignoring Quality • Not tracking or mitigating Technical Debt • No code refactoring • No peer review • Skip demo or duck-taping the demo • Skip Definition of Done • Give up Test Coverage

  31. Common mistakes in Agile adoption • Use wrong metrics, • SLOC count • Make sure to look at both production SLOC and Test SLOC • Number of unit tests written • Measure by working code, not tests • Individual velocity or compare velocity between teams • Team, not individual • Compare same team but different sprints • Useful metrics: Value delivered, on time delivery, burn down / burn-up, cumulative flow diagram • Use metrics wrong • Use metrics as a target, as a measure of performance • Link metrics to goals, look at trends, change as appropriate

  32. Outline Classic Software Engineering Mistakes 2 case studies of Agile projects that failed Common Mistakes in Agile Projects Critical Success Factors for Agile Projects

  33. Critical Success Factors for Agile adoption • Stakeholder commitment • Leadership support, middle management support • Hire Agile coach • Customer Involvement (including HR, finance, etc) • Appropriate metrics • Quality and quantity • Appropriate Organizational structure • Start with a pilot project • People and Organizational preparation • Understand the risks

  34. Critical Success Factors for Agile adoption • Process tailoring • No one size fits all • Fixed timebox • Quick turnaround time • Team composition • Knowledge, experience, and mindset • Multi-disciplinary • Requirements management • Continuous backlog grooming • Factor in / Bake in all –ilities • as acceptance criteria or Definition of Done

  35. Critical Success Factors for Agile adoption • Embrace Software Engineering practices • Clean code, coding standards • Continuous development, integration, and testing • Continuous Improvement • Education and Training • Shared knowledge • Empower the team • Self- organizing, highly motivated • Bottom up approach

  36. Critical Success Factors for Agile adoption • Tools and infrastructure • Co-located office • Tools that support collaboration and communication • System Complexity • Contracting language • Value-based system • Number of contractor • Requirements decomposability • System Scope

  37. References IT Project Management: Infamous Failures, Classic Mistakes, and Best Practices https://www.knowledgehut.com/blog/agile-management/five-common-mistakes-in-agile https://hygger.io/blog/7-worst-mistakes-that-blow-up-your-agile-projects/ https://dzone.com/articles/5-common-mistakes-in-agile-transformations https://www.infoq.com/articles/not-destroy-team-metrics https://martinfowler.com/articles/useOfMetrics.html https://dzone.com/articles/10-common-scrum-mistakes-and-how-to-avoid-them https://help.rallydev.com/top-10-mistakes-teams https://www.credera.com/blog/business-insights/top-pitfalls-agile-development/

More Related