Best of Project ManagementSeptember 2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    Beginner’s Guide to Freelancing

    Learn the key steps to start a successful freelancing career in software engineering, from finding clients through your network and briefly exploring online platforms, to effective negotiating tactics, understanding basic legal arrangements, and mastering project management techniques. Discover a newly developed tool, Founders Kit, to streamline your freelancing operations.

  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

    Top Open Source Projects That Improve Your Coding Skills

    Open source projects have revolutionized technology, providing tools and platforms for innovative solutions. Highlighted are impactful projects in Python, Java, project management, GitHub, C++, and JavaScript. Featured projects include Django, Flask, Pandas, Spring Framework, Apache Tomcat, Redmine, OpenProject, React, and Node.js, amongst others. Contributing to open source is encouraged with tips on finding and understanding projects, setting up environments, and community engagement.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    The Art of Finishing

    The piece discusses the common struggle of developers facing numerous unfinished projects and introduces the concept of the 'Hydra Project Effect', where new challenges emerge for every resolved issue. It explores why many developers start multiple projects but fail to finish them, emphasizing the allure of potential and the comfort of ongoing work. It outlines the costs of never finishing projects, including mental strain and missed learning opportunities. To combat this, the post offers strategies to learn the art of finishing, such as defining “done” from the start, embracing MVPs, time-boxing, celebrating completions, and maintaining accountability.

  5. 5
    Article
    Avatar of techworld-with-milanTech World With Milan·2y

    How to deal with Technical Debt in legacy projects

    Technical debt refers to the accumulated issues and shortcuts taken during software development to meet deadlines, which eventually need to be addressed at higher costs. It impacts development speed, increases costs, risks system failures, and hinders innovation. Legacy code, older and harder-to-maintain codebases, also contributes to technical debt. Strategies to mitigate technical debt include thorough documentation, comprehensive testing, regular refactoring, and fostering a code review culture. Using behavioral code analysis tools like CodeScene can help identify and prioritize problematic areas in the codebase for improvement.

  6. 6
    Article
    Avatar of uxplanetUX Planet·2y

    Documenting design process with Notion

    Managing design projects can be challenging, but using a comprehensive Design Documentation Notion Template can simplify the process. This template centralizes all project information, improves collaboration among team members, tracks progress, and ensures consistency. It includes sections for project overview, problem statement, research insights, design requirements, information architecture, wireframes, design system, usability testing, and developer handoff. By organizing your design projects efficiently, you can save time, maintain clear communication, and ensure successful project outcomes.

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

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

  9. 9
    Article
    Avatar of pragmaticengineerThe Pragmatic Engineer·2y

    Paying down tech debt: further learnings

    Lou Franco shares insights on managing tech debt, emphasizing the importance of making small improvements to build confidence in a codebase and the need for substantial support for large-scale rewrites. Franco illustrates these points with examples from his extensive experience, highlighting the benefits of integrating debt reduction into workflows and ensuring organizational backing for major projects.

  10. 10
    Article
    Avatar of avanderleeSwiftLee·2y

    Indie Development: Full Course now Available

    Indie development involves working on personal apps independently, offering freedom but requiring discipline and effective time management. A newly available course guides aspiring indie developers through essential preparation, mindset, development practices, and marketing strategies. Also included are practical case studies, essential tool discounts, and access to a supportive community. The course aims to help developers reduce risks and sustain an independent career.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    How to Rewrite a Web Application

    Rewriting a web application should not start with choosing the technology stack but rather with understanding the existing application through detailed research. Avoid simply recreating features; instead, identify and address real user needs and problems. Utilizing user feedback, existing data, and modern solutions can save time and money. Iterative releases and practical design choices based on user workflows can lead to a successful and more efficient software rewrite.

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

  13. 13
    Article
    Avatar of medium_jsMedium·2y

    Documentation Processes and Types in Software Projects

    Effective software documentation is critical for project survival, aiding communication and decision tracking. Key documentation types include RFCs for initial project plans, ADRs for recording architectural decisions, readmes for project overviews, and postmortems for error handling. Tools and platforms like developer portals streamline access and management of these documents, boosting developer productivity.

  14. 14
    Article
    Avatar of stackovStack Overflow Blog·2y

    The hidden cost of speed

    Balancing speed and quality in software projects is critical, especially in tech-deprived organizations. Missteps in hastily deploying projects to impress management can lead to long-term issues and tech debt. Developers should establish boundaries, ask relevant questions, and set realistic expectations to avoid such pitfalls. Proper planning, understanding business goals, and clear communication are essential for sustainable growth and avoiding burnout.

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

  16. 16
    Article
    Avatar of gcpGoogle Cloud·2y

    Project management for SREs

    Managing projects in SRE (Site Reliability Engineering) requires balancing production support with project work. At Google, SREs allocate 50% of their time to production and enhancements. Effective planning, including reserving resources and early engagement of Technical Program Managers (TPMs), is crucial to handle unforeseen challenges and ensure timely project completion. Google's proactive approach has allowed them to manage complex projects while maintaining reliability and compliance.

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

  18. 18
    Article
    Avatar of Marmelabmarmelab·2y

    Shape Up: Should You Change Your Agile Methodology?

    Shape Up, developed by Basecamp, aims to address problems like scope creep, time-wasting rituals, interruptions, and ambiguous requirements found in traditional Agile methodologies. It uses six-week cycles with upfront shaping, reduces unnecessary meetings, and emphasizes team autonomy within defined boundaries. However, it may not suit all team sizes, requires skilled leaders for shaping, and can be rigid in handling bugs and unplanned work. While it offers a distinct approach, it should be adapted to fit specific team and project contexts.

  19. 19
    Video
    Avatar of primeagenThePrimeTime·2y

    Stop With Software Estimates

    Accurately estimating software development timelines has been notoriously difficult. This post argues that instead of relying on traditional time estimates, teams should adopt a budget-focused approach, such as the Shape Up methodology. This method advocates for setting budgets and allowing scope to be adjusted during development. The argument is supported by the idea that most modern software development involves novel elements that are hard to define and estimate upfront. It emphasizes that successful software often results from iterative improvements and adjustments based on ongoing insights.

  20. 20
    Article
    Avatar of atlassianAtlassian·2y

    Essential Knowledge Management Tools for Business

    Knowledge management technology has seen significant advancements, making it easier to capture, store, and share critical business information. Different types of KM tools, such as knowledge bases, learning management systems, document management, content management, and customer relationship management systems, offer unique features to enhance team collaboration, efficiency, and innovation. Key features of effective KM tools include collaboration tools, document management, search functionality, third-party integrations, and analytics. The post highlights top KM tools, such as Confluence, Jira, Trello, and Atlas, and provides best practices for successful implementation.