Posts

Use Test Code Track Requirement

Even we have some bug track software to track the requirement/feature to set of codebut it still hard to find which line of code reflect which piece of requirement/feature. With combination of concept of User Story and implementation of Machine Specfication (MSpec), it will be easier to describe requirment by CODE and then we can drill down to deep in codes from original requirement. Therefore it is easier to identify the place of bug and make system easier maintenance. In the other hand, it is possible to extract the requirement from test code which can make requirement itself easier maintenance.

Avoid framework project

We can set up a core team who focus on  technical stuff and some common business. Common business like Effective date, Period, Status control. Just simple example here, there are supposed to more business concept which are cross lots of projects. As a team which is different from project is like: 1. There is no independent common/framework project (codes). The codes created by the team are belong to the specific project 2. The bugdet of the team come from the specific project not from a common project. 3. The relationship between the core team and specific team are supplier/consumer. So core team report to specific team, and spcific team report to business. 4. According to priority and workload of projects, the core team can/should move to support to a different specfic team once per time.

Database Model vs. C#(Domain) Model

The goal of software application is to analyze business logic, design and implement business model in computer languae. With different computer language or say development enviornment, we can have differrent model,  at least differrent aspect implementation for the business model. Our current development process only involves database model design. Eventually, use database model have been used as C# (Domain) model. But Domain Model should be lots different from database model. For example, database design care more about data redundancy, while domain design care more about behavior/logic duplication. So my one suggestion is to design two models independently. They can borrow concept and share knowledge from each other, but don't have to tie together. After that, ORM can be used to associate two models. BTW: iBatis is more like data retrieval tool and not ORM tool. Code generator which generate C# class from database is actully step which use database