Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India
Project Steps For Development of any RP (Remote Programmer) project
Created on: Created by: Lasted modified: Project SDLC (Software development life cycle) Terms defined “Site Owner” – Mr. Client or someone on his behalf “Project Manager” – person who manages different projects, track progress and helps developers when required “Developer” develops the site, normally, will do the PHP programming and system design. He will also be available to fix any bug if required. “Graphics Designer” creates the graphics template in JPG format “HTML designer” converts the JPEG template created by the graphics designer into HTML. In some cases graphics designer himself play the role of HTML designer; some times the developer does this work. Following steps must be maintained for any new development
1. Defining the project requirement (6-15%)
Who will do it? Site owner or some one on behalf of the site owner or by RP developer Task description
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
1
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India a. Find out the system actors and define each actors b. Define the system scope, neighboring systems and the system boundaries c. Find out the processes and list them in chronological order. Each process must be numbered. No new number should be created in this level to describe something that is no process.
d. Describe each process (activity) in terms of i. ii. iii. iv. v. Who performs the activity (e.g. admin) What data/info is to be input and the source of the data (e.g. registration info will be fed by the visitor ) What processing the system should do (e.g. system should check the authenticity of data, store in database and send a mail to the visitor email box ) What will be the output data/info and what will be the destination (e.g. reg_info ->member database, thank message -> screen, email with verification code->user mailbox ) Specification (e.g. the system should be capable of handling simultaneous registration from different user)
e. List the different website section / area / logged area for different actors along with the list of the main pages of the system f. Draw the screen layout (using drawing tools in ms-word or paint or any other tools) of the main pages (including home page) of the proposed system.
g. Write down (or refer any doc) the specification i. Software specification and quality bench mark ii. Look and browser related specification Final deliverables / output FRS (Functional Requirement and Specification) cum SRS (software requirements & specifications) describing above Why this step is important? a. System analyst can easily start his by giving graphical representation of DFD and have an idea of the data flow and move forward to a proposed solutions 2. Graphics template design (3-10%) Who will do it?
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
2
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India Graphic designer will do this job. He can be RP designer or other designer hired by site owner. Task description a. Create graphics design as per layout provide and with the site themes in JPG format Final deliverables 1. JPG and PSD template
3. Study, analyze, design and plan the system (20-35%) Who will do it? System analyst along with developer who likely to work on the project Task description This is an iterative process. This requires following tasks to be started in the following order but next may be started before completing previous task as required. One may come back to previous step after doing some part of next task(s). a. RP analyst asks further data and preferences from client before start. This includes i. ii. iii. iv. Different client preferences related to different general section (say login/register to be displayed in single page or not), mail, messages, More information on products and category structure and its nature Two of more number of Draft (but real) dataset that is to be displayed at different stage in the Clarification if any
b. Start with a latest default RP skeleton with CMS, Gallery, Ordering modules and install it at new application code and database c. Delete not required modules / packages / pages from the map
d. Delete final page or page items from the map that is already developed and does not need changes from the map. e. Create a project solution map platform using RP “project analysis tool” along with RP common library
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
3
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India f. Find out the system boundary and make graphical representation if required
g. Create a “rough project map” quickly. This includes following actions in the project map tool (not physical development ) i. Roughly divide the full website system into different subsystem that is independent to each other and may be developed in different phase. For simple system there will be generally only one subsystem. Further subdivide the subsystems into different sections and create those sections in the “implementation map” Identify the pages for under each sections and just create it in the map Identify the input forms in the associated pages and just create it in the map Identify the menu structure for different sections and create it in the map Identify the CMS email that is to be sent under each section and just create it in the map Identify the CMS objects that can be used in each page (without creating custom CMS module for that application only) and just create it in the map
ii. iii. iv. v. vi. vii.
h. Not to remake the wheel, identify the part of the website system that is already developed. If so make the minor modification list (in the project map) to meet client requirement. If the list becomes big just compare whether it is worth modifying or make it afresh. Also buy and customize or make it from scratch decision should be taken. i. Identify the part of the development that can be solved by just using our already developed CMS components (without creating new tables and components) and create CMS objects in the project solution map Clean the default installation and remove any reference of default application i. ii. iii. iv. k. Delete (or z_del) the physical pages/modules/page/packages which are not likely to be required in the new project Delete database tables (or z_del) which are not likely to be used in new website Change the logo/name of the website to new website logo/name Delete old application specific data (do not delete configuration data)
j.
The rest part is to be marked for new development (this part must be iterative) 4
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India i. ii. iii. iv. v. vi. vii. viii. Find out the apparent / hidden data flow (input and output), data sources, data destination associated with each process Create the DFD (for team understanding ) Create the screen shots (for team understanding ) Create the ERD (for team understanding ) Finalize the database tables along with keys and indexes Finalize project solution map for pages, modules, packages, for front end display, CMS emails etc Finalize the different level of login and their access to different pages Finalize the project solution map for new web application 1. Plug-ins 2. Modules i. Pages i. Lists ii. Forms iii. Actions iv. Views ii. CMS objects iii. CMS emails 3. Packages i. Classes ii. Special Functions 4. 5. 6. 7. Client functions to be created or changed App Vars Global Vars Common client instructions for i. Form ii. List iii. Validation messages iv. Success messages v. Any other instruction / specifications for specific part of the project or for the whole project
l.
The project is subdivided into tasks and each task is assigned to developer(s ).
Why this step is important? This step is most important on following reasons
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
5
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India i. ii. iii. Proper decision on “buy and customize” or “copy and modify” or “build from scratch” can quicken development time to a large extent and help to reduce the cost Improper solution map or “copy and modify” versus “build from scratch” can lead to the greatest software project threat “making a wrong system” System analyst can interact with the client at this stage more effectively and reduce the communication during development phase. This will reduce the chance of experiencing a lengthy user acceptance phase. Everything required for a programmer will be available in the solution map. So there will be less chance of being preoccupied with different concept.
iv.
Final deliverables / output 1. Context diagram/ system boundary 2. DFD 3. ERD 4. Final database 5. The final solution map
4. Creating “the basic site” that looks like “the proposed live site” (5-10%)
This is just creating the basic site with just general pages (home pages, privacy page, contact us page, etc) along with different logged area (non-logged area, customer logged area, admin logged area). Please note any page content / SEO items of the basic site should be editable via back end CMS Who will do it? Programmer, HTML designer with close supervision of Analyst and project manager Task definition a. Further clean the root module and only leave with following compulsory pages i. index.php ii. login.php iii. login-or-register.php iv. forgot-password.php v. register.php vi. register-success.php vii. register-confirm.php viii. site-map.php
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
6
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India ix. x. sitemap.xml Plus root pages which are required in the new website
b. Further clean the packages, modules, views , actions, XXClient functions which are not required for the new project c. Convert the JPG in HTML for all JPG templates
d. Finalize the global module stuffs i. Header ii. Header Admin iii. Footer iv. Footer Admin v. Left Col vi. Right Col vii. style.css viii. admin.css ix. js.php x. ajax.php e. Make the site running for all root pages i. ii. iii. f. Create the SEO pages from admin and add content Create the associated CMS objects from admin check the CMS and SEO at visitor end
Implement the design in the site and finalize following items i. ii. iii. iv. The graphics at home page, general page and special pages for which the graphics template is created Test CSS classes and default CSS for HTML tags that goes with graphic design Change the display functions at CMS Client to meet design requirement if necessary Write or change any shared functions, conf files, variable setting etc
g. Implement menu/link structure in different logged area, header and footer h. Implement site authentication for different level of users (admin, customers etc) i. Client test the basic site on look and flow point of view
Final deliverables / output a. The basic site for review
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
7
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India
5. Programming and unit testing other modules (20%-35%)
Task definition a. “Developer” develops a module and test and request “site owner” to check functionality b. “Site owner” checks developed module and suggest changes. The developer makes changes until it is OK. c. Same for all the modules
Final deliverables b. Ready modules
6. Code Review, RP Testing and Quality Control (10-15%)
Task definition d. Developers revisit their codes, clean (delete or _z, _zbak) the code and files e. Developers integrate all the modules f. Developer along with project manager checks code and ensure that it is built as per standard quality g. Quality control team verifies the code and instruct the programmer to change if it does not meet the standard h. Project manager (who knows the requirement) and/or Tester (he may not know the requirement) tests the full site as a whole and fix bugs iterative basis using IR. He will test on standard test plan to test programming and general error or clear requirement error. If there is any debate on requirement it must clarified by client before making any changes. i. j. k. Developer all issues All _z files unused file are removed Have a look on security and take proper action if required
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
8
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India l. Review on SEO friendliness of the site
m. Site owners quickly add/modify the content of the whole site Final deliverables c. Complete site for UAT
7. User Acceptance Testing (UAT) and “passed” by Client
a. Client test adding draft content/data and report using IR or wiki or test plan. The issue status will be “Open” by default.
b. Project manager assigns the issues to different developers as per convenience and make
the status “WIP”. Normally the same developer who has developed that module is likely to be called to fix.
c. Developer Fix it and make the status “UAT”. If required he can make direct
communication with client to clarify it. The communication preferably be via IR/Wiki (not via email) such that the thread itself keeps all communication messages for reference or to be accessed by PM. If some other communication is used (say skype) then the relevant part any issue must be copy pasted in the thread.
d. The client checks if OK make the status “closed” or again make it “WIP” with his
comment along with new problem
e. Every issue are fixed in this way and ready for Launch
Final deliverables d. Ready site for delivery
8. Site Launch (2-5%)
Task definition f. g. “Developer” move the site from “dev” sever to live server “Site owner” , developer, SEO expert make associated changes 9
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
Remote Programmer
(http://www.remoteprogrammer.com) Php / MySQL .NET expert from India h. Take final payment Final deliverables e. Live site
9. 60 days warranty
Task definition i. j. Client reports any programming error experienced in live site Developer fixes it
Contact Remote Programmer: http://www.remoteprogrammer.com/contact-us.php Phone: 91 33 24844727 91 33 24844600
10