Priorities

Bob the developer has an important decision to make. Should he use a binary or XML formatter with Windows Communication Foundation (WCF)? This is a decision about speed and size (binary formatter) versus the importance of portability (XML formatter). Sally the developer is deciding between the complexity of AJAX and the simplicity of a traditional Web application. Do you want these decisions to be made by individual developers on an ad hoc basis or decided in a judicious manner with the appropriate stakeholders? I would recommend the latter. The priorities for product development can have a significant impact on the final product.

Decide on priorities as part of the design phase of the software development life cycle and communicate them to the team. This will prevent developers from making important strategic decisions without some proper guidelines. Macro priorities affect the overall application. For example, deciding whether XML or binary format is preferred for communication. Because most of your customers are geeks who value speed over a fancy user interface, you might decide to prioritize user interface responsiveness over aesthetics. Of course, security must be considered a priority. Nowadays, security trumps every other priority. However, don’t assume developers are aware of this. There are also micro priorities that are organized, which are specific to a developer or module. For example, performance versus maintainability might be something that is decided on a per-module basis.

The following is a list of topics that should be considered when evaluating priorities:

  • Security

  • Performance or speed

  • Scalability

  • Maintainability

  • Ease of use

  • Size

  • Complexity

  • Robustness

Have a meeting with the team to specifically decide upon the priorities. Make sure the team members understand the rationale for each priority and not just the order. After the meeting, document the priorities and distribute to each team member. Throughout the product development life cycle, confirm that developers are adhering to these priorities. This should be part of the code review. Without this validation, priorities become optional and subject to each developer’s whim. That will make the challenge of building a cohesive product even more difficult.

Tip

Tip

Set priorities in the design phase and confirm their adherence.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.174.191