16
Development Frameworks and Methods COMP 1648 University Banner ID 000860665 Table of Contents Section - A ..................................................................................................................................................... 2 Introduction .................................................................................................................................................. 2 Current Issues ............................................................................................................................................... 2 Section – B..................................................................................................................................................... 4 Dynamic System Development Method ....................................................................................................... 3 Requirements Analysis.................................................................................................................................. 4 Requirements Prioritization .......................................................................................................................... 8 Section – C................................................................................................................................................... 12 LSEPI ............................................................................................................................................................ 12 Reference ....................................................................................................... Error! Bookmark not defined.

Development Framework & Methods

Embed Size (px)

Citation preview

Development Frameworks and Methods

COMP – 1648

University Banner ID – 000860665

Table of Contents Section - A ..................................................................................................................................................... 2

Introduction .................................................................................................................................................. 2

Current Issues ............................................................................................................................................... 2

Section – B..................................................................................................................................................... 4

Dynamic System Development Method ....................................................................................................... 3

Requirements Analysis .................................................................................................................................. 4

Requirements Prioritization .......................................................................................................................... 8

Section – C ................................................................................................................................................... 12

LSEPI ............................................................................................................................................................ 12

Reference ....................................................................................................... Error! Bookmark not defined.

Section - A

Introduction he Clean Brite Company (CBC) is UK based supplier of cleaning products for varieties of businesses

and institutions. They don’t manufacture the products themselves; they bought from different

manufacturers and then rebranded those products and sell with their name on it. CBC has

different grades of cleaning products for different sectors of businesses, such as hospitals, restaurants,

hotels, etc… Because of the functions of the businesses they supplied are different from each other,

they separate the products by each specific catalogue for each of those different sectors; that means

that the product catalogue tailored for hospitals will be not suitable for hotels. They also have a kind of

marketing model which is that they employed several teams of telesales staff for each of the different

sectors of businesses; telesales staffs are responsible for finding potential clients and receiving order.

Besides, supporting for sales and querying functions are built on centralized stock control system. CBC

was established in 1982 and they merged with SAL, Scrubaway Allbright Ltd in 2009. The purpose of this

merger is to push the business forward while reducing cost where necessary. Moreover, year 2013 is the

bad year for CBC as the Managing Director came under attack by executive board for the failure of

multimillion dollar IT project. As a result of considerations from executives, CBC hires the external

management consultant named Max Payne for the review of the company and development of IT

projects.

Current Issues Apart from all of the success stories, CBC suffered grave downside in 2013 with the failure of multi-

million IT project going south. There are many recipes which led to this. The reasons of most failures in

IT systems are the cause of not meeting the requirements of the end-users or not satisfy the purpose of

the system being built. Next factors for failure is that they don’t know exactly what the problem is and

because of this there is no relation between organisation environment and the system developed. Many

of the IT staffs are not satisfied with the change made in 2006 by stopping all in-house development and

giving away everything to outsource companies resulting in resignation of 20% of IT employees causing

shortage of skills in support and business knowledge. The product of bad in-house development which is

mission critical to organisation is that the company cannot function effectively in research and

development sectors. A robust and flexible system with effective user-interface is required to develop

any new successful IT systems. Using many development methods like Rapid Application Development

and Structured Approach is nothing unless there are appropriate guidelines and standards for how they

should be apply. The role of the business analyst should be critical and allow full authority allowing

careful study of main problems to gain improvements in success rate of information systems.

T

Dynamic System Development Method CBC is obviously the large business with many clients and manufactures to deal with as they are one of

the famous suppliers of cleaning products in UK, they definitely required to build industry leading

information systems which will not be possible unless they have suitable development method. The

management consultant for IT systems, Max Payne proposed DSDM Atern which is one of the Agile

methods being used nowadays. DSDM Atern method is the most suitable for CBC’s business

environment because of the following eight Atern principles-

The Principle 1 of the Atern said that development of the IT system should always follows the business

needs which is being the main problem in CBC that the produced system is not what the users expect.

By following this principle 1, the information system for CBC will improve.

The Principle 2 of the Atern focus on the time boxing, in another word, the delivery of the system must

