Tag Archives: Agile Methods

Topic 13 – Software Project Management

Why do I need to learn about software project management?

Knowing how to create applications does not mean that you will create software SUCCESSFULLY. Creating software successfully means that you satisfy all customer's REQUIREMENTS on TIME and on BUDGET with high QUALITY while making both customer and yourself HAPPY. Especially, your software must create REVENUE for your customer.

Have you ever wondered why many software projects failed; why Google, Microsoft, IBM, etc. abandoned many projects? Software project management will provide you knowledge so that you could improve the success of your software projects and mitigate all the project risks.

What can I do after finishing learning about software project management?

You will know how to plan a project, including scoping, estimating time and resources, creating a schedule, identifying and responding to risks, etc. 

You will know how to create software following a methodology (i.e. waterfall, rational unified process, iterative and incremental development, agile method, Scrum method, extreme programming).

You will know how to manage project configurations, how to control project changes, how to report project status, how to control product quality, process quality.

You will know how to collaborate with others to create software, how to motivate your partners.

Uh-oh! I am a developer. I do not want to be a project manager. Do I really need to learn this topic?

If you have a doubt about its usefulness then please only return to this topic 
- when you are asked by your manager when you can finish your task and you do not know the answer or 
- when you cannot work with other team members together to finish a task requiring a collaboration to be done or 
- when you cannot complete a task on time due to incidents or 
- when you wonder why a project manager's salary is 3 times larger than yours.

Alright! What should I do now?

Software project management requires a lot of reading.
In order to get familiar with software project management please read this "Andrew Stellman and Jennifer Greene (2005). Applied Software Project Management" book first.
After that please read 
- this "Frederick P. Brooks Jr. (1995). The Mythical Man-Month: Essays on Software Engineering" book to learn the timeless principles of software project management, and
- this "Tom DeMarco and Tim Lister (2013). Peopleware: Productive Projects and Teams" book to learn how to deal with human side of software project management, and
- this "Tom DeMarco and Timothy Lister (2003). Waltzing With Bears: Managing Risk on Software Projects" book to learn how to deal with software project risks, and
- this "Steve McConnell (2006). Software Estimation: Demystifying the Black Art" book to learn how to estimate effort, time and cost for a software project.
After that please read 
- this "Philippe Kruchten (2003). The Rational Unified Process: An Introduction" book, and 
- this "Per Kroll et al. (2003). The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP" book, and
- this "Scott W. Ambler et al. (2005). The Enterprise Unified Process: Extending the Rational Unified Process" book to learn how to develop software using a managed process.
After that please read 
- this "Ken Schwaber (2004). Agile Project Management with Scrum. Microsoft Press" book, and
- this "Jonathan Rasmusson (2010). The Agile Samurai: How Agile Masters Deliver Great Software. Pragmatic Bookshelf" book, and
- this "Kenneth S. Rubin (2012). Essential Scrum A Practical Guide to the Most Popular Agile Process. Addison-Wesley Professional" book, and
- this "Mike Cohn (2010). Succeeding with Agile - Software Development Using Scrum. Addison Wesley" book, and
- this "Dean Leffingwell (2011). Agile Software Requirements. Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley Professional" book, and
- this "Mike Cohn (2005). Agile Estimating and Planning" book, and
- this "Kent Beck and Cynthia Andres (2004). Extreme Programming Explained Embrace Change. 2nd Edition. Pearson Education" book, and
- this "James Shore and Shane Warden (2008). The Art of Agile Development. O'Reilly" book, and 
- this "Esther Derby and Diana Larsen (2006). Agile Retrospectives: Making Good Teams Great. Pragmatic Bookshelf" book, and 
- this "Eric Brechner (2015). Agile Project Management with Kanban. Microsoft Press" book to learn how to develop software using an agile method.
After that please read this "Project Management Institute (2017). A Guide to the Project Management Body of Knowledge" book.
 After finishing the books please click Topic 14 - Introduction to Database Design to continue.