Best of AgileSeptember 2024

  1. 1
    Article
    Avatar of bytebytegoByteByteGo·2y

    EP130: Design a System Like YouTube

    QA Wolf provides an AI-native approach to automate end-to-end testing, allowing teams to achieve rapid QA cycles and high test coverage. The post also covers various Software Development Life Cycle (SDLC) models such as Waterfall, Agile, V-Model, and others. It includes a detailed process for designing a system similar to YouTube, highlighting steps like video upload, transcoding, and content delivery through a CDN.

  2. 2
    Article
    Avatar of workchroniclesWork Chronicles·2y

    (comic) We are agile

    Comic series about work life, focusing on agile methodology. Brought to you by Work Chronicles, where comics are created with love and coffee.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    Good software development habits

    Forming good software development habits can significantly enhance speed and maintain quality. Key practices include making small commits, continuous refactoring, prioritizing working software, creating new modules for disparate functions, and focusing on test-driven development (TDD) to anticipate edge cases. Avoid duplications, accept that designs evolve, and understand different types of technical debt. Lastly, ensure that testability is a priority to indicate good design.

  4. 4
    Article
    Avatar of swizecswizec.com·2y

    Why software projects fail

    Flyvbjerg and Gardner's book 'How Big Things Get Done' explores why large projects often fail, citing themes like maximizing over satisficing, slow iteration, invention instead of reuse, scope creep, and overloading work in progress. Effective project management requires finishing work forcefully, avoiding unnecessary cleanups, opting for good-enough solutions, and embracing iterative planning.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    Unrealistic Deadlines In Software Engineering

    When engineers face unrealistic deadlines, they often have to cut corners, leading to bugs, crashes, and technical debt. This pressure is usually overlooked by management, putting blame on engineers when things inevitably go wrong. To handle this, engineers should set clear expectations, break projects into phases, and push back against impractical timelines when necessary. Effective communication about risks and thorough documentation can help mitigate these issues.

  6. 6
    Article
    Avatar of hnHacker News·2y

    Why Scrum is Stressing You Out

    Modern programming has become significantly more stressful compared to the 90s and early 2000s, particularly due to the adoption of sprint-based approaches like Scrum. Issues include the continuous nature of sprints, lack of autonomy, and insufficient preparation time before tasks. These factors contribute to a constant medium-level stress that is more harmful in the long run. Sustainable changes are needed to restore developer autonomy, professionalism, and reduce stress.

  7. 7
    Article
    Avatar of gcgitconnected·2y

    5 Engineering Management Philosophies I Have Found Helpful

    The post discusses five key philosophies that have helped the author in managing engineering teams effectively. These include identifying the limiting step in projects, valuing early effort in the project lifecycle, treating milestones as opportunities for demos, motivating and training the team, and providing prompt, specific feedback on high-leverage activities. The author emphasizes planning around critical project steps, early-stage decision-making, clear progress updates, balancing hands-on training with empowerment, and the importance of quick feedback on essential tasks.

  8. 8
    Article
    Avatar of lobstersLobsters·2y

    Goodhart's Law in Software Engineering

    Goodhart's Law highlights how metrics in software engineering can become counterproductive when they turn into targets. The law's weak version suggests that people may manipulate metrics, while the strong version warns that even honest pursuit of these metrics can be detrimental. Examples in engineering include using test coverage as a proxy for thorough testing and lines of code for productivity. The solution is elusive, but combining multiple metrics and using best engineering judgment may help mitigate the effects.

  9. 9
    Article
    Avatar of mountaingoatsoftwareThe Mountain Goat Software·2y

    The Surprising Effects of Poor Planning in Project Management

    Poor project planning can severely impact team credibility, leading to consistent delays and unmet expectations. Credibility issues can result in stakeholders not trusting the team's estimates, which can further worsen planning and execution. Instead of padding plans, teams should focus on understanding why their plans are consistently inaccurate and adopt techniques like unpacking to improve estimates. Addressing unknown backlog and emergent requirements is also crucial for better planning and predictability.