be on time which plays vital role in developing successful IT systems.

The Principle 3 is related to team work. It is said exactly that the team working is key to success. Actually

the system development is not individual work. The company should form development team with good

expertise to work on IT projects.

The Principle 4 is about project quality control; developing a system without quality control is useless

and just a waste of time and money. Projects must follow certain standards and guidelines to meet

quality constraints required from management level.

The Principle 5 is for foundation of the development; projects should have rock solid grounds prior to

going up with incremental approach. Using incremental approach in developing large system can

benefits the organisation in various perspectives.

The Principle 6 is iterative approach development. One of the good things about DSDM Atern is because

of this. Unlike SSADM, the DSDM can go iteratively until the end-users sign off on every stage of

development. Users can involve earlier and they can see the status of development and make

suggestion and changes at every level before the final product.

The Principle 7 is for communication; clear communication is vital because there will be

misunderstandings when the users don’t know what the developers said or want. There should always

be clear line of communication between end-users and developers to improve the information systems.

The Principle 8 is project control; not only in IT term, but also in real-life, everything needs control.

Project need to be control to maintain the quality and confidence of users with iterative and

incremental approach using prototyping.

According to the above eight Atern Principles, when building large and complex systems, using DSDM

Atern method is the best selection among others as it will allow users to involve earlier and very flexible

due to incremental and iterative approaches which obviously allow more control and benefits over the

development of the IT systems. There are many issues which can be resolved using DSDM Atern in CBC

case-

By using DSDM Atern CBC can-

Developed user-friendly systems because of the iterative approach allow users to involve

together with the developers at the very first stage of development.

Understand more about current problem which allow better relationship between organisation

environment and developed system because of the Atern Principle 1 which focus on the

business needs.

Issues like giving away the development to outsource team will not happen which against the

will of employees when the communication and collaborative effort will be use within

organisation according to DSDM Atern Method.

Judging from the above justifications and from my own understandings, I can assure that using DSDM

Atern method in large organisation like CBC is very suitable and best method to tackle the issues and

problems currently face within information system development of CBC.

Section – B

Requirements Analysis According to CBC, a management consultant Max Payne proposed the new system for CBC called Home

Sector Order Processing System. In order to gather information and requirements from various levels of

management for Management Information System, CBC held facilitated workshop and from this

workshop, a varieties of requirements from different departments came out. There are many people

from different departments attended the workshop-

1. Roger Wilco (Operations Director) (Chair)

2. Graham Daventry (Finance)

3. Laura Bow (Central Quality Unit)

4. Elizabeth Slate (CBC General Manager)

5. Lee Everett (Former SAL General Manager)

6. Maureen Corley (Secretary to Operations Director) Secretary

7. Tex Murphy and Bernard Bernoulli – External consultants (MakeASystemWork Ltd)

In the meeting, they have been asked to list their respective requirements on a form given by TM and

BB. Among those requirements, some are not actionable and not appropriate to regard as high level

ones.

No. High Level Requirements Non Appropriate High Level Requirements

1. Reordering of cleaning products should be

automatic with certain level of trigger

Monitor customer orders for marketing purposes

and statistical analyses

2. Ensure that each sector can see only products

related to their industry on the website

Log telesales staff activity to ensure that they are

effectively used

3. Produce detailed weekly, monthly and annual

sales report, and the option to differentiate

between web and telephone sales

Improve the quality of data used to analyse sales

4. Telesales staff should see the exact

information as a person logging into the

system. Everyone should use the same

system

The website must have a search facility to find

products

5. Can we send messages to customers

informing them of order information, such as

shipping and delivery?

Could we also have a mobile app for ordering and

tracking?

6. A facility to compare revenue generated by

different sectors

Telesales staff and web orders should both enter

data into the same system

7. The system must be able to give me an

overview of sales over different sectors

Placing order should be hassle-free with one click

ordering options

8. The system should do automatic marketing

that aligns with a customer’s spending

Links with social media for marketing purposes

9. Customers must be able to cancel order Data integrity and security is paramount

10. Customers must be able to track and see the

status of their order from web or via telesales

staff

The system should allow for clients to rate and give

feedback on products, which will be displayed

when a product is viewed

