Project Management
Project management is the key element to deliver a project on time and on budget. It implies all the stakeholders to work together to achieve the same goal.
This is probably the topic that will bring the most debate and discussion on the table. It will most likely be responsible for many meetings where a few people will talk and the rest will be on their phone or laptop.
Agile
In 2001, seventeen independent-minded software practitioners came together to discuss about best practices to deliver software. They wrote the Agile Manifesto, which remains today the reference for software development. There are twelve principles:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity–the art of maximizing the amount of work not done–is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Since then, most of the methodologies that are used today are based on the Agile Manifesto.
Scrum
Scrum is a framework that implements the Agile Manifesto. It is the most popular Agile methodology today. The concept is to deliver value continually through cycles called sprints. Those sprints are usually two weeks long but may vary depending on the project.
Scrum describes three roles:
- The Product Owner, who is the bridge between the stakeholders and the development team.
- The Scrum Master, who makes sure that the team follows the Scrum rules.
- The Development Team, that is responsible for delivering the product.