Study/Project Management

Agile

Haayany 2024. 7. 16. 05:26

What agile values more?

Individuals and interactions > Processes and tools
*Product Manager is NOT a messenger, facilitating a communication channel for the devs and the client is important.

Working software > comprehensive documentation

Customer collaboration > contract negotiation
*Dev team meeting customers?

Responding to change > following a plan

 

Delivering Working Software

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

2. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale.

3. Working software is the primary measure of progress.
*in agile, a feature should only be considered complete when all the code has been written, tested, and documented.

 

Flexible Design

4. Welcome changing requirements, even late in development. Agile processes harness change for the cusomer's competitive advantage.
*Change will ultimately create a better product, it'll satisfy your client and it'll give your product that competitive edge.

5. Continuous attention to technical excellence and good design enhances agility.

6. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
*inconsistent pace leads to burnt-out development teams.

7. Simplicity, the art of maximizing the amount of work not done, is essential.
*Means writing less code and documentation, and focusing on delivering a high-impact product that is as simple as it can be.

 

Collaborative Communication

8. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

Tell people where to go, but not how to get there, and you'll be amazed by the results.
- George Patton

9. The best architectures, requirements and designs emerge from self-organizing teams.
*Agile encourages to team to self-organize. Meaning, let people to decide how to organize the project.

10. Business people and developers must work together daily throughout the project.

11. The most efficient and effective method for conveying information to and within a development team is face-to-face conversation.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
*The process itself also needs testing, review, and improvements, just like the product.

The important thing is not your process.The important thing is your process for improving your process.
- Henrik Kniberg

 

General processes of Agile

1. Specification

2. Design and Implementation

3. Verification and Validation

 

Refining Requirements

Example: There's a requirement "Users can send messages to other users"

Looks simple and easy. But "How" does an user send messages? Text? Voice message? Video? Refining requirements clarifying ideas and narrow down the specifications of the requirements.

 

Planning is bringing the future into the present so that you can do something about it now
- Alan Lakein