I am sure almost all readers know the meaning of Project Management.
In the textbook that I took from PMBOK’s Project Management, the definition of project management is “Project management is the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements.”
This time I will not go into more detail about project management. I want to examine one of the Project Management concepts, which is the development of an existing Project Management.
Well, as the title of this article, the project management method I want to cover here is Agile Project Management.
For myself as a writer, Agile still seems new. Here I want to write based on the understanding I got from several sources on Internet Agile Project Management.
As I know, this Agile Project Management method is applied to software-based projects such as software or applications (e.g., programming-based projects).
Agile Project Management can be defined as a project management methodology that has high adaptability to changes that occur in each of its elements. This method breaks down a large project into smaller parts that will be delivered incrementally to the publisher/customer / end-user.
Delivery is always done every 1-4 weeks until the project is completed. This process is called iteration (iteration) or sprint. This method is expected to provide satisfaction to customers because the developer always delivers on time-continuous delivery.
Agile development methods are defined in four values, commonly called the Agile Alliance’s Manifesto, 4 of which:
- Interaction and personnel are more important than processes and tools.
- Working software is more important than complete documentation.
- Collaboration with clients is more important than contract negotiations.
- Responding to change is more important than following a plan.
The definition of the Agile Alliance’s Manifesto
1. Interaction and personnel are more important than processes and tools. In agile, the interaction between team members is very important because, without good interaction, the software development process will not go according to plan.
2. Working software is more important than complete documentation; when doing the demonstration process to clients, software that works well will be more valuable than complete documentation.
3. Collaboration with clients is more important than contract negotiations; one of the agile’s characteristics is that the client becomes part of the software development team. Good collaboration with clients during the software creation process is essential when using agile because the functions of the software being developed must be continuously discussed and improved according to the client’s wishes.
4. The response to change is more important than following the plan; agile development methods focus on the speed at which the team responds when the client wants a change during the software creation process.
Principles established by the Agile Alliance
For a team to be successful in applying agile development methods, it must follow the twelve principles established by the Agile Alliance, namely:
1. The top priority of agile processes satisfies clients by producing valuable software quickly and regularly.
2. Welcoming changing needs, even if it is too late in software development. Agile processes take advantage of change for a client’s competitive advantage.
3. Produce software that runs on a regular basis, from a few weeks to several months, with a preference for shorter timeframes.
4. Business associates and software developers should work together on a daily basis throughout the project.
5. Develop the project around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information from and within a software development team is by direct communication.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. Sponsors, developers, and users can sustainably maintain a steady pace.
9. Continued attention to technical excellence and good design enhances Agility.
10. Simplicity (maximizing the available resources) is very important.
11. The best software architecture, requirements, and designs emerge from self-organizing teams.
12. Periodically, the development team reflects on how to be more effective, then adapts their work habits.
These twelve principles form the basis for the team to apply agile development methods successfully.
With these principles, agile tries to get around the three problems that are usually faced during the software creation process, namely:
Software requirements are difficult to predict from the start and will always change. In addition, client priorities also change frequently as the project progresses.
Design and construction often overlap. It isn’t easy to estimate how far the design will be required before construction.
Analysis, design, construction, and testing cannot be predicted as desired.