Monday, September 20, 2010

I have a question about Product Integration and "Determine Product Integration Sequence" - SP1.1


I have a question with respect to Product Integration (PI) – specifically with respect to “SP 1.1 Determine Integration Sequence”

I work in a software development company, One of the findings that we got when we did the GAP analysis was that that the projects have not documented the integration Sequence.

Now the question is when we say Integration sequence, do we mean the Integration sequence with respect how each functional module integrates with one another and the order in which they are developed or are we talking about the various layers say UI Layer, Business Layer and Database Layer ?

When we talk to the development team, they normally come back saying that all the modules are developed parallel and we do not have a sequence for integration . Actually we are following Waterfall model for development.

Can you please advise on how do we handle ‘Product Integration’ in this scenario as we are trying to CMMI ML 3 compliant.

In understand your pain! Sometimes the CMMI can be cryptic. In the SW world, sometimes this practice is simple and straightforward, and sometimes it's complicated. Sounds like yours is of the "simple" kind :)

Don't confuse "development" with "integration." The sequence by which you develop code is not what this practice is about. How you prioritize your development work is a function of project/sprint planning and is not usually part of the overall "integration effort."

I always ask myself "why does this practice exist?" It exists because, after a piece of development is done (either the whole program or a completed Sprint) it needs to be "integrated" into the environment. Sometimes that can be a multi-step process. If you are developing simple applications, and if you practice continuous builds, or daily builds, this is done, in part, by the scripts used to build the apps.

But in a more complex system, consider that there may be many things that have to happen. For instance:

1. Promote the code
2. Install module 1,3,5 on the server and run data conversion program
3. Install module 2,4 on the server, and register the objects with Windows Server
4. Install 32-bit thunking layer to ensure ten-year-old OLE objects still work (duh!)
5. Test all the interfaces after loading the 128-bit encrypted data layer
6. Replace that piece-of-crap MS JET Database Engine with a real one by Oracle
7. Run all the tests.
You see, at can get complicated, and determining the sequence CAN be very important!
Good luck!

No comments: