After we discuss about how we use UML as a standard way to communicate with the team and customer through agile Lite process. We will learn several principles that will be used when we develop a software in an Agile way. Agile design principles is based on two main concepts which are object oriented and modularity. Both concept guides us to build a software that easy to maintain and to survive.
Agile design should in four main aspects which are
- The design should be proposed by the team (not only by the architect).
- The design should be flexible and adaptable
- The design should be iterative
- The design should involve the customer
Agile Design Courtesy of Don Clark
Frankly speaking Agile design will cover both technical and non technical aspect. For example, Agile design should care the changes of business process transformation that happen in their client.
According to the literature in Agile Design (K-Element ,2012). The agile design should covers several principles such as
- Single module responsibility
- Open Close Principles
- Liskov Substitution.
- Dependency Inversion
- Interface Segregation
Sounds familiar to you? if not just wait for the next week blog post. I will create a short screencast about those principles. For now just enjoy your weekend and happy fasting month.
Regards
@ridife