11. Be transparent about data collection related to

sales and customers

12. The system should be brand new, and should not

reflect the former systems of either CBC or SAL

13. Ordering and tracking orders must be easy,

whether on the website or through the telesales

staff

14. Facility for customers to easily return products that

they are unhappy with

15. Ordering and tracking should be easy

16. Making payments should be safe and secure

17. Improve the facility to track order and shipping

18. Customers should be able to setup automatic

reordering

Non Appropriate High Level Requirements

1. Monitor customer orders for marketing purposes and statistical analyses

Monitoring customer orders for marketing purposes and statistical analyses is just for account

and reporting purposes and does not have much impact on the system and organisation.

2. Log telesales staff activity to ensure that they are effectively used

Activity logging is only for measuring efficiency and performance of staff and does not have

important effect on the system.

3. Improve the quality of data used to analyse sales

This requirement discussed in the workshop is too vague and doesn’t include functional aspects.

4. The website must have a search facility to find products

That is unnecessary claim from the end user participant at the workshop. Every websites have

search facility in one way or the other. We don’t have to say specifically to include one.

5. Could we also have a mobile app for ordering and tracking?

We could have a mobile app for telesales staff but that is not so practical because they cannot

be directly connect to the main system. There are some things to do to the facts gathered at the

customers’ sites by the telesales staff

6. Telesales staff and web orders should both enter data into the same system

Entering data into the same system is useful to avoid duplicating and confusing with two

systems; however, this requirement is too vague or weak to regard as high level one. We can

also use two separate systems if we can control them regardless of duplication to get telesales

and web orders separated in each groups.

7. Placing order should be hassle-free with one click ordering options

Having one click ordering options is convenient, but it cannot be said as critical requirement to

regard as high level requirement.

8. Links with social media for marketing purposes

Linking with social media is obviously not high level requirement as it can only strengthen their

client base and does not include any real benefits for the organisation.

9. Data integrity and security is paramount

Data integrity and data security is important. But this requirement is non-functional.

10. The system should allow for clients to rate and give feedback on products, which will be

displayed when a product is viewed

Rating and giving feedback is not very necessary and this only falls in the category of low level.

This is not high level requirement.

11. Be transparent about data collection related to sales and customers

Transparency in data collection is non-functional. This is not high level requirement.

12. The system should be brand new, and should not reflect the former systems of either CBC or

SAL

Having brand new system or not, this is non-functional. This is not high level requirement.

13. Ordering and tracking orders must be easy, whether on the website or through the telesales

staff

Ordering and tracking of order should be easy. This is non-functional. This is not high level

requirement.

14. Facility for customers to easily return products that they are unhappy with

Customer should be able to return the products they are unhappy with; this should be possible

for relationship and building customer base. However, this is non-function requirement. This is

not high level requirement.

15. Ordering and tracking should be easy

Ordering and tracking of order is already include in the system and easy means what? The

requirement is too vague to be functional. This is non-functional.

16. Making payments should be safe and secure

Everyone knows when building the e-commerce system, payments should be secure. This is

non-functional.

17. Improve the facility to track order and shipping

This requirement is already include in the system and without this, the whole system will render

useless. This is non-functional.

18. Customers should be able to setup automatic reordering

If we allow customers to be able to setup automatic reordering, the CBC will have certain

problems that they cannot supply the products at the time of order by customers. On the other

hand, the CBC can supply at the time of customers’ need if CBC can track the customers’ data.

High Level Requirements List

1. Reordering of cleaning products should be automatic with certain level of trigger

CBC’s business is like two-edged sword; because they don’t manufacture the products

themselves, they have to order from respective suppliers for cleaning products and only then

they can repackage and sell to customers. So, the customer order from them and they order

from suppliers for their stocks. This is very critical because unless CBC set predefined reorder

levels and use automatic system, the business will be slow and even in some time, there will be

out-of-stock issues will arise. Therefore this is one of the high level requirements.

2. Ensure that each sector can see only products related to their industry on the website

Unless this requirement is met, we can have confused and duplicates of products between

different sectors. This is very critical requirement.

3. Produce detailed weekly, monthly and annual sales report, and the option to differentiate

between web and telephone sales

