IT Project Management: Information Technology (Part 1)
Software project management is an essential part of software engineering
- Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organizations developing and procuring the software
- Project management is needed because software development is always subject to budget and schedule constraints that are set by the organization developing the software
The Good, the Bad and the Ugly
- Good management cannot guarantee project success
- Bad Management usually results in project failures
- Software is delivered late, costs more than originally estimated and fails to meet its requirements …The Ugly
Software Management Distinctions
- The product is intangible and uniquely flexible
- The software development process is not standardised
- Large software projects are often 'one-off' projects
The Role of the Project Manager
Software managers are responsible for planning and managing project development
- Estimation of the project effort, time and cost
- Planning. Scheduling deliverables, review points and allocation of staff to activities
- Replanning. Re-estimating and rescheduling in the light of unfolding circumstances, e.g., risks and quality assurance results
- Organization. Establishing a division of labor which is able to make the most effective use of available skills and maximizes productivity potential in the context of characteristics (e.g., risk factors) of the particular project
- Quality assurance. Planning and carrying out actions to ensure that the software product meets required quality targets
Project Planning
- Probably the most timeconsuming project management activity
- Continuous activity from initial concept through to system delivery
- Plans must be regularly revised as new information becomes available
- Various different types of plan may be developed to support the main software project plan that is concerned with schedule and budget
#Types of project plan
- Quality plan: describes the quality procedures and standards that will be used in the project
- Validation plan: describes the approach, resources and schedule used for system validation
- Configuration Management plan: describes the configuration management procedures and structures to be used
- Maintenance plan: predicts the maintenance requirements of the system, maintenance costs and effort required
- Staff Development plan: describes how the skills and experience of the project team members will be developed
Scoping the Problem
- Objectives expressed in general terms and in the language application domain
- Scope defines the system boundary, explaining what will be included in the system and what will not be included
- Identify: the Customer, the system environment, necessary tools, potential reuse, etc.
Ask the Customer: Who is the end user? (often not the customer) Who has the authority to accept the finished product? What problem are we addressing? What documentation will be required? When do they believe they need the product? Where is the work to be dune? Why do they need the product? How will the product be developed/acquired?
Other Management Activities…
- Measurement Framework allows the quantitative analysis of project (e.g., productivity, progress, etc.) and product features (e.g., quality, size, etc.)
- Software Metrics. Measurement is the process by which numbers or symbols are assigned to attributes of entities in the real word in such a way as to describe them according to clearly defined rules.
- Quality Assurance plan describes how reviews, inspections, testing, and other techniques will help to evaluate quality and ensure that it meets the customer’s needs.
- Resource management identifies (and quantifies) the (needed) resources and describes how resources are allocated throughout the project (Resources include infrastructure, staff and time).
- Feasibility study also explores alternative solutions
Activity Organization and Milestones
- Activities in a project should be organised to produce tangible outputs for management to judge progress
- Milestones are the end-point of a process activity
- Deliverables are project results delivered to customers
- The waterfall process allows for the straightforward definition of progress milestones
Milestones in the Requirements Engineering Process
Project Personnel
- Determine the project schedule and estimate the associated effort and costs
- How many people will be involved in the project
- What tasks they will perform
- What abilities and experience they must have so that they can do their job effectively
- The assignment of staff to tasks depends on project size, staff expertise and staff experience
- People have different work styles (e.g., preferred styles for interacting with others)
Project Scheduling
- Split project into tasks and estimate time and resources required to complete each task
- Organize tasks concurrently to make optimal use of workforce
- Minimize task dependencies to avoid delays caused by one task waiting for another to complete
- Dependent on project managers intuition and experience
#Problems
- Estimating the difficulty of problems and hence the cost of developing a solution is hard
- Productivity is not proportional to the number of people working on a task
- Adding people to a late project makes it later because of communication overheads
- The unexpected always happens. Always allow contingency in planning
Enterprises use project management software solutions to manage project costs and risks, share documents, and collaborate in real time. These products also offer many other benefits to enable companies to complete their projects on schedule and within budget. Therefore, it is no surprise that enterprises are widely embracing this type of software. Due to the growing popularity, the worldwide web-based project management software market is expected to rake in revenue of $1.52 billion from 2016 to 2020.
Best IT project management software for businesses
Aha! Labs
Accelo
Zoho Sprints
Wrike
Freshworks