Building a software is challenging whether you build for product or for project both of them need bullet proof design to make your design “just work”. Just work concept is how we build design as efficient as possible without sacrificing the design itself. Inspired from the MSDN article that describe the approaches to design Windows Phone 7 Design. The post is created to generalize the a practice approach to design the software. But first time first you can read my previous post about Agile design. Frankly speaking, according to several situation there are three design model that should be proposed in Agile ALM. The management design, how the project is executed The technical design, how the codes is composed. The business design, how the project will be survived and used by the user The technical design is composed at least three main aspects which are data design, codes design, and UX design. In a sequential we can said that UX design is followed with data design, and codes design for the rest. You can read the document here
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