Leverage Internal Methodologies and Frameworks for Designing Applications
> Use existing examples of documentation from other projects.
> Use cases, detailed functional requirements and high-level business/entity objects.
> Enforce database design practices (e.g. ERDs, data models etc.)
Stub Generation and Low-Level Design Documents
> Technical meeting to review all requirements and scope low-level documentation requirements.
> Oversight by tech-lead/senior-dev/DBA during design or development phase.
> Document entities, data application layer, business logic layer and presentation layer.
> Create activity diagrams and sequence diagrams for application flow and object interactions.
Sign-off by Developer per Task
> Developers should fully understand all design requirements, and tech lead should enforce.
Code Review
> Code review as per development standards/methodologies.
> Tech lead should ensure architecture is scalable, extensible and modular.
> Tech lead should ensure proper source code versioning, branching and commenting/documenting.
Testing
> Create manual test scripts for the site and follow them for system and regression testing.
> Developer should test on latest version of IE, Firefox and Safari for basic browser compatibility testing.
> Create and enforce automated unit-tests and test scripts for custom development using tools like nUnit, SQLUnit, Visual Studio Test projects.
Standardize Output
> Enforce development tools across on-site and off-shore development teams.
> Enforce a library/framework based on design requirements.
> Tech lead should leverage UML and modeling tools (e.g. Enterprise Architect, Rational Rose etc.)
> Tech lead should be fully responsible for managing all builds and enforcing rules with team (e.g. branching, tagging etc.)
> Use collaboration tools like Team Foundation Server and Sharepoint to track issues/bugs across team members.



0 Responses to “Development Best Practices”