Principles Agile Development

agile development

To be able to move forward and grow, a business expected to be agile, able to change according to the needs. It is also expected in the development of an information system project. Agile development is a philosophy and guidance in building information systems, which is in an environment that is constantly changing and uncertain, and can be used with any system development methodology. Usually, agile development is equipped with adaptive SDLC approaches and methodology. But the focus is to create agile against the adaptice approaches, both in each aktivitasaktivitas development in it. Related to agile development, agile modeling is a philosophy about how to build the necessary models with detailed, simple and minimal. Any models you'll later learned can be used for agile modeling.

You might think that agile modeling approach means less or even not using modeling at all. Agile Modeling (AM) does not mean doing less modeling, but the modeling is done properly and with a level of detail appropriate to the objectives .. AM not about models dictate what should be made or what models are required. Here are the principles in the agile modeling:

1. Develop software as your primary goal. The main purpose of a software development project is to produce a high-quality software. The main measure of project progress is software that can work properly. Any activity that does not directly contribute in generating software should be avoided.

2. Enable the next effort as your secondary goal. In addition to the focus on the first principle, you also have to focus on two other important objectives, namely (1) requirements needed to build models of design models, and (2) consider long-term use than coding in your programming. Some models may be required to support the maintenance and enhancement of the system. Although, the code is the best documentation, but some decisions related to architectural design munkin alone can not be identified easily from code. Make sure you pay attention, other non-essential artifacts to produce high quality systems for a long period of time.

3. Minimize your modeling activity - few and simple. Make only the required models. Models are built must be clear, accurate, and complete. Also make sure that each model should be as simple as possible. Understand that a simple solution is the best solution.

4. Embrace change, and change incrementally. A good agile developer should be willing to accept, and even dare to look for and deal with change. Make sure you also have procedures that are ready to integrate any changes facing into models. Make gradual changes to the model and perform validation against him to ensure that changes to the model are correct. Do not try to Accomplish everything in one big release!

5. Model with a purpose. Two (2) reasons for building models is to understand what system you're up and to communicate the important aspects of the system. Make sure that you do modeling for obvious reasons.

6. Build multiple models. Unified Modeling Language (UML) has several models to represent different aspects based on the problems being faced. Make sure you build enough models to meet a variety of different issues.

7. Build high-quality models and get feedback Rapidly. One way to avoid errors in modeling is to get feedback quickly and sustainably. Get feedbacks from users and other technical team members.

8. Focus on content rather than representation.
The presence of visual modeling tool is of course useful to help the modeling activities. But make sure that its presence does not interfere with your modeling needs to be able to produce models quickly and accurately. You can also use handwriting on paper or on the board, and then drawn through photo documentation. You just have to make sure that the models are clear and understood by others.

9. Learn from each other with open communication. All adaptive approaches emphasize on teamwork. Do not be stubborn against the models that you create, because the input of other team mates will be very helpful to provide models of different viewpoints.

10. Know your models and how to use them. Make sure you are able to understand the advantages and disadvantages of each of the models, including when and how to use these models.

11. Adapt to specific project needs. Every project is different because they are in an environment that is different and unique, involving users, stakeholders, and team members are different, and require the development environment and deployment platform that is different. Perform adaptation to models and modeling techniques are mastered to adjust the project and business needs rather than being faced.


Thanks for your comment
Technology Blogs
blog directory