When I took over the internal application development at Computerworld, I tried to do something similar. This is what I put in place for us. I'm not saying this is the only way to do it, but it works for us.
The framework is key. By using a framework like CSLA http://www.lhotka.net/
The developers will always know that there will be standard method names for all CRUD operations. You will also know that more complicated "plumbing operations" like data serialization will be handled efficiently. Additionally, a framework facilitates the use of code generation techniques because things are handled in a standard manner.
Hope this helps.
Computerworld IT Development Process Plan
This document is intended to outline the software development goals of the Information Systems Group at Computerworld. It is intended as an internal document for clarification of group purpose and is not intended to dictate development efforts in other parts of the organization. It is useful however in explaining how we intend to carry out our business and to interoperate with other development and non-development groups.
Defect Tracking
All Defects should be logged and stored in a defect tracking system. This will facilitate work prioritization, keep track of which features are in a new release and document decisions.
We will evaluate whether IDG's TrackReccord Defect tracking system (from Compuware) is appropriate for Computerworld's use. Other alternatives include Bugzilla.
Expertise Developed on a limited number of technologies
We will develop primarily with Microsoft Technologies (.Net, SQL Server, Source-safe etc.). There are plentiful amounts of affordable developers, training, and code samples for the.NET development environment.
I would also like to standardize on a set of windows and web control libraries. This will allow us to deeply understand the object structure of these controls and to write code generators that speed development (see later section on code generation). Specifically, I would like to standardize on the Infragistics web and windows controls.
Limiting the number of technologies will allow us to develop deep expertise. With a small group, I think this is a cost effective approach.
Source Control
Implement this as soon as possible. We should be able to tag releases to be used during code promotion. We should also be able to script against the source control engine to facilitate code builds.
Code Promotion
All Systems should have a Development, Test, Staging and Production Area. This will allow us to properly test and isolate changes to our code as well as to test dependent software upgrades.
Object Oriented Framework
CSLA http://www.lhotka.net/ArticleIndex.aspx?area=CSLA% 20.NET
A standard framework or model will facilitate code generation and reduce maintenance labor. Goals of the framework are:
Logically organized code
Easier Maintenance
Better reuse of code
Better Team Development
Increased code clarity
Performance
Scalability
Fault-Tolerance
Security
Code Generation for standard code
"Plumbing" code should not consume great quantities of time. Stored Procedures, Objects with properties and standard CRUD (Create, Update, Delete) operations should be easily generated. This facilitates a "data driven design"..Net reflection, in conjunction with a standard format for serialization should allow us to generate grid controls based upon our generated objects. This should allow software to be assembled and coding effort to focus on the unique business rules of the application being written.
System Integration
I would like to develop with, and purchase packages that facilitate a Service Oriented Architecture based upon open XML based standards such as SOAP. This will promote code reuse across development groups and possibly across companies such as IDG, IT Careers etc. This will also facilitate the interoperation of multiple development enviro
When I took over the internal application development at Computerworld, I tried to do something similar. This is what I put in place for us. I'm not saying this is the only way to do it, but it works for us. The framework is key. By using a framework like CSLA http://www.lhotka.net/ The developers will always know that there will be standard method names for all CRUD operations. You will also know that more complicated "plumbing operations" like data serialization will be handled efficiently. Additionally, a framework facilitates the use of code generation techniques because things are handled in a standard manner. Hope this helps. Computerworld IT Development Process Plan This document is intended to outline the software development goals of the Information Systems Group at Computerworld. It is intended as an internal document for clarification of group purpose and is not intended to dictate development efforts in other parts of the organization. It is useful however in explaining how we intend to carry out our business and to interoperate with other development and non-development groups. Defect Tracking All Defects should be logged and stored in a defect tracking system. This will facilitate work prioritization, keep track of which features are in a new release and document decisions. We will evaluate whether IDG's TrackReccord Defect tracking system (from Compuware) is appropriate for Computerworld's use. Other alternatives include Bugzilla. Expertise Developed on a limited number of technologies We will develop primarily with Microsoft Technologies (.Net, SQL Server, Source-safe etc.). There are plentiful amounts of affordable developers, training, and code samples for the .NET development environment.
I would also like to standardize on a set of windows and web control libraries. This will allow us to deeply understand the object structure of these controls and to write code generators that speed development (see later section on code generation). Specifically, I would like to standardize on the Infragistics web and windows controls.
Limiting the number of technologies will allow us to develop deep expertise. With a small group, I think this is a cost effective approach.
Source Control
Implement this as soon as possible. We should be able to tag releases to be used during code promotion. We should also be able to script against the source control engine to facilitate code builds.
Code Promotion
All Systems should have a Development, Test, Staging and Production Area. This will allow us to properly test and isolate changes to our code as well as to test dependent software upgrades.
Object Oriented Framework
CSLA http://www.lhotka.net/ArticleIndex.aspx?area=CSLA% 20.NET
A standard framework or model will facilitate code generation and reduce maintenance labor. Goals of the framework are:
Logically organized code
Easier Maintenance
Better reuse of code
Better Team Development
Increased code clarity
Performance
Scalability
Fault-Tolerance
Security
Code Generation for standard code
"Plumbing" code should not consume great quantities of time. Stored Procedures, Objects with properties and standard CRUD (Create, Update, Delete) operations should be easily generated. This facilitates a "data driven design". .Net reflection, in conjunction with a standard format for serialization should allow us to generate grid controls based upon our generated objects. This should allow software to be assembled and coding effort to focus on the unique business rules of the application being written.
System Integration
I would like to develop with, and purchase packages that facilitate a Service Oriented Architecture based upon open XML based standards such as SOAP. This will promote code reuse across development groups and possibly across companies such as IDG, IT Careers etc. This will also facilitate the interoperation of multiple development enviro