TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How do you actually manage a software project?

12 pointsby raphaelbabout 10 years ago
I&#x27;ve spent almost 10 years doing software development as a dev, and I&#x27;ve had a mix of good management and bad management, and I have the opportunity to begin growing my team and adding additional developers.<p>I&#x27;d like to get my head around what software project management is at it&#x27;s most basic level. Are there any recommended books on the subject or articles that have a good 101 kind of explanation?<p>Based on what I understand from my own experience, this is roughly the process: - Have a clear direction for the team to be moving in, and communicate that objective to each of the team members clearly - Provide the team with the tools and resources they need to do their jobs - Provide feedback to the team members periodically if we are going in the right direction<p>I know all about agile and scrum, waterfall, etc. But those things seem to be a little further down the line than what I&#x27;m trying to get a grasp of.<p>Thanks!

8 comments

officialchickenabout 10 years ago
If I only had one suggestion it would be: <a href="http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Mythical_Man-Month" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Mythical_Man-Month</a><p>That book should be required reading for anyone on either side of the commonly asked question, &quot;How do we build this?&quot;<p>Maybe a second - it&#x27;s a bit old (and almost 1000 pages) - but much of McConnell&#x27;s CodeComplete2 still applies and has lots of great insights for software PM&#x27;s: <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Code-Complete-Practical-Handbook-Construction&#x2F;dp&#x2F;0735619670" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Code-Complete-Practical-Handbook-Const...</a><p>[edit grammer]
swalshabout 10 years ago
Everyone is going to give you a bunch of tips on software processes. If you&#x27;ve been doing this for 10 years, you know all of it already. You&#x27;ve been around the block, you&#x27;ve seen what works, and what doesn&#x27;t.<p>The real new thing here, is you&#x27;re now going from a position of independence to interdependence. That&#x27;s a step up in responsibility, but its difficult. The thing to master are your &quot;people&quot; skills. The hardest thing for me to master the first time I made the step was that different people do things differently... and that&#x27;s okay.<p>To keep things short, just read this (or get the audible book) <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;How-Win-Friends-Influence-People&#x2F;dp&#x2F;1508569754" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;How-Win-Friends-Influence-People&#x2F;dp&#x2F;15...</a><p>Seriously, it makes such a huge deal, knowing how to work with people properly will multiply your skills far better than any other &quot;process hack&quot;. I&#x27;ve worked in waterfall teams, and i&#x27;ve worked on agile teams (every team does agile differently). Their productivity rarely came down to the process. It mattered more how much the person leading the team could find what motivated his team, and encouraged it, and how well the team worked together.
sjg007about 10 years ago
What are the traits of the good managers you experienced? And what are the traits of the bad ones? And what about the respective projects themselves: did they have good management vs bad management aspects?<p>Good project management is about communication. For all the respective participants, stakeholders, everyone has to be on the same definition of success. If not, you have to manage those expectations. In a bad project, different stake holders have completely different and sometimes unrealistic expectations.<p>I found that good managers rely heavily on experience or some form of &quot;knowledge&quot; to anticipate future problems and head them off. This could be technical, personality, business requirements, business externalities etc... A good manager also buffers, insulates and frees up the time of their engineers so they can do the technical work itself with little distraction. Above and beyond protect your people.<p>Personally I&#x27;ve found that people who are project managers who don&#x27;t have any technical experience in the domain tend to be worse than those that do have technical experience since they don&#x27;t fundamentally understand the work. However, there are exceptions.<p>Oh and add at least 100-150% to any and all software timeline estimates. Also don&#x27;t throw more people at a problem.
brudgersabout 10 years ago
<i>Have a clear direction for the team to be moving in, and communicate that objective to each of the team members clearly</i><p>That doesn&#x27;t really get at the heart of modern project management thinking in the software industry because it is as applicable to waterfall as Extreme Programming. The key is how long the team can move in a direction without course correction.<p>Contemporary thinking boils down to the team and each individual can continue moving in a particular direction until the first sign that something isn&#x27;t adding value for the customer or is reducing velocity. Then direction must be changed immediately.<p>The better the instrumentation of the development process the closer immediately gets to instantaneously. Continuous integration means that broken builds bubble up to the team in a matter of minutes rather than days or weeks and that regressions can be fixed as they are introduced. Short iteration cycles mean that the customer is actively engaged with the state of the project and has responsibility for prioritizing features. This whole customer thing means that management is not just downward it&#x27;s upward toward the VP and sidewise toward customers and vendors.<p>The biggest mistake new managers make is to confuse management with supervision. Good managers are like ASE certified mechanics, they don&#x27;t come out to your house to top off the oil. They identify and triage and possibly fix the leak when the car comes into the shop for scheduled maintenance.<p>Scrum&#x2F;agile&#x2F;extreme are ways to make sure that the oil gets changed regularly and avoid leaks via maintenance. It&#x27;s not waiting for the &quot;idiot light&quot; [1] to come on. These things are not down the road. The techniques help a manager avoid their fallibilities and frailties and foibles when it comes to human interaction. They&#x27;re there for the same reasons Ruby on Rails is there...they provide a framework that avoids having to write an MVC application in C.<p>Good luck.<p>[1]: <a href="http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tell-tale_%28automotive%29" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tell-tale_%28automotive%29</a>
ianmcgowanabout 10 years ago
You may not have control over things like scope, timeframe, budget, &quot;resources&quot; (how I hate that word), but be expected to meet an arbitrary deadline. Get used to that. As sjg007 says, double any estimates you get, and don&#x27;t confuse effort with duration. A task may require 4 hours of effort, but take 2 weeks to complete.<p>Google &quot;planning fallacy&quot;, or see <a href="http:&#x2F;&#x2F;lesswrong.com&#x2F;lw&#x2F;jg&#x2F;planning_fallacy&#x2F;" rel="nofollow">http:&#x2F;&#x2F;lesswrong.com&#x2F;lw&#x2F;jg&#x2F;planning_fallacy&#x2F;</a>. In general getting a list of tasks together and thinking you have a handle on what it will take is a delusion. Trust your gut.<p>These books shifted my thinking on why some projects work out and others are disasters.<p>* <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;The-Principles-Product-Development-Flow&#x2F;dp&#x2F;1935401009" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;The-Principles-Product-Development-Flo...</a> * <a href="http:&#x2F;&#x2F;theleanstartup.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;theleanstartup.com&#x2F;</a><p>You could go the PMP route, I suppose. And get used to MS Project, which is a tool of the devil, but a necessary evil.
late2partabout 10 years ago
+1 on officialchicken&#x27;s recommendation for MTM.<p>Another great book on management in general is &quot;First, Break All The Rules&quot; by Buckingham et.al. from Gallup - <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;First-Break-All-The-Rules&#x2F;dp&#x2F;0743510119" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;First-Break-All-The-Rules&#x2F;dp&#x2F;074351011...</a><p>The important thing is not to dance a prescribed routine, but to be effective with the human individuals. Use known patterns as starts, and adjust as needed.<p>I think the first thing to do is discuss the business or user need. Then scope out phases or milestones. Then assign leaders to each area and give them time to think. Scope out timelines and get started - but adjust frequently and sync up on progress.<p>Good luck!
blooberrabout 10 years ago
What problems have you ran into managing software projects? Seems like what you&#x27;re doing is good enough. You described your workflow already.<p>I&#x27;ve never managed to get agile&#x2F;scrum&#x2F;waterfall working when followed to the letter.
orbitbotabout 10 years ago
My usual approach (coaching&#x2F;mentoring agile teams for a few years) was to teach people how to fish, and try to become useless as a manager&#x2F;coach&#x2F;mentor on an everyday basis as soon as possible. If you have experience with software development processes, then you probably have an idea of how to run some&#x2F;all of the required activities.<p>It really depends on your situation, but to me the game was always to get people to take initiative themselves, then get out of the way, and to let the process develop itself (start with a loosely defined one, and see how much you can live without!). Communicating the high level goals and making sure everyone understands the reasoning behind choices, so they can make the correct decisions or raise the relevant questions when they are unsure of how to proceed (policies, breaking changes etc.).<p>Everything was based around a basic Kanban approach with some Scrum-ish practices built in. Also process retrospectives at least bi-weekly, to improve the activities and discuss meta-level stuff. You&#x27;re not really trying to improve unless you make bad choices some times.<p>The most difficult part of the above was always to allow people to make mistakes, so they can learn on their own...<p>So, with all of that in mind, make sure you understand whatever it is you &#x2F; your team are supposed to achieve, read these:<p><a href="http:&#x2F;&#x2F;www.infoq.com&#x2F;minibooks&#x2F;kanban-scrum-minibook" rel="nofollow">http:&#x2F;&#x2F;www.infoq.com&#x2F;minibooks&#x2F;kanban-scrum-minibook</a> -- the free pdf<p><a href="http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lean_software_development" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lean_software_development</a><p><a href="http:&#x2F;&#x2F;www.leanprimer.com&#x2F;downloads&#x2F;lean_primer.pdf" rel="nofollow">http:&#x2F;&#x2F;www.leanprimer.com&#x2F;downloads&#x2F;lean_primer.pdf</a><p>Learn to recognize as many of these as you can (look at least at the Project management and Organizational section) <a href="http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Anti-pattern" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Anti-pattern</a> and try to minimize the amount in effect at any point in time.<p>Optimize over time. Some things take a while to take root, and may require a lot of talking to be accepted. You might also be wrong :)<p>Good luck!