uk system case study

Upload: krishan-bansal

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Uk System Case Study

    1/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 1

    CONTENTSIntroduction....2

    The company...2Projects....2

    Required task...2

    Assumptions.....2Description of software development process.................................................................................3

    Process activities/steps.....3 Feasibility study..3 Requirement analysis...4 Specification....4 Software architecture ...4 Design..4 Coding.4 Testing.4 Implementation/deployment....5 Maintenance5Software development methodology..5 Need for methodology.....5 What is Scrum and what is the relat ionship between Scrum and Agile6 Scrum Principles.6 Definitions of key terms used in Scrum.6 How scrum works..7

    Tools available ..7Tools for Management...8

    Spreadsheets..8 Burn down Charts..8 MS Project .8Tools for development..9 IDE(Integrated Development Environments)...9 QTP(quicktest Professional).....9

    Tool for Sales and Marketing...9 CRM for the Sales. Marketing and Customer relation managements..9

    General tools for all users10 SQL Server 2008.10 TeamWeaver ....10

    For Finance (Tally)..10

    Critical analysis of the effectiveness of the tools........................................................................11

    Conclusion...12References...13

  • 7/31/2019 Uk System Case Study

    2/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 2

    INTRODUCTION

    UK Systems is a software development business which provides systems for a variety of clients,specializing in E-Commerce systems. Clients requirements will be analysed and a quotation

    given for an appropriate solution. When a quote is accepted the software will be producedthis

    may be a standardized product, a customized version of their product or a specially-writtensystemand any necessary hardware will be purchased and supplied.

    The Company

    The company UK System has the following staffSales Department: - 15

    Marketing Department: - 5Development Department: - 35

    Customer Support Department: - 12Finance and Administration Department

    Company Headquarter: - Staffordshire in the UK

    Other Locations: - Hong Kong and Kuala Lumpur.

    Projects

    Company is having between 3 and 10 projects on-going at any one time, and project duration can

    range from between three weeks to one year to develop. Projects may be new implementations ormodifications/enhancements to existing systems. UK Systems gives customer service (i.e. offers

    advice and gives help) and maintains their products (i.e. makes necessary legal changes, fixesany bugs) throughout an agreed period of time.

    Required Task

    The required task is to analysis the current situation of the company UK System, what are the

    activities going on in the company, and to propose a Software development process suitable forthe company.

    ASSUMPTIONS

    The company is charging for the required specialized hardware to developing the software

    system from the client.The company is having a zeal to grow in the market.

    Company aims to achieve 10% annual growth for the next 3 years.The company will buy the software/hardware required for maintaining the process in the

    company offices.Same rules and regulations are applied to the whole company offices.

    The eools that company is using has been verified by the company and then they are put to use.

  • 7/31/2019 Uk System Case Study

    3/13

  • 7/31/2019 Uk System Case Study

    4/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 4

    Requirement Analysis

    If management has given its approval to proceed, the next stage is, extracting the requirements ofa desired software product is the first task in creating it. While customers probably believe they

    know what the software is to do, it may require skill and experience in software engineering to

    recognize incomplete, ambiguous or contradictory requirements.

    Specification

    Specification is a document that clearly and accurately describes the essential technical

    requirements for items, materials, or services including the procedures by which it can bedetermined that the requirements have been met. Specifications help avoid duplication and

    inconsistencies. They provide a precise idea of the problem to be solved so that they canefficiently design the system and estimate the cost of design alternatives. They provide guidance

    to testers for verification of each technical requirement.

    Software Architecture

    The architecture of a software system refers to an abstract representation of that system.Architecture is concerned with making sure the software system will meet the requirements of

    the product, as well as ensuring that future requirements can be addressed.

    Design

    Software design is a process of problem solving and planning for a software solution. After thepurpose and specifications of software are determined, software developers will design or

    employ designers to develop a plan for a solution.

    Coding

    Reducing the design to code. The purpose of programming is to create a program that exhibits acertain desired behavior. The process of writing source code often requires expertise in manydifferent subjects, including knowledge of the application domain, specialized algorithm and

    formal logic.

    Testing

    Software testing is a process conducted to get the information about the quality of the product or

    service under test.Testing can also be stated as the process of validating and verifying that a softwareprogram/application/product:

    1. Meets the requirements that guided its design and development.2. Works as expected.3. Can be implemented with the same characteristics.

  • 7/31/2019 Uk System Case Study

    5/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 5

    Implementation/Deployment

    In this the system made is put to use and proper training is given to the users how to use thesystem as the users is resistant to use the system as they dont want to change so proper training

    should be provided.

    Maintenance

    Maintaining and enhancing software to cope with newly discovered problems or newrequirements. Not only may it be necessary to add code that does not fit the original design but

    just determining how software works. Maintenance also includes the bugs fixing.

    SOFTWARE DEVELOPMENT METHODOLOGY

    A project methodology tells you what you have to do, to manage your projects from start tofinish. It describes every step in the project life cycle in depth, so you know exactly which tasks

    to complete, when and how. Whether you're an expert or a novice, it helps you complete tasksfaster. It is a framework that is used to structure, plan and control the process of developing an

    information system.

    Need for MethodologyWe need a methodology to steer your projects in the right direction and keep them on track. You

    also need it to help you manage your projects in a structured, repeatable fashion. That way, youcan apply the same approach to every project you undertake.

    Agile is a group of software development methodologies based on iterative and incremental

    development, where requirement and solutions solve through collaboration between self-organizing, cross-functional teams. Agile processes use feedback, rather than planning, as their

    primary control mechanism. The feedback is driven by regular tests and releases of the evolvingsoftware. Agile processes seem to be more efficient than older methodologies, using less

    programmer time to produce more functional, higher quality software.

  • 7/31/2019 Uk System Case Study

    6/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 6

    I propose an agile methodology such as SCRUM for the UK systems. As Iterative development

    or XP is chosen when clients function in a fast paced business environment where requirementsare volatile. Through open communication and collaboration and iterative development,

    Company should adopt the agile methodology to develop software that provides the clients withan accelerated delivery cycle and the flexibility to change requirements according to changing

    business needs.

    What is Scrum and what is the relationship between Scrum and Agile?

    Scrum is an iterative and incremental agile development methodology. Scrum may be viewed asan agile framework for developing software. Scrum does not provide a complete template or

    detailed description of what to do during software development. Scrum prescribes desiredoutcomes and leaves it to the agile scrum team to best determine how to solve the problems they

    encounter. Scrum may be used for both software development and software maintenanceprojects.

    Scrum Principles

    Individuals and interactions over processes and tools

    Completed functionality over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

    Definitions of key terms used in Scrum

    Product Ownerthe owner of the business, customers or users who guides the teamtoward building the right product.

  • 7/31/2019 Uk System Case Study

    7/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 7

    Scrum MasterEnsures that the team is functional and productive. The ScrumMastermay be viewed as the coach for the scrum team.

    Scrum teamcross-functional and self-organizing team that gets the work done. Sprint planningan event/meeting wherein the scrum team meets with the product

    owner to choose work to deliver during a sprint.

    Daily scrumA meeting wherein the scrum team meets every day during the duration ofa sprint to share about progress made plans and obstacles if any.

    Sprint reviewsEvent where the scrum team demonstrates the product to owner what ithas accomplished during the sprint being reviewed.

    Sprint retrospectivesEvent where the scrum team looks at the recent sprint that hascompleted for ways to improve product development.

    Product backlogIt is a dynamic and prioritized list of requirements for the project. Theproduct backlog will have the features and requirements for a product developmenteffort. It is dynamic in that requirements may be added or removed to the list.

    Sprint backlogit is a negotiated subset of the product backlog that the scrum teamcommits to accomplish during the time frame of a sprint.

    Burndown chartrepresents the work remaining for the sprint and the overall project.

    Potentially ShippableIt means that the work output delivered to the customer at the endof a sprint.

    How Scrum Works

    Scrum relies on self-organizing and cross-functional teams known as scrum teams. The scrumteam is self-organizing as there is no overall team leader or manager who allocates tasks or tells

    how a problem is to be solved. These issues are decided by the scrum team. The scrum team iscross-function as members in team are from the different areas developers, testers, technical

    writers, etc. so that everyone necessary to produce working and shippable software is involved.During each sprint or time period, typically a two to four week period the team creates a

    potentially shippable product increment. The set of features that go into a sprint come from theproduct backlog, which is a prioritized set of requirements of work to be done. The Client

    informs the team of the items in the product backlog that needs to be completed. The team thendetermines how much they can commit to complete during the next time period or sprint, and

    records this in the sprint backlog. No one is allowed to change the backlog during the sprint;means the requirements for the sprint are fixed. Development is Timeboxed i.e. sprint must end

    on time.If requirements are not completed for any reason they are left out and returned to theproduct backlog. After a sprint is completed, the team demonstrates how to use the software.

    The main principle of Scrum is its recognition that during a project the customers can changetheir minds about what they want and need. These unpredictable changes cannot easily address

    in traditional planned manner. Scrum uses an empirical approach means the problem cannot befully defined. The team is able t respond quickly to the changing requirements.

    TOOLS AVAILABLE

    Tools help to develop the system which is meant to result in high-quality, defect-free, andmaintainable software products.

  • 7/31/2019 Uk System Case Study

    8/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 8

    Tools for Management

    Spreadsheets

    In this details of the artifacts like sprint backlog or work for the period and product backlog

    details are maintained they are available to the whole team. In spreadsheets the work that has tobe done with the deadlines is mentioned and the whole plan for the sprint is mentioned.

    Burn down Charts

    A burn down chart is a graphical representation of work left to do versus time. The outstandingwork (or backlog) is often on the vertical axis, with time along the horizontal. That is, it is a run

    Chart of outstanding work. It is useful for predicting when all of the work will be completed. It gives a clear overview on how much time it will take and what are the remaining tasks, how

    much task completed and the remaining effort for the sprint.

    MS Project

    MS Project is project management software. It is designed to assist project managers indeveloping plans, assigning resources to tasks, tracking progress, managing budgets and

    analyzing workloads. The application creates critical path schedules, and critical chain and eventchain methodology. Chains are visualized in a Gantt chart. Project can recognize different

    classes of users. These different classes of users can have differing access levels to projects,

  • 7/31/2019 Uk System Case Study

    9/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 9

    views, and other data. Custom objects such as calendars, views, tables, filters, and fields arestored in an enterprise global which is shared by all users.

    Tools for development

    IDE(Integrated Development Environments)

    Netbeans, Eclipse and Visual Studio are used for the developmet of the projects.

    QTP(QuickTest Professional)

    HP QTP is a software provides functional and regression test automation for software

    applications and environments. It can be used for enterprise quality assurance. It works byidentifying the objects in the application user interface or a web page and performing desired

    operations. HP QuickTest Professional uses a VBScript scripting language to specify the testprocedure and to manipulate the objects and controls of the application under test.

    Although HP QuickTest Professional is usually used for "UI Based" test case Automation, it alsocan automate some "Non-UI" based Test Cases such as file system operations and database

    testing.

    Tool for Sales and Marketing

    CRM for the Sales. Marketing and Customer relation managements

    This tool helps the sales, marketing and customer support team by helping in the reportgeneration of the sales and expected sales results which help them in making the plans for the

    marketing and sales of the product. Sales software should also include organizational tools youwould use every day, such things as contact lists, a task manager, calendar, email, notes and

    prospect files. But sales software goes one step further; it ties all these things together and linksthem to your opportunities. That way you have all the notes, emails, appointments and history

    about a prospective deal in one place, captured for easy access and reporting. It's the ultimatecombination of organizational tools and sales management information. This tool helps in

    making the contact list of customers and helping in report generation. The company has

    purchased this tool from the vendor (prophet- Easy CRM Software for outlook) for the easiness

    of the work in the organization.

    For small projects and daily routine work S excel is used to maintain the timesheets and the dailydata. The financial department is using excel for maintaining the financial records and proper

    maintaining the funding details of the project sources needed and already having the resources.

    http://www.avidian.com/http://www.avidian.com/http://www.avidian.com/http://www.avidian.com/
  • 7/31/2019 Uk System Case Study

    10/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 10

    View of CRM contacts

    General tools for all users

    SQL Server 2008

    The company is using SQL Server 2008 for maintaining the customer database and keep therecord of the projects and then satisfy the queries of the customer if any by getting the

    information from the database. The list of potential customer is also maintained accordinglyalong with maintaining them in CRM so that the data can be analysed by the admin department

    to give the directions to the sales and marketing department and for future strategy making.

    TeamWeaver

    This helps the user to connect remotely to the system antwhere in the world and the problem canbe solved from anywhere by connecting to that system.

    For Finance (Tally)

    Tally is used a tool for the finance department. In this all the facilities like Invoice generation Inventory management Maintaining Clients accounts Holds the records for the clients accounts.

    All the requirements for the accounting purpose can be solved using tally software.

  • 7/31/2019 Uk System Case Study

    11/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 11

    CRITICAL ANALYSIS OF THE EFFECTIVENESS OF THE TOOLS

    The tools that were used in the company helps in maintaining the proper work schedule andkeeps the track what is going on in the projects and how they are proceeding. The tools are used

    to ease the process of the development, marketing, finance and customer support.

    Spreadsheets and Burn down Charts are useful for development as well as the sales team.With the use of spreadsheets and Burn down Charts the user can find the status of the projectswhether the project is running on time or lagging with the use of this the financial department

    can make the necessary resources available to the staff for the timely completion of task andhence try to cut the loss due to lagging. With the help of spreadsheet the financial admin knows

    which staff is quite free can be utilized somewher else and if the person is suitable for laggingjob he can be shifted temporarily for speeding up the task.

    MS Project this tool helps in the project management and man power management and the plan

    for the period can be maintained and checked is is available to all the members so they knowexactly where they are now and what is their final goal and how much they need to put more to

    achieve the final goal. It will provide great benefits to the organisations by letting the managersknow exactly the tasks and the status of the project and what is prosed for the future in the

    project and if there are any changes they can be done easily and will be visible to all the staff.

    In development tools company is aminly focusing on the object oriented languages and propertools are being used for development of a successful and bug free project. IDE like netbans,

    eclipse and Visual Studio are used and the for testing the tools the tools like QTP is used thereare various other IDEs and Testing tools are available but the comapany is using these as they

    are proper in them and have all the required tools inbuilt and they support the varied number ofAPI also so they are also providing scalability and QTP is a well known testing tool by HP. The

    company is trying to use the potential of all these tools to the fullest and so that the product is

    bug free and less time in maintainence goes. So less time in maintainence for the newly createdproject will be earning more profit.

    CRM(Customer Relation Tool by prophet) is used by the sales staff and all the marketing staffand customer support staff. This helps in the timely generation of the reports to the sales staff

    and the customer support staff can easily handle the queries of the customers by looking for theinformation about the client in the CRM. They can also make the list of potential users who ever

    inquired for their product this way the organisation will be able to contact the potentialcustomers and hence more profits to the organisation.

    For the overall data tracking company is using SQL Server 2008 and TeamWeaver and tally to

    maintain the overall flow of data healthy and can be easily accessed by the management fortaking the decisions and helping the management in making the policy for the future.

  • 7/31/2019 Uk System Case Study

    12/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 12

    CONCLUSION

    The company UK systems is specialized in the e-commerce systems and they are having theirhead ofiice in staffordshire UK and regional offices in hongkong and kualalumpur. The company

    is providing services like maintainnence of the old projects and fixing the bugs and making new

    development system also. The company is following the agile methodology Scrum for thedevelopment of the system and proper tools are being used in each phase and all the employeesare free to use the tools for managing their work and a proper work flow is maintained and

    following the scrum the client is shown the deliverables after some intervals or sprints and if anymodification then the scrum follows the iterative approach so the company is making scope for

    further enhancements and modifications easy. Following the tools the staff can be informedabout the status of the project and the admin can also track the status of the project. The future

    planning for the budget of the project canbe made by the financial department if they know thetime of the project and resources needed and whether the project is running on time and lagging.

    The use of tools like CRM and MS Project help in achieving this target. If expertise is notavailable locally and problem is not being solved then with the use of teamweaver the

    experienced person can check and remove the error without being there physically. The UKSystems is following the framework and maintaining it throughout the offices they can also

    expand from their area of expertise i.e. e-commerce to other web and desktop applicatons theyhave all the required things and moreover they are ready to buyout the things so they can easily

    expand they just have to recruit the persons who are expert in the field in which they want toexpand.

  • 7/31/2019 Uk System Case Study

    13/13

    Software Engineering Support Environment UK System Case Study

    ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY

    Staffordshire University 13

    REFERENCES

    1. softwareDevelopmentProcess()Software Development Process Available from -http://sce.uhcl.edu/whiteta/sdp/softwareDevelopmentProcess.html [Last Accessed On13

    thmay 2011]

    2. DEFENSE ACQUISITION UNIVERSITY PRESS (2001) System engineeringfundamentals Available from -

    http://spacese.spacegrant.org/SEModules/Reference%20Docs/DAU_SE_Fundamentals.pdf [Last Accessed on 13

    thmay 2011]

    3 Project Management Methodology () Project Management Methodology Available at -http://www.mpmm.com/ [Last Accessed on 11

    thmay 2011]

    4 Wfleming(feb 16 2011) Scrum- Agile development methodology available at -http://www.wfleming.com/2011/02/16/scrum-agile-development-methodology/ [Last

    Accessed on 14th

    may 2011]5 CRM Software () Prophet5 provides the feature you need from a crm inside outlook

    Available at- http://www.avidian.com/Customer-Relationship-Management/crm-

    sftwr.aspx [Last Accessed on 14th

    may 2011]6 Case-tools() index case tools Available at - http://case-tools.org/ [Last Accessed on 14th

    may 2011]

    7 Case- tools ()Agile modeling case tools Available at- http://case-tools.org/agile_modeling.html [Last accessed on 13

    thmay 2011]

    8 Russell Kay(May 14 2002) Quick study system development lifecycle Available athttp://www.computerworld.com/s/article/71151/System_Development_Life_Cycle [Last

    Accessed on 13th may 20011]