Some of the main things that we think would improve rapid development as well as other developments processes are:
- Analysis: Everyone knows the story here but there is not ever a point-to-point analysis is complete and covers everything. There are various documents all across the web on how to do this and how to achieve it. But I think it’s still one of the most difficult things to do in development. Analysis is not fully equipped that is for sure but it needs more than intelligence for a right candidate to do so. The candidate who knows about system and how they work with other systems is always beneficial; this provides analysis near or full to scope. The wisdom from these candidates provides up scaling and downscaling of the project of where it is and where it needs to go. This also counter measures if any situation or issues that can arise because of the project development.
Best bet would be to have a wise man do the analysis to begin the project
- Requirements: This is easy part once the analysis is done correctly the list can be made and checked and signed by the client. The client needs to sign off the list so that they have something to work around which is easier for them to understand and comprehend. This list needs to be fully be communicated to the design, development, testing, project manager, team leader etc. fully. All and everyone should be on the same page. The more detail the requirement is the better it is. The list should be actions that need to be taken for a module be completed.
So get the project requirement signed off and make sure it’s communicated to all levels of the team. List should consist of actions.
- Allocation of requirement: What is needed from what if realized in the beginning is much better than realizing who is responsible in the end. For example if we know that the client needs to send us the payment gateway and we have a list of things as per the requirement. Then we should have this assigned to the client with time on when he should get back to us with response. All the requirement/list etc. are not great to work with if the allocation to the right responsible associate or time is done correctly. This process too needs to be done as step 3 and in the beginning where ever possible
Allocation of actions to the right people with time constraint of completion earlier before development
- Design and architecture: The difficulty on this stage has been rare in developments. But this is one of the crucial stages and the only way to achieve maximum benefit on this is by getting approvals of all the designs/wire frames by clients and making sure the basic architecture of coding and standard is going to get maintained.
Approval of rounds of designs should be quick with clients
- Ready for Coding: Before we begin the coding we need to be assured that the designs are ready and the developers working on the code don’t have to fall back and do anything that needs redone. All the specs/ lists/timelines/ requirements should be in the hands of the developer’s team. A standard should be made for the coding depending on framework, architecture that needs to be used. All the security measures should be considered at this stage as well.
Make sure the team knows the standard/ coding structure to follow throughout the coding period
- Coding: This stage should not accept any changes as the timelines would be disturbed or get effected unless it is something that is realized in the middle of work which is crucial. The main focus should be keeping the standard of code to be consistent throughout. Which needs to be checked one every module is made and matched up with the spec and the list of requirements and actions made.
Checking coding to match up with business logic and list of actions, requirements and specification. To be done at every module stage so no rework is done.
- Testing: Once a module is done a module should be functionally be tested. Once the project is completed with coding. Specific use cases should be ready for the testing team to start testing every use case possible. The analysis team to see if everything is covered should approve all the use cases/test cases. This can be done in the beginning stage as well. Testing should be done at module level then in the end with all possible scenario test cases.
Testing the modules and everything in the end and matching it up with the specs and requirement to double check everything is working. Finally doing the scenario and possible environments of stress of users different browsers operating system is necessary depending on the application being made.
- Maintenance: Once the project is signed off this stage comes in. For the development team its essential to make sure that the maintenance agreement is clear of what is change what is addition to sustain the project.
Make sure agreements are made for every request there should be a valid change request and addition request form submitted by the client so everything is documented.
Rest assured there is not a perfect example, method and formation of any solution to gain 100 % effectiveness but the above has helped Our development company to achieve more effectiveness of what we use to have. In the end you might not hit the bulls eye in first go but it won’t happen on the 100th but rather the 10th, which too is helpful in this dynamic world.