WHAT IS SOFTWARE DEVELOPMENT?
Software development refers to the creation of computer programs and websites. Computer programs are sets of instructions executed (performed) by computers for a particular purpose or sets of purposes. Programs are also referred to as “applications” or “software”.
Software development is also called “coding”, “computer programming” and “software engineering”. Each of these terms mean basically the same thing: to tell computers what to do using code.
Code is the words and symbols used to communicate instructions to a computer. Code is written in various programming languages. Programming languages are organized systems of words, phrases and symbols that let you create programs. There are many different types of programming languages, each of which was created to fill a specific purpose. For example, some languages are better suited for creating computer games, while others are better used for making phone apps.
WHAT IS PROJECT MANAGEMENT?
A “project” is something taken on with some sort of an end goal in mind. It comes from the Latin word proiectum, which means “projection”.
“Management” means to organize, coordinate and control something effectively. It comes from the Latin word maneggiare , which meant “to handle; shape”.
In the technology industry, “project management” is the practice of starting, planning, controlling and completing the work on a coding project. Typically, project management relates to coordinating the actions of an entire team – from the client the project is being done for, to the developers, to the people checking the quality of the work done on the project.
The “client” is the customer. This is the person or company that work is being done for. Typically, the client has paid a fee in exchange for the work. When dealing with clients, it is recommended that you deliver exactly what the client asks for, as opposed to a version that differs from their vision.
The “developers” are the creators of software. They are the ones who write the code that builds the software.
Project management includes formulating plans, assigning roles, acquiring appropriate tools and materials, developing and managing schedules, conveying information, promoting good communication, meeting milestones (significant stages in development), and exhibiting strong leadership skills to ultimately resolve and complete the project within the agreed-upon deadline.
In fact, the purpose of project management is to ensure that projects are accurately completed on or ahead of schedule.
Project management has existed for as long as humankind. It was used over 2,300 years ago in the building of the Great Wall of China, it is used today, and it will continue to be used. It is the science of utilizing people to execute plans.
PROJECT MANAGER
The project manager is responsible for leading a project from the beginning to the end. This includes the planning of a project, execution of a project, delivering the project on time (on a schedule and on a budget), as well as managing the people and resources.
They pull this off by ensuring regular deliverables. Deliverables are measurable things that are brought about as the result of work. A deliverable is a “done” – something that has been completed. They’re quantifiable goods or services that are produced.
Project managers work with the team to ensure that the desired outcome is achieved and that work is completed in the correct sequence.
Project managers commonly coordinate with clients, direct the overall plan, define the scope of the project, set milestones, monitor progress, evaluate performance and attempt to complete projects on or ahead of schedule and on or under budget.
Here are some of the other duties of the project manager:
- Leading and managing the team.
- Figuring out the project schedule.
- Assigning tasks to other team members.
- Providing regular updates to upper management.
PROJECT TEAMS
The project team is the people involved in working together on a project to achieve its goals.
Project teams are composed of the project manager, all project management staff, the software development team, and anyone else involved in work related to the project. The project manager is the boss over the project team and is ultimately responsible for the success and quality of the project.
Project team members have a wide range of duties and responsibilities – again, they are anyone other than the project manager who is involved in the project. This includes employees and even outside consultants. The typical duties of project team members include:
- Contributing to the project’s objectives.
- Completing individual assigned tasks.
- Providing advice and feedback.
- Working with users (the people that use the software) to determine their needs.
- Documenting all work done.
PROJECT MANAGEMENT OFFICE
The project management office (abbreviated PMO) is a team or department inside a company that oversees all project management. Specifically, they define and maintain the standards for project management.
The project management office creates the needed documentation, provides guidance and determines how to measure success. They are the office responsible for a business’s project management policies.
PROJECT MANAGEMENT LIFE CYCLE
“Life cycle” literally refers to the stages of one’s life – from birth to death.
The project management life cycle is the various phases that software development goes through, including:
- Initiation (start).
- Planning.
- Execution.
- Monitoring.
- Closure (completion).
The project management life cycle includes:
● Keeping documentation.
● Working to meet deadlines.
● Obtaining compliance.
● Reducing overall production time.
● Maintaining support.
● Improving product quality and reliability.
● Avoiding expensive issues through improved forecasting (future prediction).
● Lessening production costs.
PROJECT MANAGEMENT EXAMPLE: WATERFALL PROJECT MANAGEMENT
Waterfall is an approach to project management where work is completed in distinct stages. Each stage is moved through, step by step, eventually resulting in the release of the product to its users. It is a linear approach to project management.
An important element of linear project management (waterfall) is that the plan is first made in full and then adhered to throughout the entire project. It is a firm and rigid approach to project management and doesn’t easily allow for changes throughout the process.
Deploy means to spread something out or arrange it in a strategic fashion. In coding, deploy means to ensure software (or hardware) is fully set up and running properly. This includes installation, testing, making necessary changes and more.
A release is deployable software. It is the distribution of a working version of an application. The product is being “released” to its users.
In the waterfall picture below, each step would be completed before moving on to the next step: