Currently, the Information Technology (IT) industry, especially software development, often uses a new project management model called Agile to replace traditional management models such as V, waterfall etc …
What is agile?
- The meaning of Agile itself in English means agility and flexibility. And Agile refers to a project management method that uses short development cycles called sprints with the goal of getting products to users as quickly as possible.
II.Basic points in software development process using Agile model
- Divide the project into small segments (sprint).
- Ending a sprint will end a process including coding and testing for one or more functions within that sprint.
- The project development team using the Agile model is required to be present for regular communication.
- Agile process is divided into main stages: Planning of Analysis Requirement Design Implement Testing Handing over products 『要件 定義 → 設計 → 開 発 → 実 装 → テ ス ト → 運用』
- There are 3 development methods in Agile model: Scrum, Extreme programming, development according to user functions.
- This method can be said to be characteristic of Agile model.
- When developing with Scrum, the members will have to plan for each iteration and conduct design and implementation.
- Inadequate group interaction can lead to problems as the released features are not working properly.
- Extreme programing is abbreviated as XP.
- This is an easy, flexible way to focus on responding to a change in spec or requirements from the customer rather than focusing on developing the original plan.
- XP has 4 core values: Communication: keep communication between stakeholders Simple: keep the design to a minimum Feedback: test and exchange feedback regularly Valiant: dare to cope, face design changes , change spec
3. Develop according to user function
- Is Feature Driven Development, abbreviated as FDD.
- Valuing functional values for customers.
- Identify the necessary functions, continuously develop the software at appropriate intervals.
III.The Agile Allegory and 12 principles
1. 4 declarations of the Agile model
The Agile Manifesto was issued by 17 software developers, in February 2001, in Snowbird, Utah, USA.
- Individuals and interaction are more than processes and tools.
- Software runs better than full documentation.
- Collaborate with customers rather than negotiating contracts.
- Respond to changes rather than stick to the plan.
2. 12 principles
- The highest priority is to satisfy customers through the early and continuous delivery of valuable software
- Welcome to change requirements, even very late, in the development process.
- Frequently deliver good running software to customers, from weeks to months.
- Businessmen and software developers must ensure regular exchanges.
- Build projects around motivated individuals. Provide them with the environment and support they need, and trust them to get the job done.
- Direct conversation is the most effective way to communicate information to the development team.
- Good software is the main measure of progress.
- Focusing on sustainable development
- Constantly interested in good techniques and designs to increase flexibility.
- Simplicity – the art of maximizing unfinished work – is fundamental. – Self-organized group
- Adapt to changes
- Handing over products quickly and continuously => ensuring customer satisfaction.
- Customers, dev and tester are constantly exchanging with each other => cooperation, daily exchange => closer.
- The exchange and feedback during the development process will help improve the value of the product.
- Progress is monitored closely each day.
- Can respond easily according to the required changes, spec changes between the development process.
- Developing according to the Agile model usually creates a schedule for each spec, each request so the control schedule, overall project progress is quite difficult.
- The project can be easily off-track if the customer representative does not know the end result they want.
- Sometimes the agile model’s communication with regular customers is counterproductive, the project will grow in the state of customers constantly exchanging but not making the exact requirements.