5 Essential Project Management Activities
According to the definition of Project Management Institute, Inc., project management is “the application of knowledge, skills, tools and techniques to a broad range of activities in order to meet the requirements of a particular project.” Take a look at the most essential activities which make up project management.
1. Project Planning
– Adopt and apply all Agile tools and practices. However, it is not enough just to practice agile tools and artifacts; you will have to change your team’s behaviour and the way of thinking.
– Migrate to Agile at a suitable pace. During the Agile methodology adoption – you may still use classical methods, (e.g. waterfall), organize meetings, and prepare technical infrastructure.
– Collaborate with other companies that use Agile. You can contact private or public institutions that use Agile and ask them about their experience.
– Introduce change procedures, and develop a sense of criticality. You have to define and adopt change management in all your projects and to develop collaboration strategies in the urgent situations.
– Expect some difficulties, and obstructions. The Agile approach introduction may not be smooth as desired, and some team members could obstruct its software tools and practices
2. Ensure Commitment and Collaboration
– Declare an Agile leader in the senior management. Such persons will have credibility to entrust the others about the benefits from being agile.
– You have to ensure that all participants in Agile projects are dedicated to the Agile approach. You should encourage the team members and the other stakeholders to adopt Agile tools and practices.
– Provide coaches to all development teams. This practice stresses the importance of including on each team those with direct experience in applying Agile. While training is helpful, hands on experience helps the team members learn and adjust.
– Create small, multi-disciplinary teams. By creating teams from 5 to 15 people you will enable faster delivery and production. The teams should not rely on one member’s capabilities.
– Assure that all team members have the needed domain knowledge. This step will enable your project to involve just experts in the field in order to avoid delays. E.g., a team member communicating with the customers must be fully familiar with the product features.
– Train the complete company about the Agile methods and values. Your managers have to learn this approach to understand its impacts and benefits, while team members have to follow the specific steps in the agile iterations.
– Enforce collaboration in the whole organization. One good habit is to put the team in a shared room where they can interact permanently. Also – you should provide video conferencing equipment to connect the remote locations (distant team members).
– Provide Agile terms and examples in order to utilize the Agile adoption. You could introduce terms like user stories instead of requirements, and Agile development center instead of Project management office. Your examples should illustrate a small set of user stories and steps for their implementation.
– Define measurable results that you will obtain by using Agile. You can create a list of all possible project outcomes (for example lowered processing time by a given percent in a given period). Other quantity measures (such as lines of code produced) won’t be a relevant outcome.
– Inform contractors to accept your Agile approach. The clients who are used to waterfall-based approach and milestone reviews, could not accept the agile iterations, so you may need a smooth introduction of the agile principles to the clients.
– Combine different Agile methodologies (e.g. Scrum and Kanban). It is allowed to combine different agile frameworks. You can apply project management tools from Scrum and clients’ meetings from Kanban.
– Use equal duration for all iterations. You can define that iterations will be 2 weeks long in order to provide a uniform development rhythm.
– Involve the client in the project by a test-driven development. Test-driven development means that all written code should be tested. This practice will involve the client in the testing phases for all software items (modules).
– Define security and progress monitoring requirements in the product backlog. Putting the security requirements and the status briefings in the backlog will enable you easy monitoring of the budget and the schedule during all agile iterations.
– Record iteration failures in the same backlog. This practice means that you will put unresolved issues in the backlog and they will be resolved in the next iterations. Unfulfilled requirements should be placed in the backlog for correction in the next iterations.
– Fast development using automated tools. You can apply different utilities that track software modifications, so the clients will have access to your managing software and will follow the progress in real time.
– Test frequently during the project life cycle. The point of this habit is to check the software for bugs prior to its delivery and this will decrease the risk and the re-development costs.
– Uncover the burdens at the corporation and project levels. Enable broad discussion about burdens so that they can be addressed.
– Improve the Agile adoption at the project level and the corporation level. You will improve this process by applying automated test and release management tools, and putting the teams in shared office space. Also, all development items can be placed in project and company-level backlogs.
– Communicate with clients frequently. You should obtain client’s feedback during the iterations so you can plan the changes in the iteration retrospective. The regular communication with the client will lower the risk, will improve the client’s engagement, and the motivation of your team.
– Calculate the project value based on client viewpoint and return on investment. If you measure the progress only by the cost or schedule criteria – you may obtain inaccurate results about the project advancement, in case if major scope changes occur.
– Present the value gained at the end of each iteration. This habit will enable you to define the main requirements in early iterations, and to present to the client that requirements in the backlog are produced and not forgotten.
– Measure the progress daily and use different tracking tools. By this method – you will check the project status daily and publicly. For tracking the job progress you can use burn-down charts, and subjective indicators for client’s satisfaction (red, yellow, green).