Report is everything. We developed this system to improve the business and the management

need to see every report produced by the system weekly, monthly and annual.

4. Telesales staff should see the exact information as a person logging into the system. Everyone

should use the same system

This is very important and high level requirement also, because everyone must use the same

system and the system should show same information regardless of who log on to the system;

by keeping this flow, the information on the system is consistent and the stock control is

accurate.

5. Can we send messages to customers informing them of order information, such as shipping

and delivery?

By sending messages to customers that their orders have been confirmed and in the process of

delivery, the company can get good relationship between customers. This is high level

requirement.

6. A facility to compare revenue generated by different sectors

Revenue is everything for business. The system should be able to compare revenue generated

by different sectors over time to time. This is high level.

7. The system must be able to give me an overview of sales over different sectors

The management must be able to see sales overview of different sectors to calculate the profit

and loss over time to time. This is high level.

8. The system should do automatic marketing that aligns with a customer’s spending

If the system can do auto marketing together with customer’s spending behaviour, the CBC can

get effective client base by doing marketing in the area of highest spending. This is high level.

9. Customers must be able to cancel order

This requirement is high level because unless the customer can cancel the order which he don’t

want anymore, there will be issues between customer and the CBC and this could lead to even

devastating impact on the company.

10. Customers must be able to track and see the status of their order from web or via telesales

staff

Tracking order is very high level because obviously the customer must know the status of their

order every steps of the way not only from the web but also from telesales staff. Telesales staff

will check the status from the web and convey the message to customer verbally.

Requirements Prioritization MoSCoW Prioritization

MoSCoW prioritization stands for prioritization the requirements while developing the information

system. Each capitalizes words M S C W has their respective meanings. They are –

M – Must Have

S – Should Have

C – Could Have

W – Won’t Have

M – Must Have, this is the most important and must include requirement when building the information

system. The system cannot deliver unless these requirements have been met and tested.

S – Should Have, this is the second important thing but not very critical. The software can still be launch

without these requirements. However, the solution will be incomplete and will throw unexpected

exceptions when using the system.

C – Could Have, this is optional for information system usually what the customer wants but not too

important for system to run, that is, if not included, that function is not included but the system will run

perfect.

W – Won’t Have, these are the requirements from customer which are agreed with developers that will

not include in first release of system but recorded to be including as further improvements and releases.

M S C W

Ensure that each sector

can see only products

related to their industry

on the website

Reordering of cleaning

products should be

automatic with certain

level of trigger

A facility to compare

revenue generated by

different sectors

Can we send messages

to customers informing

them of order

information, such as

shipping and delivery?

Telesales staff should

see the exact

information as a person

logging into the system.

Everyone should use

the same system

Customers must be able

to track and see the

status of their order

from web or via

telesales staff

The system must be

able to give me an

overview of sales over

different sectors

Produce detailed

weekly, monthly and

annual sales report, and

the option to

differentiate between

web and telephone

sales

The system should do

automatic marketing

that aligns with a

customer’s spending

Customer must be able

to cancel order

Must Have

Ensure that each sector can see only products related to their industry on the website

This requirement is M in MoSCoW because unless this requirement has been met, we cannot launch the

system. If every sector can see every product in the system, there will be confusion and errors among

industries.

Telesales staff should see the exact information as a person logging into the system. Everyone should

use the same system

This is also M in MoSCoW because unless everyone uses the same system, if someone update the

information, the others can’t see; such kind of issues and more inconsistencies will arise. If this

requirement is not met, we cannot launch the system.

Produce detailed weekly, monthly and annual sales report, and the option to differentiate between

web and telephone sales

This requirement is also must have requirement for the system to run because, obviously the reason for

developing the system is to help business to go faster in more convenient way and to see everything in

just a few clicks away. So, reporting is everything for the system. The management wants to know about

the status of the business and the only way to do it is through the reports created by the system. So,

without this, the system cannot launch.

Customer must be able to cancel order

This requirement is M in MoSCoW because obviously there will be cancellation of order if the customers

change their mind. It’s simple as that. Without this function the system is no go.

Should Have

Reordering of cleaning products should be automatic with certain level of trigger

