Errors in the Early Design Stage of Agile Projects
Producing top notch software involves focusing on numerous details that can make or break the well-developed system.
Within this article, I will point out some of the common errors that take place during the design process. Many of these errors continue to take place due to bad practices, and I’m hoping that articles such as this will make it possible to not make the same mistakes when presented with the same types of scenarios.
Going back to Big Design Up Front (BDUF)
Some level of planning needs to happen up front, where team(s) teams will discuss design and how identify how they will address particular features. Nevertheless, this cannot become an excuse for going back to Big Design Up Front (BDUF), where teams would create the complete, or the majority of, the design before development has started.
Trying to solve too many problems at same time
Numerous design mistakes occur because teams are trying to resolve too many problems at once. For instance, newbie teams will try to work on more than they are capable of doing. More experienced teams know that it is better to work on one thing at a time. Also, it always easier to work on smaller separate issues than trying to address one large problem in one scoop.
Designing based only on a User Interface
Although the user interface is the most prominent aspect of a software application, it is usually not ideal to design and develop an application just based on the User Interface. You should also consider other system functionalities, and then make a decision on how your design will look.
If you are working on an item that does not need a specific user interface, then making functionality a priority makes better sense than just haphazardly focusing on the aspects of the user interface from the start.
Ignoring The Most Simple Solutions
A lot of teams have problems with solving common problems with available solutions. This might be because they do not understand a certain system platform or programming language. Sometimes, teams choose to not use available solutions just because they are have not had much practice using them. This results in a lot of time spent recreating technology that already exists, instead of learning others.
Certainly, there are many other design problems in the Agile environment, but in my opinion, the above are the most common, at least in my experience. What other problems do you think should be on this list?
Stay Connected: