| Software Development process |
Agile/Scrum Process Overview
Project kick-off
Implementation Methodology:
| Subject |
Content |
| Project information |
Define project scope.
Define implementation technologies.
Define final certificate conditions of project.
Define payment term & method
|
| Project resource |
Main resource for both sides.
Specific information & role of each related resource.
|
| Co-operation method |
Discuss with customer about project development process.
Define the co-operation method.
Define the communication, discussion, report, meeting methods.
|
| Important time marks |
Unify all important time marks of project such as: starting time, development time, deployment time, trail time, ... |
|
All that content must be documented and be signed both sides.
Requirement Analysis
Pupose:
- Analyse the current system and the related business process.
- Investigate & collect all requirements of all related Actors.
- Define the expected actors and functions in future of system.
- Collect all requirement documents and require customer approve all those documents.
Implementation Methodology:
Steps & Roles:
| STEPS |
ISOFTCO ROLES |
CUSTOMER ROLES |
| Make Requirement Investigation Plan |
- Make details investigation schedule.
- Indicate the investigation content and specific investigation tasks in the schedule.
- Receive customer requested plan and discuss about the final project schedule.
|
- Review, Comment the ISOFTCO’s schedule.
- Make plan and assign resource to support ISOFTCO during requirement investigation period.
- Approve the investigation schedule. |
| System Investigation |
- Implement the approved investigation schedule.
- Learn business of current system.
- Learn the other related busiess.
- Collect the related documents & templates such as reports, invoices
|
- Supply all business information which ISOFTCO need during investigation period.
- Explain all special and complex business.
- Supply all related documents.
|
| Collect all user's requirements |
Collect all customer requirements, customer expectation about system.
Consult customer to select the best solutions and functions for system. |
Explain all their expectation about system.
Discuss and Comment the solutions are using to solve some complex requirements of system. |
| Edit and Approve System Requirement Document. |
- The customer requirement investigation Leader must collect and document all customer requirement information and send to Customer for reviewing & approving.
- Change & Update documents until they are approved by Customer.
|
- Review & approve all system requirement documents.
- Comment and submit the final version of docuements.
|
| Collect & release result |
Setup a meeting to present all system requirement documents and require customer to approve and submit those documents. |
Approve and submit all system requirement docusments |
|
System requirement investigation result:
- All system requirement documents.
- All related business and documents.
- All business explaination documents and the related business.
- Acceptance certificate between both sides.
Result documents:
| No. |
Document name |
Approval Person |
Purpose |
| 1 |
Investigation Schedule |
Customer PM
|
Create investigation schedule, working plan, and working content. |
| 2 |
Investigation Report |
PM, Designer |
Report the investigation status & result |
| 3 |
System requirement collection documents |
Customer, PM
|
Collect all main requirements of system. |
| 4 |
All related documents |
Customer, PM |
Additional documents for requirement investigation period. |
|
Functional Breaking Down
Purpose:
- Indicate the priority of each functional group.
- Indicate some main development Spints, including time and modules for each Sprint.
- Unify development time of some first main Sprints.
Implementation Methodology:
Steps & Soles:
| Step |
ISOFTCO Roles |
Customer Roles |
| Indicate Functions and Functional Groups |
- Indicate main functions of system based on the requirement documents.
- Indicate the relations between functional groups.
- Use use-cases diagram to indicate the relations between system functions
|
- Review system functions that issued by ISOFTCO
- Add, Edit system functions.
- Unify list of system function will be developed.
|
| Value Functional Groups |
- Estimate the important level of each function. Indicate the priority of each function.
- Estimate development time for each function.
|
- Review the priority of each function in system
- Update the functional priority, functional important level following users’ expectation
|
| Approve Functional Valuation |
Unify list of functions, the important level, the implementation priority, and estimation time |
Unify list of functions, the important level, the implementation priority, and estimation time. |
| Make plan for each Sprint |
- Group functions follwing the functional relationship and the priority conditions.
- Group one or more functions into one Sprint and Estimate time to develop one Sprint about 4 weeks.
|
- Approve list of functional groups.
- Submit the plan to develop each Sprint.
|
| Indicate some first Sprints |
Indicate Sprint that is holding important & high priority functional groups and develop those Sprints firtly. |
Submit the plan to develop some first Sprints and make plan to co-operate with ISOFTCO |
|
Result:
- List of functions ordering by functional priority.
- Development estimation time for each function.
- List of Sprint, including functional group and development time.
- First Sprints indication.
Output documents:
| No. |
Document name |
Aprrover |
Purpose |
| 1 |
Functional breaking down document |
Customer Designer
|
Indicate list of main system functions; value the important level of each function. |
| 2 |
Sprint development plan document |
Customer Designer |
Make development plan for each functional group, estimate releasing & approving time of each Sprint. |
| 3 |
Fist Sprint specification document |
Customer Designer |
Issue more detail specification document of functional groups in first Sprint. |
|
Implementation
Purpose:
Uses software development tools and technologies to implement functions, functional groups in the selected Sprints.
Implementation Methodology:
Steps & Roles:
| Steps |
ISOFTCO Roles |
Customer Roles |
| Break down into small tasks |
- Break down functions in Sprint into small tasks and one task should be estimated to implement in 8 man-hours (1 man-day).
- Developers are involved to estimate and register their own tasks
- Designer collects and makes detail development plan of current Sprint.
|
- Approve the detail development plan of current Sprint
- Plan for involving into the implementation plan and reviewing the output result
|
| Analysis & Design |
- Designer & Developer work together to update the functional specification document.
- Designer & Developer discuss, analyse, design system functions, system database, system architecture and so on
|
- Approve the updated requirements.
- Approve, Update, and Comment the analysis & design documents
|
| Implementation |
- Developers use development tools & technologies to implement the designed functions
- Designers review the implementation result (source code, program, progress,…) day by day
|
|
| Testing |
- Test the implemented functions |
- Involve into testing phase |
| Daily meeting |
- The development team should seat down together arough 30 minutes per day for daily meeting
- Report the finished works last day
- Report, dicuss, and find out solutions to solve the remain difficulities
- Indicate today targets.
|
|
| Release Sprint |
- Review and approve all implemented functions in current Sprint
- Intergrate those functions with the other functions in the released Sprint before.
|
- Review all functions of current Sprint.
- Consider the related business and functions.
|
| Sprint summarizing |
- Indicate all difficulities and troubles in the current Sprint
- Indicate some points should be solved in next Sprint or the others
|
- Involve the summarizing meeting.
- Comment and suggest about the communication between 2 sides at next Sprint.
|
|
Result:
- Completed detail functional specification documents
- Completed detail functional analysis & design document.
- Deployed all functions in the current Sprint.
- Customer approved and signed the deployed functions in the current Sprint.
- Integrated the deployed functions in the currents Sprint with the other deployed functions.
Output documents:
| No. |
Document Name |
Approver |
Purpose |
| 1 |
Detail functional specification document |
Customer
Designer
|
Describe detail all functions in the current Sprint |
| 2 |
Functional analysis & design document |
Customer
Designer |
Analyse & Design detail all functions in the current Sprint |
| 3 |
Minutes for meetings |
Designer, Developer |
Report all result from the daily meetings. |
| 4 |
Sprint status collection document |
Designer, Developer |
Report current implemetation status of the current Sprint. |
| 5 |
Sprint result report |
Customer
PM, Designer
|
Report Sprint’s result and all comments and approves from customer. |
| 6 |
Sprint summarizing document |
Customer PM, Designer
|
disadvantages of current Sprint development process and gain experience for next Sprint. |
|
Development support tools
Agile/Scrum development process is very power about interaction between development team and customer. Therefore, we used supporting tools to improve speed, quality, visually of communication between both sides and those tools allow both customer and development team tracking clearly system development progress.
VersionOne: Tool was built based-on Scrum process. VersionOne supports following main features:
- Break down system functions into small tasks; value the priority of each function.
- Make project plan.
- Make Sprint plan
- Report implementation result of each small work in Sprint.
- Generate progress reports of Sprint
One of the most important report in Agile/Scrum is Burndow chart. This chart allows seeing visually a comparison between real progress (blue line) and the expected progress (pink line).
Mantis: Tool allows to reporting bugs, bug fixing progress. Allows Testers and Developers communicating during fixing bug progress.
Wiki tool: Tool allows to uploading and publishing all project’s related documents, requirement specification document, analysis & design documents. It also allows actors of system to updating, adding, issuing content of those kinds of document.
Deployment & Support
Purpose
Deploying the completed system to real environment of customer. Also transferring all related documents, training, and so on.
Implementation methodology
Steps & Roles:
| Steps |
ISOFTCO Roles |
Customer Roles |
| Prepare |
Prepare environment |
Prepare hardware |
| Deploy |
Deploy the completed system on real environment. |
Supply ISOFTCO all supporting information during deploying time. |
| Make document |
- Make deployment & installation documents
- Make maintainence document
- Make manual document
|
Acceptance Testing |
| Testing |
Test all developed functions |
Acceptance Testing |
| Daily meeting |
- Daily meeting (arough 30 minutes per day)
- Report the finished works last day
- Report, dicuss, and find out solutions to solve the remain difficulities
- Indicate today targets.
|
|
| Training |
- Make training plan
- User guilde training
|
- Approve training plan.
- Assign user to involve into the traning courses.
|
| Operating |
Operate all system functions |
Co-operate and submit final certificate. |
| Acceptance Certificate |
Make procedure of final acceptance certificate |
Accept final acceptance certificate. |
|
Result:
- Deployed system in real environment.
- Transfered manual document
- Trained all functions for all related users from customer side.
- Transfer all documents: specification, analysis & design, manual,...
- Acceptance test & Final acceptance certificate
Output documents:
| No. |
Document Name |
Approver |
Purpose |
| 1 |
Deployment & Installation document |
Customer Designer
|
Guide to deploy, install the system on customer invironment |
| 2 |
Manual document |
Customer Designer |
Guide to operate and use all functions of system. |
| 3 |
Training plan |
Customer Designer |
Make traning plan. |
| 4 |
Final acceptance certificate and training result |
Customer Designer |
Submit the final result of the completed system and training result. |
|
|
|
| Achievements |
|
|
 |
Software Development Process |
|
|
|
|