Rapid Development Process

Rapid Development Process

Rapid Development Process.

RDP or how to Rescue Kamikaze Projects.

When the project  must be done in shortest time.
This is not AJAIL, just keep this in mind. I don’t like AJAIL at all, for me it is bzzz word and basically nothing else. I don’t want to provide here more details about why AJAIL is bad. Try to make research by yourself. Here I want to describe absolutely different development lifecycle process. This is my invention and I took ideas from my head based on my experience in different spheres, including development, QA, project management , psychology and other side of business. With this RDP we successfully “rescue”  17 different projects. As independent consultant I implement this process in some companies around the world.
Problem : You have project which must be done in short time, with high quality. And this project is critical! Keep this in mind. RDP keep people under strong and constant pressure, therefore use it ONLY FOR CRITICAL PROJECTS! Let’s say that you got orders for 2 projects one of them must be done in this month and another in end of next month. Customer ready to pay good money and you don’t have time for new team or don’t want to extend your team because this situation with 2 projects is unusual.
Requirements : You must have developers , QA’s, Architects, PM, BA and SA.  You must have one big class room, where all people will be working in time until this project done.  Here is sample of team : 1 PM ( Coordinator), 10 DEV’s , 2 Architects - Mentors ( very advance developers ) they will be on roles Architects and Mentors. 1 BA ( Business Analyst ) he is responsible for communication with customer.  But we’ll discuss all roles latter, 2 QA’s, 1 System Analyst.
Place : Big class room with work place for each person. Table and chare, NO CUBICLE. (Everyone must been seen)  Projector with screen, white board. Everyone must have connection to projector. Access to Internet.  Software related to project. Other staff – like coffee machine is up to you.
Roles : Project Manager (PM) – Main control role in project. Communication with customer on global level. Guiding project. Global tasks creation. Controlling other members, tasks and schedule. Meetings guiding.
Business Analyst (BA)– Communication with customer about business and functional requirements. Creation his own tasks for project, controlling those tasks and testing it.
ArchitectMentor (AM) . Creation of Architecture for application based on customer, BA requirements and brain storm results. In development phase – helping with answers to developers. Creating and controlling tasks for developers.
Developers. (Dev) – Development, meetings, participation in improvement offer meetings. Brain storm meetings.
QA – Controlling of quality of application based on customer, PM, BA requirements. Participation in Brain Storm meetings. Quality review. Taking issues from customer and submitting this to PM, BA, Architect.
System Analyst (SA )  – Responsibility for software and hardware. Started preparation to project in 2 days before. Participation in Brain Storm meetings and hardware review requirements for project.
Here is some sample project which has been done in 10 days, instead 6 months ( as per request from couple companies ). One customer asked about Online Store portal based on.NET 3.5 framework implementation. Web Based UI, Web Based Admin Panel, Web Based Sales Control Panel, MS SERVER 2008 with MS SQL 2008, Credit Card online processing , PayPal accepting, AJAX.
-           2 days before project started.
System Analyst start preparation of Servers and Labs. He made implementation of virtualization based on HyperV for all servers and made preparation of work stations and class. TFS, VS2008, MSMESSNGER ( we use it request remote assistance from other members of our team ) . VPN for customer aces to our presentations. This is just brief description of configuration it could be different.
PM , BA and Architect had meeting with customer and discuss more details about requirements , customer view on end result . After that they create short list of team Knowledge requirements.  They had meeting with all team and made announcement for team about project, requirements, implementation and knowledge. Based on this requirements every team Member ( Dev’s ) made decision which level of knowledge related to some specific parts they have and mark it in team list. We got 3 Seniors 4 intermed. And 3 junior devs.
After short time they had brain storm meeting with discussion of project, improvement, implementation and optimization.
-           1 day before project started.
All team in working office ( class ) checked all equipment, work places. Important part of places location. Front line – Juniors Devs. Second line –Inter.  Third line Seniors 4th line Architects and QA’s , BA and PM. 5the line usually Sys Analyst. After checking and optimization all software and hardware – Brain Storm meeting about best project implementation. Costumer can participate or can’t.   After Brain storm meeting – Architect made preparation of all project framework with description what he is doing on Projector. Last session Questions and Answers.
-           Project time
I want to describe just one day of this project and you can see how RDP different from everything else which you work with before.
SA coming usually 30 minutes early to turn on all systems and computers to avoid delay if something wrong this process. And he is leaving latter, when he check all equipment and make backups of servers.
Because all architecture is clear PM creating global tasks for Architects. Architects creating more detailed tasks for developers and based on experience of developers ( you should remember that Devs sitting in rows relatively to there experience ) and assigning that tasks to developers. All tasks located on board – Projector with % how much is done and who is responsible.
In the same time BA with customer working under UI, Business layer and details. When some information is ready, then BA transfer this tasks to Architects and they include this in tasks.
-           Hand of Help – This abbreviation of important process. When developer meet problem he raising his hand and then Architect = Mentor helping him, or reassigning task. Any complications which developer met in his work – must be resolved IMMIDEATELLY. Hand mean request for Help ! Some cases shown via projector to everyone.
PM – In this Time most important task for PM – keep performance of every member of team. He must see and control all team and check if somebody “loosing track” Performance monitor for each task on display on projector and if PM see that some dev stop process he must switch projector monitor on him and check the delay.
Now you see how important preparation and skills analyses, because if some team member pronounce him like “ I know this and I’m senior with this” but he is not indeed, then this member can put project in risk. But all team are pretty flexible and therefore this member tasks can be switched to  more advanced developer.  Therefore PM and Architects must pay more attention to skills analyses in preparation process.
QA – When task is completed – Architect transfer it to QA for review and documenting. QA making analyses of code or functionality and submitting bugs to Architects. QA’s have communication with Costumer all time to resolve questions and misunderstanding.
Stress Handling – it is up to team what they want. Mostly PM must have idea about stress handling because there are 2 stages when stress is can hit all team. It is 1st day and end of project. Some short cartoons for 10-15 minutes, coffee brakes with pizza or some every day gifts to all team members are really helpful.
Work Time – Usually this is 8-10 hours of work with 2 short brakes 10-15 minutes and lunch time 30 minutes. PM must keep control for time consumption and all team member must be agree to work hard. Good financial compensation is helpful. Sometimes team keep good performance if PM can provide money % to team for every day. 
Customer – He or she must be with team all time, if will be questions. On site or off site, but this 2 weeks customer must be with team.
WHY …..
Now I want show you where is “magic” happening. Why project is going so fast.
Fast communication – No delay with answer or questions. All changes, request and problems resolved immediately.
No unnecessary documentations. From my experience 95- documentations are garbage, just to keep people busy and show how important somebody is. Effective communication removing paper garbage from project.
Effective time utilization! – When you keep control you see result. When everyone seen and controlled – no time for Internet browsing, online shopping, news reading or chat. Only unnecessary research for unnecessary questions.
Proper Help in short Time – If developer don’t know something and Architect can help – this is better way if developer start search Internet for answers and make experiments.
Human Factor – This is probably most important part. All team members must be  experienced professionals and voluntarily choose to work for this project !!! They must understand that this project will be very hard. And they must see what the interest for them to work so hard. Therefore as I mention before – financial compensation – good idea !


Leave a Comment
  • Please add 2 and 8 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
  • pkn2011 edited Revision 3. Comment: Something weird happened??  

Page 1 of 1 (1 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
  • Hello. Perhaps using RDP as an acronym for this articles' title of: Rapid Development Process, seems to create a conflict with RDP usually being used as the acronym for 'Remote Desktop Protocol' I think? Regards, pkn

  • pkn2011 edited Revision 3. Comment: Something weird happened??  

Page 1 of 1 (2 items)