This requirement should have in the system as CBC will have to make reorder every time they run out of

stock in their warehouses; so that the idea of automatic reorder will make the company more benefits.

Customers must be able to track and see the status of their order from web or via telesales staff

This requirement is S in MoSCoW that it should have in system. Obviously every customers want to

know their order status; they can do that by simply log in to the system from web and see the status of

their order. If they don’t have access to Internet, they can query through telesales staff. Every e-

commerce site have this function. Without this, the system will not be 100% and can cause problems in

customer relationships.

Could Have

A facility to compare revenue generated by different sectors

This requirement is C in MoSCoW because; yeah we can make a facility to compare revenue but is that

really important? Revenue is all about how much money falls into the business which is not very

important for business operation and everyday stuffs. The system can function perfectly without this.

The system must be able to give me an overview of sales over different sectors

Sales overview is only for profit and loss and actually it is one of the reports and reporting module is

already in place and the system can run without this. So, this falls into C.

The system should do automatic marketing that aligns with a customer’s spending

This function could include in the system to benefit the marketing strategy by scouting the customer’s

spending at particular region and change the strategy accordingly and automatically. This is good idea

but not too important for the system. Thus, this falls into C.

Won’t Have

Can we send messages to customers informing them of order information, such as shipping and

delivery?

This requirement is W in MoSCoW because sending messages to customers about confirming order is

just a kind of customer service and not very critical for system to run smoothly and that’s why we can

negotiate with CBC and left out this part, at least for the time being.

Section – C

LSEPI Data Protection Act

Data Protection Act (DPA) is an act set out by the Parliament of the United Kingdom which concerns

with protecting the personal data of living people. The Act defines eight principles with regards to data

protection.

1. Data should be processed fairly and lawfully

2. Data should only be collect for one or more specified lawful purpose and must not temper in

anyway other than that purpose

3. Data should be relevant to the purpose and should not be excessive for that purpose

4. Data should be accurate and up to date

5. Data should not be kept longer than necessary for any purposes

6. Data should be process in accordance with the individuals’ rights

7. Certain measures should be taken, either technical or organizational about unauthorized access

of personal data

8. Data should not be transferred to outside of EEA unless that country ensure an adequate level

of data protection for the processing of personal data

Data Controller

Data Controller is a person who decides the purpose for which personal data are to be processed and

how. He is also responsible for security and authorization of access to specific data which needs to be

processed. The Data Controller must also be well abide by the Data Protection Act. Any failure to abide

them will be the breach of the Act.

Why Do We Need?

According to what is said on the course work scenario, CBC needs to appoint a Data Controller to control

the personal data which need to be gather from customers and manufactures. These data can include a

lot of personal information regarding customer information, order information and also for

manufacturers that the name of the company, types of products they sell, etc... The Data Controller

must ensure that these personal data are kept safe from any exploits.

How Can Data Controller Help Overcome LSEPI?

By appointing a Data Controller, CBC can overcome some aspects of legal, social, ethical and

professional issues that may be arise within the organisation. Data Controller can keep the personal data

about customers in safe place and control the flow of information in or out of organisation which could

lead to legal, social, ethical professional issues if those data are abused by bad parties.

Two Practical Examples for Each of LSEPI

Legal

If someone finds out about the types of products that CBC has to order from manufacturers, it

could lead to serious legal issues.

If someone deliberately hack into and get hold of the names of every manufacturers that CBC

used to deal with, he can make this information to his advantage and for that the company will

have to face serious legal issues.

Social

Should someone get the customer information, this could lead to social problems between CBC

and their customers.

Should someone hack into and get hold of personal data about manufacturers’, there will be

social issues between CBC and manufacturers.

Ethical

CBC should use their own branding and box when they repackage the cleaning products from

manufacturers because unless they doing that, they will be faced with bad ethical issues in

between and even legal actions will be taken against CBC from respective manufacturers

Developers from CBC should developed the new information system to meet the users

requirements because of in-house developments are mission-critical. Failure to do that can be

regard to as bad ethical behaviour

Professional

CBC can use variety of development techniques such as OOAD, RAD and SSADM however they

have no standard framework to guide them how to build the system effectively. In that case CBC

