Introduction
Last updated on 2024-07-12 | Edit this page
Overview
Questions
- What is project management?
- When should project management be used?
- What are the general phases of software development?
Objectives
- Understand the definition of Project Management.
- Understand the phases of the software development process.
Project Management Introduction
What is project management?
The Project Management Institute defines project management as:
The use of specific knowledge, skills, tools and techniques to deliver something of value to people. The development of software for an improved business process, the construction of a building, the relief effort after a natural disaster, the expansion of sales into a new geographic market—these are all examples of projects.
Who needs Project Management?
If a group of people are working together, some amount of project management methodology will help. How large, long, and complex the project is will determine how much project management discipline will be helpful. Generally, the more time and/or people involved, the more project management helps. If you are writing scripts for your own research to test out some ideas, and the project will extend some time, you (and “future you”) will probably benefit from project management. If you are experimenting with something for just one week, you probably don’t need project management.
But are you sure it’s really just “one week”?
When do you need it?
Brainstorm with the people near you for a few minutes. What are some examples of situations in which project management might be useful for you in your daily life? What are some situations in which it might not be necessary?
Software Development Process
Below are (most) of the different phases of the software development process.
- Determine software requirements
- Software design
- Implementation
- Software testing
- Software documentation
- Release/deploy the software to the customer
- Ongoing maintenance
These phases can be mixed or (sometimes) reordered. This can happen for a variety of reasons. The line between requirements and design are often blurry. Implementation, testing, and user docs often proceed concurrently. Sometimes, tests are written first in what is called Test Driven Development (TDD). Another thing to note is that the definition of roles vary. For example, the “customer” or “user” may also be the author of the software, or may be quite removed.
There are many different methodologies to help organize the software development process. In the following sections, we will discuss some of the more popular methodologies such as the Waterfall model and Agile software development.
Key Points
- Project management focuses on creating something of value in a systematic way.
- The larger or longer a project or task, the more that project management will help.
- Software development generally starts at requirements and ends at maintenance.