will have professional issues among developers and CBC over time to time.

Business analysis roles must be given credibility with the organisation and problem domain must

be thoroughly explored and user requirements must be properly analysed and documented

because unless doing these things, we will looking at professional issues.

BCS Code of Conducts The BCS (British Computer Society) set out codes of conducts for standards of professionals which

required to be regards as BCS members. The codes applies to all members regardless of their grades and

their roles in respective businesses or location of their employment. This governs by individual members

and not for the nature of business or ethics of any relevant authority.

BCS Code of Conduct include four sections namely –

1. Public Interest

2. Professional Competence and Integrity

3. Duty to Relevant Authority

4. Duty to the Profession

1. Public Interest

“You shall have due regards for public health, privacy, security and wellbeing of others and the

environment”.

Developer contracted to CBC must have ethics and ensure information security for whatever

information he or she get per requirements of the project while exercising the safety and security when

using the information system upon completion.

“You shall provide equal access to the benefits of IT and seek to promote the inclusion of all sectors

society whenever opportunities arise”.

The system developed by contracted developer from CBC must allow equal level of access to the

benefits of IT between all levels of users such as telesales staff, office staff, customers and management

etc...

2. Professional Competence and Integrity

“You shall only undertake to do work or provide a service that is within your professional

competence”.

System developer contracted to CBC must have enough knowledge required to develop the proposed

system from the CBC without exceeding the boundaries of his or her knowledge with intent to offer

what he or she does not know or have regardless of negative impacts that will have upon CBC when

using that unsafe system.

“You shall not claim any level of competence that you do not possess”.

System developer must not assure that he can do anything the CBC ask for without realising what he

actually can do with evil intent.

“You shall respect and value alternative viewpoints and, seek, accept, and, offer honest criticisms of

work”.

As the developer may have to do development shoulder to shoulder with CBC’s IT team, he must able to

accept and value the alternative viewpoints offer from the team and he must always seek good ways to

develop effective system and he must also be able to criticise upon his team about every stage of the

work done.

“You shall avoid injuring others, their property, reputation, or employment by false or malicious or

negligent action or inaction”.

Developer contracted to CBC must care for every concerns related to CBC wellbeing and must not

neglect any actions required to take to drive the system into more robust and reliable outcome because

the negligence actions from his or her will result in destruction of CBC’s reputation or employment

failure of staff who related to certain failures.

“You shall reject and will not make any offer of bribery or unethical inducement”.

The system developer may occasionally receive bribery from other competitors of CBC with intent to

disrupt the wellbeing of CBC by sabotaging the new system with the help of contracted developer from

CBC, whenever this case happens, as BCS member developer, the developer must have ethics related to

this code and not accept anything at all.

3. Duty to Relevant Authority

“You shall carry out your professional responsibilities with due care and diligence in accordance with

the Relevant Authority’s requirements whilst exercising your professional judgement at all times”.

As the developer is contracted by CBC, CBC has every rights to ask whatever they need and they also

want professional advice and judgement from whoever they contracted with. So, the developer must

respect every requirements and give his or her professional judgement on every aspects of the

requirement with care and at the same time he or she should exercise his or her skills at all times.

“You shall seek to avoid any situation that may give rise to a conflict of interest between you and your

Relevant Authority”.

In this case, the Relevant Authority is CBC and the developer must faithful to the organisation he is

contracted to and must not involve in any situation which can trigger the conflict of interest and avoid

such situations from presenting itself.

4. Duty to the Profession

“You shall accept your personal duty to uphold the reputation of the profession and not take any

action which could bring the profession into disrepute”.

As a professional, you must accept as your personal duty to hold the reputation of the profession and

you must not take any actions that incudes dishonesty, gain unfair advantage over someone or

something by using your professional capacity which could bring down the reputation of your

professional and yourself. Bottom line is you must value yourself.

References British Computer Society (BCS), 2014. British Computer Society (BCS). [Online]

Available at: http://www.bcs.org

[Accessed 6 November 2014].

Information Commissioner's Office (ICO), 2014. Guide to data protection. [Online]

Available at: http://ico.org.uk/for_organisations/data_protection/the_guide

[Accessed 6 November 2014].