History Of What Is Taxonomy

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Taxonomy in general means "classification of things", derived from the two Greek words – taxis (which stands for order and arrangement) and nomos (meaning law and science). Originally meant only to classify living organisms, taxonomy of late has become popular in a much wider and general sense, where it refers to classification of things, concepts, principles

and so on. Taxonomy helps in creating network structures with single child-parent relationship or single child- multi parent relationship etc.

How does it relate to System development methods and their classification?

Quoting from Britain computer society (BCS): (Avison, 2006),

"Systems development methodology is a set of recommended means for information systems development or part of it which is based on logics and specific philosophy. The recommended means often contain of definition of phases, procedures, activities, rules, techniques, documentations, tools and guidance. It may also include suggestions which notice on management and organisation, approach and determining and training participations."

Over the last few decades, it has been known that information systems and its development is important and in particular its development since it is a long and complicated process wherein different elements work together and collaborate from start to finish. It has been quite clear that managing projects are very hard and close to impossible without using a proper methodology and there are plenty of methodologies around, which makes choosing the right one, or rather developing one from the existing methods, which is tailored to meet the specific demand and goal quite a complex process. Every methodology, be it template or tailor-made has its own set of tools, models, and specific concepts, which play a vital role in determining where the given methodology is best used.

Two different approaches can generally be adopted in the process of this methodology selection: (Niaki, 2001) Select a known methodology and accomplish its steps carefully; Combine two or many comparatively suitable methodology and adjust them according to specific situation of project. Methodology comparison is done with the following purposes: (Avison, 2006) Academic purpose: for better understanding the nature of methodologies (goals, philosophy, characteristics and so on.) in order to do some classifications and improving coming information systems development

Practical purpose: to select one or more methodologies for specific applications or the whole organisation.

In this paper, at first, hard and soft systems approaches are considered and compared, then one kind of methodology’s classifications is pointed and one methodology from each class is introduced. At the end, comparison frameworks were proposed and methodologies are compared by this framework.

FOUR AGILES OF TAXONOMY:

The four agiles in taxonomy are:

DSDM – The Dynamic Systems Development Methods.

eXtreme programming

Feature – Driven Development.

Scrum

DSDM – DYNAMIC SYSYTEMS DEVELOPMENT METHOD:

It is the easiest form of agile developed and generally is designed for people dealing as software development method.

It emphasizes on continuous involvement of the user/customer in the process.

There are three phases in DSDM:

Pre – project

Project life cycle and

Post – project.

The project life cycle contains:

Feasible study

Business study

Functional model iteration

Design and build iteration

Implementation

Thus, DSDM contains 7 stages to be completed which are organized with the view of all roles and responsibilities.

This methodology is time bound and iterative.

It includes training and roll out of the project in an organization.

It was originally sought to provide some disciple to RAD (Rapid Application Development Method) method. RAD uses minimal planning in favor of rapid prototyping.

DSDN ATERN:

Atern is a vendor – oriented approach which realized that the failure of the projects is due to the issues of the people rather than the technology.

Atern helps in proper functioning of the business by helping the people by fulfilling their needs and desires.

It is also independent of tools and techniques thus can be used in any business and under any circumstances.

It is an extension of RAD.

Thus, DSDM is a

A structure which uses the best techniques for the development of the project

Simple

Extendible

Time based

Consumer friendly

But not necessarily solution for all kinds of problems

PRINCIPLES OF DSDM:

There are 9 principles of DSDM that is needed to be followed, ignoring even one of them will break the framework and increases the risk in the project:

There must be active user involvement

The power of making decisions must be given to the team members.

Requirements must be based on high level.

The changes during the development should be reversible.

Frequent delivery must be focused upon.

Delivery on time.

Iterative and incremental development

Testing must be done through the life cycle.

There must be collaborative and co – operative approach.

OVERVIEW OF THE THREE PHASES ON DSDM:

THE PRE-PROJECT:

In this phase,

Projects are identified

Funding are realized

Project commitment is ensured.

Handling these issues at an early stage helps a lot in the later stages.

THE PROJECT LIFE CYCLE:

This includes five stages:

Feasibility study

Business study

Functional model iteration

Design and build iteration

Implementation stages

Feasibility study and business study complement each other and are sequential.

Iterative and incremental section will be dealt in a later stage.

POST – PROJECT:

This ensures that the project work is done effectively and efficiently.

These are realized by comparing the output with the DSDM principles.

Improvements can be done with the help of iterative and incremental system.

The project can be sent to the earlier stages if there are some changes to be made.

CORE TECHNIQUES OF DSDM:

TIMEBOXING:

It is one of the project techniques.

It helps to achieve the goal within the budget and with the desired quality.

Time boxing basically means splitting the work into various boxes, each with a fixed budget and a delivery date.

It is prioritized with the help of MoSCoW symbol.

As the time and budget is fixed, the only requirement and the variable are the things which are to be dealt with.

MoSCoW:

It is a way which is used to prioritize items.

It stands for:

MUST have this requirement to meet the business needs.

SHOULD have this requirement if at all possible but the project’s success does not rely on this.

COULD have this requirement if it does the effect the business needs of the project.

WOULD have this requirement in future if there is some time left.

PROTOTYPING:

It is done at an early stage of the project.

It creates prototypes on the system which is under development.

This enables an early discovery of the short comings.

It allows the future users to have a test drive of the systems.

Thus this becomes one of the key success factors of DSDM.

TESTING:

The important part of the system is creating an IS with a good quality.

For this DSDM advocates throughout each iteration.

Since DSDM is a tool and technique management method, the project team is free to choose their test management method.

WORKSHOP:

Here the stake holders come and discuss about the project.

Developments of the projects are discussed according to their needs.

There are there to discuss the functionality, requirements and mutual understanding.

CRITICAL SUCCESS FACTORS IN DSDM:

FACTOR 1:

It must be accepted by the senior management and other employees. The other members must be motivated and involved from the start till the ending of the project.

FACTOR 2:

The second factor focuses on management. It ensures that the management must be committed to the work to ensure that the end – user is involved. Here the prototyping method helps.

FACTOR 3:

Here the project team is focused on. There must be skillful members so that there is a stable union. There is an issue about empowerment of project team. Here there must be at least one or more members who will have the authority to take decisions instead of attending to the higher management which will be very time consuming.

FACTOR 4:

Here it says that there must be a relationship between the vendor and the customer. This goes for the projects internally as well as externally with the contractors. For ensuring a better relationship there is ISPL (Information Services Procurement Library).

WEAKNESS IN DSDM:

High licensing cost.

Relatively high barrier for entry.

There contains cultural shift in the organization.

Switching to DSDM is not cheap.

REFERENCES:

A quality software project for rapid application development.

Keith Richards – Agile project management.

Agile software development methods – Review and analysis

EXTERNAL LINKS:

www.dsdm.org

www.dsdmofsgilemethodology.wikidot.com

www.agilexp.com

FOUR AGILES OF TAXONOMY:

The four agiles in taxonomy are:

Scrum

DSDM – The Dynamic Systems Development Methods.

eXtreme programming

Feature – Driven Development.

SCRUM:-

Scrum is an innovative way of getting your work done. It helps in completing complex projects. It mainly helps more in the works that are innovative.

Basically, it was used for software development projects but now, carrying its wide scope, it works for any complex/ innovative work.

Scrum can be used in universities, department, and industries and also in our daily work. Scrum helps us to manage our large list of to-do items.

It divides the list into managerial ‘chunks’. It helps us to focus on the heart of the work. Thus, you do the thing that matters the most.

Scrum will help to respond more accurately.

For example, collaborating and communicating both with the people who are doing the work and the people who needs to get their work done. It’s about delivering the particular product often and also asking for a feed back. A feedback is necessary so that the organization gets to know about the real and accurate need for the customer.

SHORT DEFINITION OF SCRUM:

Focuses on high business values in as short period of time.

The actual working software is repeatedly checked.

Priorities are set by the business.

The members work out their best way to deliver the highest of the priorities.

Every two weeks the organization checks out the software and does iteration.

HISTORY OF SCRUM:

Analysis was done in software development processes and found that there were unpredictable, non – repeatable processes.

Jeff Sutherland then developed a new method called as scrum.

Then ‘Agile software development with scrum ‘by Ken Schwaber.

Now 50 companies are successfully using the concept of scrum.

CHARACTERISTICS OF SCRUM:

Teams are self organized

Monthly product development is recorded.

The monthly log is called as sprints.

Requirements of a product are captured in the list f product backlog.

No engineering processes are required to be used.

General descriptive methods are used.

It is one of the agile processes.

Portably shippable products are then prepared.

SPRINTS:

Scrum projects make progress in a series of sprint.

The target duration is generally set for a month.

One or two weeks extra can be added to it.

But if the sprint is for a constant duration then keeping a track of focus is very easy.

The products are designed, coded and tested during the sprint.

SEQUENCE:

Requirements –> design –> code –> test.

Changes to a large extent must be avoided. We must see to it that how long can the change be avoided from the business.

SCRUM FRAMEWORK:

ROLES: product owner, scrum master, team.

CEREMONIES: sprint planning, sprint review, sprint retrospective, and daily scrum meeting.

ARTIFACTS: product back log, sprint back log and burn down chart.

ROLES:

PRODUCT OWNER:

He defines the features of the product.

The release date and the contents of the products are decided by him.

He is responsible for profitability of the product.

He adjusts and does iteration if it is required by the product.

Accepts or rejects the results of the work.

THE SCRUM MASTER:

Represents management to the product.

Is responsible for enacting scrum values and practices.

He must ensure that the team members are fully functional and proactive.

External interferences are avoided by him.

He must ensure that the close co – operation exists between the team members.

SCRUM TEAM:

Normally contains 5 – 10 members.

It is multi – functional.

The members must be full time.

They must be self organizing.

Membership can change only between sprints.

CEREMONIES:

SPRINT PLANNING MEETING:

1st PART:

To create product backlog

Sprint goal is defined.

Product owner, scrum master and scrum teams are involved.

2nd PART:

Scrum master and scrum teams are involved.

Sprint backlog is prepared.

KICK OFF MEETING:

Is a special form of sprint planning meeting. It is conducted before the start of the project.

SPRINT:

Product functionality is incremented during a month’s iteration.

No outside influence is allowed.

Each sprint starts with the daily scrum meeting.

DAILY SCRUM:

It is not a problem solving session.

There is no need to collect the information about who is behind the schedule.

This is a meeting where they make commitments about their work to the scrum master.

Helps the scrum master to track the progress of the team.

SPRINT REVIEW MEETING:

Team normally discusses about what is accomplished.

Will check the accuracy of completion.

New features and architecture are added to the sprint.

Customers, project owner, product owner and other engineers are the participants here.

2 hour preparation time is given.

SPRINT RETROSPECTIVE MEETING:

This is a feedback meeting.

Only scrum team members are involved.

Three steps: start, stop, and continue.

Must not skip these steps for 5 to 6 sprints.

PRODUCT BACKLOG:

This usually contains the desired work of the project.

Generally it is story based work or task based work.

Product owner prioritizes the list.

Requirements are listed as back log items.

It is usually created by the team members during the sprint planning meeting.

It can be changed and re – prioritized.

Managed by the product owner.

SPRINT BACKLOG:

Cannot be more than 300 tasks.

If the task is for more than 16 hours then the task should be broken down.

If the team wants to add or subtract the tasks they can do so.

The product owner is not allowed to do it.

SPRINT BURN DOWN CHART:

It depicts the remaining work for the day.

It shows how much more time is required for that particular task.

It should burn down to zero at the end of the sprint.

It is not a straight line.

That have bends on UP.

SCALABILTY OF SCRUM:

It contains 6 – 10 people on the team.

Jeff Sutherland – up to over 800 people.

Scrums of scrums and also called as Meta – scrum.

Degree of coupling between packets shows the frequency of the meeting.

ADVANTAGES OF SCRUM:

Simplicity in process.

It contains tested features.

It is completely developed.

Rules are clearly defined.

Increasing productivity.

Communication is improved.

Self organizing.

It has a combination with extreme programming.

Each member carries a lot of responsibility.

DISADVANTAGES OF SCRUM:

Undisciplined hacking.

Violation of responsibility is notices.

No written documentation is present.

They are mainly carried on by the inventors.

WORKING ON THE DISTRIBUTED ANGLE:-

The major failure of the scrum is team fragmentation. Distribution of work is necessary but maintaining gravity is more important.

There are three stages for scrum:

Fragmentation  appropriate self organization  calcification

Too much structure leads to calcification but too less leads to fragmentation.

Too much separation of work leads to increasing chance of falling apart as the chances of fragmenting is higher. Thus the form and degree of separation matters the most in defining a job.

Gravity:

There is a lot of importance for gravity as it’s said – "Gravity: it’s not just a good idea, it’s the law!"

For example, a well-formed team is more necessary than the number of members in that team. Exceptional soccer teams and jazz bands are a good example for it.

As the practicing agilest we must realize that the true power comes from the constructive bonds and interaction from the members.

That is why successful teams have one thing in common – a centre around which to gravitate. And the centre is the ultimate goal or the most important thing to do.

Lack of Gravity:

It must be interesting to know that the absence of centre i.e. the strong gravity will ultimately make our job void.

This results in the powerful personality which comes and dominates the entire structure. Here comes the job of the scrum master where he detects such mistake about the lack of gravity and immediately addresses to the underlying lack of gravity.

Command and Control:

Fear of fragmentation leads to command and control. Here self organization is crushed in command and control system. The organizer fears of losing things and that the things will fall apart as he starts his chain of control.

This result in isolation of team members and no innovative work is done. Simple human interaction tools are abandoned and complex techniques are favored apart from that.

So, when the distributed team calcifies then it would be better for the people to be taken into the war room with sticky notes and big visible charts and will remind them to do their work effectively. But here the team wouldn’t be distributed as it is affected with command and control. So, the next best thing is a virtual war room. That would happen if we set up a wiki page.

Ignoring the fragmenting force:

It only leads to abdication of responsibility.

Sometimes the scrum master thinks that his job is only to see that the team is proactive and committed. And as long as they are like that he has nothing to worry as he is doing his specific job well. But subconsciously the scrum master is abdicating from the responsibility when is only concentrating on team’s self organization. Thus, by this fragmentation starts ruling the situation.

The solution is finding out the reason why there is reduction in gravity. Why are people not concentrating on the main part of the work? If you start facing some issues and problems then you must take a closer look and find out what is the real problem.

Management must examine the team’s ability to self organize themselves and also keep in mind the rules and regulations of the company. They must not conflict company’s other practices.

Due to increased pressure associated with high separation company must realize that each player is remarkably talented. Scrum master must be vigilant and take care of the morale and social interactions of the team. Each team member must be proactive, emotionally mature, creative, and communicative and must be willing to hold one another accountable.

Manage the dimensions of distribution:

As a leader of the team you are not merely there to avoid the two failure modes i.e. calcification and fragmentation. If the business is scared about fragmentation it will add more structure which will lead to calcification on command and control. And if the business wants to flee away from calcification it will forgo the leadership responsibility and thus the fragmentation starts.

Thus the main focus must be on degree of separation and gravity. There must be team gravity i.e. goal oriented center.

Thus make sure gravity is formed. And if u can’t draw the team together physically, try and do it virtually.

REFERENCES:

Schwaber, ken, agile project methodology with scrum.

New product development game.

Sprint planning

The scrum guide

EXTERNAL LINKS:

www.leadsoftwareengineerning.com

Implementingscrum.com

Scrum.org

DSDM – DYNAMIC SYSYTEMS DEVELOPMENT METHOD:

It is the easiest form of agile developed and generally is designed for people dealing as software development method.

It emphasizes on continuous involvement of the user/customer in the process.

There are three phases in DSDM:

Pre – project

Project life cycle and

Post – project.

The project life cycle contains:

Feasible study

Business study

Functional model iteration

Design and build iteration

Implementation

Thus, DSDM contains 7 stages to be completed which are organized with the view of all roles and responsibilities.

This methodology is time bound and iterative.

It includes training and roll out of the project in an organization.

It was originally sought to provide some disciple to RAD (Rapid Application Development Method) method. RAD uses minimal planning in favor of rapid prototyping.

DSDN ATERN:

Atern is a vendor – oriented approach which realized that the failure of the projects is due to the issues of the people rather than the technology.

Atern helps in proper functioning of the business by helping the people by fulfilling their needs and desires.

It is also independent of tools and techniques thus can be used in any business and under any circumstances.

It is an extension of RAD.

Thus, DSDM is a

A structure which uses the best techniques for the development of the project

Simple

Extendible

Time based

Consumer friendly

But not necessarily solution for all kinds of problems

PRINCIPLES OF DSDM:

There are 9 principles of DSDM that is needed to be followed, ignoring even one of them will break the framework and increases the risk in the project:

There must be active user involvement

The power of making decisions must be given to the team members.

Requirements must be based on high level.

The changes during the development should be reversible.

Frequent delivery must be focused upon.

Delivery on time.

Iterative and incremental development

Testing must be done through the life cycle.

There must be collaborative and co – operative approach.

OVERVIEW OF THE THREE PHASES ON DSDM:

THE PRE-PROJECT:

In this phase,

Projects are identified

Funding are realized

Project commitment is ensured.

Handling these issues at an early stage helps a lot in the later stages.

THE PROJECT LIFE CYCLE:

This includes five stages:

Feasibility study

Business study

Functional model iteration

Design and build iteration

Implementation stages

Feasibility study and business study complement each other and are sequential.

Iterative and incremental section will be dealt in a later stage.

POST – PROJECT:

This ensures that the project work is done effectively and efficiently.

These are realized by comparing the output with the DSDM principles.

Improvements can be done with the help of iterative and incremental system.

The project can be sent to the earlier stages if there are some changes to be made.

CORE TECHNIQUES OF DSDM:

TIMEBOXING:

It is one of the project techniques.

It helps to achieve the goal within the budget and with the desired quality.

Time boxing basically means splitting the work into various boxes, each with a fixed budget and a delivery date.

It is prioritized with the help of MoSCoW symbol.

As the time and budget is fixed, the only requirement and the variable are the things which are to be dealt with.

MoSCoW:

It is a way which is used to prioritize items.

It stands for:

MUST have this requirement to meet the business needs.

SHOULD have this requirement if at all possible but the project’s success does not rely on this.

COULD have this requirement if it does the effect the business needs of the project.

WOULD have this requirement in future if there is some time left.

PROTOTYPING:

It is done at an early stage of the project.

It creates prototypes on the system which is under development.

This enables an early discovery of the short comings.

It allows the future users to have a test drive of the systems.

Thus this becomes one of the key success factors of DSDM.

TESTING:

The important part of the system is creating an IS with a good quality.

For this DSDM advocates throughout each iteration.

Since DSDM is a tool and technique management method, the project team is free to choose their test management method.

WORKSHOP:

Here the stake holders come and discuss about the project.

Developments of the projects are discussed according to their needs.

There are there to discuss the functionality, requirements and mutual understanding.

CRITICAL SUCCESS FACTORS IN DSDM:

FACTOR 1:

It must be accepted by the senior management and other employees. The other members must be motivated and involved from the start till the ending of the project.

FACTOR 2:

The second factor focuses on management. It ensures that the management must be committed to the work to ensure that the end – user is involved. Here the prototyping method helps.

FACTOR 3:

Here the project team is focused on. There must be skillful members so that there is a stable union. There is an issue about empowerment of project team. Here there must be at least one or more members who will have the authority to take decisions instead of attending to the higher management which will be very time consuming.

FACTOR 4:

Here it says that there must be a relationship between the vendor and the customer. This goes for the projects internally as well as externally with the contractors. For ensuring a better relationship there is ISPL (Information Services Procurement Library).

WEAKNESS IN DSDM:

High licensing cost.

Relatively high barrier for entry.

There contains cultural shift in the organization.

Switching to DSDM is not cheap.

REFERENCES:

A quality software project for rapid application development.

Keith Richards – Agile project management.

Agile software development methods – Review and analysis

EXTERNAL LINKS:

www.dsdm.org

www.dsdmofsgilemethodology.wikidot.com

www.agilexp.com

EXTREME PROGRAMING:

It is famous as XP.

It is:

Development based

It uses high quality engineering techniques.

At the initial stage there is low cost to implement.

Unfortunately, the name for it is given as extreme programming as it is a development focused methodology.

Extreme programming improves software in five effective ways:

Simplicity

Communication

Feedback

Respect and courage

This is based on customer value and satisfaction. It delivers software as and when you need and it also adapts with the changing environment.

They have a surprising aspect – simple rules.

At first the rules might sound naïve and unprofessional. It is simple and hard to believe. But when things are combined together a complete can be seen. These rules are based on sound values and principles.

These rules don’t make us reach the goal directly. It defines the environment which team collaboration and empowerment, which is the main goal here.

So, productive team work is achieved, even if the rules are changed the people can easily adapt to it.

Here customers are made of the software program and helps in development of the product and values of the company. Even a small accomplished task will add deep value to the company. Unproductive tasks are trimmed and thus the costs are reduced leading to loads of benefit to the company.

HOW DOES EXTREME PROGRAMMING WORKS?

It works:

Bringing the whole team together

In the presence of simple practices

With enough feedback

Here feedback helps to enable the team to see where they are and to tune the practices to unique situation.

CORE PRACTICES OF EXTREME PROGRAMMING:

Extreme programming is mainly based on the core practices which are followed.

They are as follows:

Whole team

Customer tests

Planning games

Small releases

Collective ownership

Coding standard

Continuous integration

Sustainable pace

Test – driven development

Pair programming

Metaphor

Refactoring

Simple design

There are XP practices and the circles of life. Their practices are described as circle of activities.

It contains 3 circles.

The inner circle describes the tight schedules and practices that the programmers are following.

The outer loop describes the planning and discussions which goes on between the programmers and the customers.

And the middle loop shows the contribution of the team members towards the development of the project and the software development.

The outer loop consists of:

Whole team

Customer tests

Planning game

Small releases

WHOLE TEAM:

Here all the contributors, members must sit together to discuss about various activities.

There must be the customer which serves as a business representative.

He must be the real end user so that perfect needs of the customer may be known.

There will be testers included and customer acceptance test must be conducted.

These are just the analysts that will try to find out the exact requirement.

For example, a teacher guides a student in various aspects. They would help the children to be on track and to ensure their progress.

These cannot be done by only one individual. They must work as a team to ensure that the work is done. Thus the group does not contain any specialists but they are the general contributors with special skills.

CUSTOMER TESTS:

To get the desired product from the customers there are different tests that are to be conducted.

This team builds particular software and runs it to ensure that the product is working properly.

Automated technologies are used.

Manual technologies cannot be used at the peak time.

They treat these tests like programmer tests and the team ensures that they keep running it from thereafter.

Thus there is no backward sliding here but only forward improvement.

PLANNING GAME:

There are 2 questions that are to be asked

Prediction about what will be accomplished by the due date and

Determining what to do next.

The two steps which addresses the above question is

Release planning and

Iteration planning

RELEASE PLANNING:

This means when the programmers know the desired feature required by the customer and the programmers start planning accordingly.

They estimate the difficulty and start working on it.

They estimate the cost requirements, the time span it will take and about the other requirements as well.

We wouldn’t know the exact speed of the plan unless we start it.

Generally, the release plans are perfect and accurate.

But changes are done by them from time to time.

ITERATION PLANNING:

Here the team is given directions every couple of weeks.

The team builds the software in two iterations.

They deliver useful software at the end of iteration.

The customer specifies his needs for the next two weeks.

The program developers estimate the need for work, resources, estimate the costs etc.

What to do in the current iteration is decided by the work done in the previous iteration.

These plans are very simple but yet are very effective to the customers. Here there is no 80% work done in XP. Either the work is done or is not done.

Here the progress is visible clearly after every step. The customer may even cancel the work if the progress is insufficient. The progress is very much visible that decide what to do next is very easy and simple.

Thus XP is simple but very effective. With less pressure they deliver more.

SMALL RELEASES:

XP team organizes these small releases in two ways:

Firstly,

It releases to running software to the customer.

The customer can use this software for any purpose or even release it to the end user.

Releasing to the end user is highly recommended.

After every iteration the customer is given the software so everything is open and tangible.

Secondly,

The software is frequently released to the customers as well.

Web releases happen frequently.

In-house projects are also delivered monthly or frequently.

Goods versions are very hard to create often but XP is doing it all the time.

XP releases are still kept reliable by conducting tests and test driven development.

The middle loop consists of:

Coding standard

Sustainable pace

Metaphor

Continuous integration

Collective ownership

CODING STANDARD:

They follow a common coding standard.

It looks as if a clever individual has done the coding of the project.

The important point here is that the coding looks familiar and we get to know that there is a collective ownership.

SUSTAINABLE PACE:

XP software is prepared on a long term basis.

They work overtime when it is extremely necessary and at general times they work normally to maximize productivity all week long.

It is well understood that at the peak time the work is neither productive and is without quality.

XP is here for quality. It’s here only to win and not to die.

METAPHOR:

Metaphor is name XP programmers call when they want to address a common vision.

It gives a simple description about how the system works with the help of an example.

Sometimes the imagination is not vivid so the company uses some common system names so that they find what they are looking for and the functionality is proper in the system.

CONTINUOUS INTEGRATION:

There is a lot of benefit in continuous integration.

It helps the XP to grow many times in a single day.

Integration which is not done on a regular basis usually leads to a situation which is known as ’integration hell’.

The integration messes up and causes serious problems.

Then the whole system will fall apart and they will not even know why.

Thus continuous integration is important for making the system and team members to stick together.

COLLECTIVE CODE OWNERSHIP:

In XP, the examiners can modify any code at any time.

Normally they are sections or parts of the code that is owned by one person. He has a feature that will develop the whole coding system but not his part of the code. So here he places the feature at the wrong place. Thus leads to ugly, hard-to-maintain code.

But collective ownership can also be a problem when people work on the code blindly.

Thus XP makes the programmer understand a particular code and they are even provided with the work of an expert. They can take advices and improve the quality of coding.

Thus this process will spend high end knowledge on the team.

The inner loop consists of:

Test-driven development

Pair programming

Design improvements (refactoring)

Simple design

TEST – DRIVEN DEVELOPMENT:

XP is obsessed with perfection.

For perfection we need to have a test conducted.

Feedback is necessary for development of the product and the feedback must be developed.

It works in very short cycles of adding a text and making it work.

Here extreme programming becomes extreme as ‘programmer test’ and ‘unit test’ are conducted for 100% guarantee.

Every single test must be conducted perfectly.

It must be 100% all the time.

Thus these processes provide an invaluable support to the software control system.

PAIR PROGRAMMING:

When two programmers sitting side by side, at the same machine, doing the same work, can really develop a product.

The product is reviewed by both of them.

One can check the work of the other person.

That really makes this statement true: two is better than one.

That’s why the perfectionists recommend pair programming.

It takes a lot of time to develop the skill required in pair programming. But once it is taught then it will be very beneficial.

Thus XP recommends this.

Pairing also increases the knowledge and develops the software program.

As there will be different pairs every time the knowledge will be diluted.

This is a very big win for the company and every one.

DESIGN IMPROVEMENTS:

Business values must be taken care of in every iteration.

In order to make the software successful and help it to accomplish the project there must be development in the design of the software.

Or else the software would slow down and the program would finally get stuck.

Thus, for continuous design improvement we use the software called ‘refactoring’.

It focuses on removal of duplication, cohesion, and coupling.

That’s why simple design also works all the time.

Simple design but great achievement.

Thus the speed improves and the project is taken ahead.

SIMPLE DESIGN:

They have a simple design.

They have programmer testing, design improvement etc.

There is no wasted motion that is done.

Everything is simple and the software is always ready for further improvement.

Teams also go through design sessions and refactoring.

It helps in smooth movement of the business.

That’s why simple designs are very important.

CRITICISM:

It involves people. Agile does not support this.

Requires too much cultural change.

Lack of structure.

A way of bleeding money from the customers.

Impossible to develop realistic approach.

Very insufficient.

Enormous expense to the customers.

Only senior level developers can use this.

REFERENCES:

Extreme programming refactored – a case against XP.

Everyone’s a programmer – Clair Tristram

Questioning Extreme programming

Extreme programming applied – playing to win

Agile software development eco systems

EXTERNAL LINKS:

en.wikipedia.org/wiki/extreme programming

www.ling.helsinki.fi

www.oobeyagroup.com

FEATURE - DRIVEN DEVELOPMENT:

FDD is an incremental and iterative software development project. It normally blends with industry related projects. Client is the more important thing to be focused here.

Tangible, working software is the main aim of the business.

HISTORY:

It was developed by Jeff De Luca to meet specific needs of software development project at Singapore.

Java Modeling in Color with UML was the first book which included the description of FDD.

Jeff blended different kinds of project to make it a perfect experience.

Since Singapore project was successful, these projects were implemented everywhere.

INTRODUCTION:

Here the project is done in several stages.

One cannot go to the other step without 100 completion of the previous step.

Here the method becomes outdated as the problem is not known till the project is at end and repairing them which carries a charge higher than the project.

Thus the weakness of waterfall is treated with the iterative development.

It had emerged in the last ten years through the traditional waterfall development.

FDD is:

Short

Quality as very important aspect.

Delivers working result.

Accurate and meaningful progress

Proper status information

It is loved by the developers and the client.

PAINS IN SOFTWARE MANGEMENT:

COMMUNICATION:

Without communication it is not possible to have a little progress in the program.

No project can develop without it.

Thus with the help of the communication channels the project is developed to a large extent.

COMPLEXITY:

As the software increases the development must also increase as there will be more complexities which are to be dealt with. Some of them call it complexity dynamic.

QUALITY:

Quality means different means to different people. Some talk about response time, some talk about ease and reliability, some talk about the quality of the particular work done, some talk about meeting the system requirements and enhancement of the project etc.

Thus there must be software which adapts to the changing requirement and also takes care of the internal and external quality control.

PRACTICES IN FDD:-

DOMAIN-OBJECT MODELLING:

There is a diagram which contains different objects within a problem domain and also develops relationships between them.

With the help of significant objects there are broken down and small issues are created.

Thus there will be a smaller problem to solve. Modeling in color is the best technique for domain – object modeling,

UML IN COLOUR:

There is color encoded classes.

It gives a quick understanding of the projects as the problems are differentiated with different colors.

The following colors represents:

Yellow: yellow means a role which is usually played by a person or an organization.

Blue: blue refers to catalogue type description.

Green: it refers to a party place or a thing.

Pink: a moment of time which is generally related to business purpose or an interval of time.

Class (code) ownership:

It represents individual ownership.

It says about the person who is actually responsible for a particular type of work.

DEVELOP AN OVERALL MODEL:

Domain and development team members are here to prepare an overall model with the help of the chief architect.

They conduct various walkthrough.

The domain members conduct a high-level walkthrough for an overall analysis of the problem.

They conduct a more detailed walkthrough through the set of problems that has been realized.

After various walkthroughs the domain and development members will work in small groups to produce different models of object on that particular domain.

The small group prepares the own model and also present it for peer review and discussions.

They develop the object model iteratively.

All the domains are combined together and the exact model shape is made.

BUILD A FEATURE LIST:

The chief programmers decompose the domain functionality.

They break the domain down into number of areas.

Each area is further broken into an activity

And each identity is identified as a feature.

PLAN BY FEATURE:

Project manager, development manager, etc plan the order at which the features of the product are to be implemented.

Sequence does not matter here.

Here the development of the project is done and is reviewed again.

And by these some tasks are assigned to the manager etc

When everything has happened sequentially the class ownership is completed and this particular stage is over.

DESIGN BY FEATURE:

There are several features that the chief programmer is assigned to.

He checks his or her inbox for the jobs he has been assigned with.

He schedules all of his duties in small groups.

And thus makes a necessary model for him.

He refines the object model based on various other facts.

The developers will then write the class and method prologues.

Then the design inspection is held.

BUILD BY FEATURE:

The design is made.

Owners implement the items which are necessary for the class to support the design.

The unit is tested and the code is verified as guided by the senior programmer.

After successful inspection, the code is built.

MAJOR USAGE:

It is utilized for the following:

More critical projects

Bigger projects

Environment that demands waterfall

It happens with the help of 500 developers.

CONCLUSION:

The team will have frequent tangible working results.

Here the small blocks of objects called features.

It mainly concentrates on business related activities.

The FDD defers with the experience of team members specially the developers.

It is very comfortable for tracking and reporting purposes.

This comfort makes it attracted to the big companies.

REFERENCES:

Coad, peter, et al. Java modeling in color with UML. Upper saddle river, NJ: Prentice Hall PTR, 1999.

Fairely, R. Software Engineering Concepts. New York. McGraw Hill, 1985.

Weinberg, G. Quality Software Management Vols. 1 - 4, New York: Dorset House, 1992 – 1997.

Freedman, D.P. and Weinberg, GM. " software inspections ". " an effective verification process "

IEEE software. May 31 – 36, 1982.

Palmer, SR., Felsing, JM. "A practical guide to feature driven development. "Prentice hall, 2002.

INTERNET SITES:

http://www.nebulon.com/

http://www.petercoad.com/

http://www.featuredrivendevelopment.com/

http://www.en.wikipedia.org/wiki/feature_driven_development/

SCRUM:-

Scrum is an innovative way of getting your work done. It helps in completing complex projects. It mainly helps more in the works that are innovative.

Basically, it was used for software development projects but now, carrying its wide scope, it works for any complex/ innovative work.

Scrum can be used in universities, department, and industries and also in our daily work. Scrum helps us to manage our large list of to-do items.

It divides the list into managerial ‘chunks’. It helps us to focus on the heart of the work. Thus, you do the thing that matters the most.

Scrum will help to respond more accurately.

For example, collaborating and communicating both with the people who are doing the work and the people who needs to get their work done. It’s about delivering the particular product often and also asking for a feed back. A feedback is necessary so that the organization gets to know about the real and accurate need for the customer.

SHORT DEFINITION OF SCRUM:

Focuses on high business values in as short period of time.

The actual working software is repeatedly checked.

Priorities are set by the business.

The members work out their best way to deliver the highest of the priorities.

Every two weeks the organization checks out the software and does iteration.

HISTORY OF SCRUM:

Analysis was done in software development processes and found that there were unpredictable, non – repeatable processes.

Jeff Sutherland then developed a new method called as scrum.

Then ‘Agile software development with scrum ‘by Ken Schwaber.

Now 50 companies are successfully using the concept of scrum.

CHARACTERISTICS OF SCRUM:

Teams are self organized

Monthly product development is recorded.

The monthly log is called as sprints.

Requirements of a product are captured in the list f product backlog.

No engineering processes are required to be used.

General descriptive methods are used.

It is one of the agile processes.

Portably shippable products are then prepared.

SPRINTS:

Scrum projects make progress in a series of sprint.

The target duration is generally set for a month.

One or two weeks extra can be added to it.

But if the sprint is for a constant duration then keeping a track of focus is very easy.

The products are designed, coded and tested during the sprint.

SEQUENCE:

Requirements –> design –> code –> test.

Changes to a large extent must be avoided. We must see to it that how long can the change be avoided from the business.

SCRUM FRAMEWORK:

ROLES: product owner, scrum master, team.

CEREMONIES: sprint planning, sprint review, sprint retrospective, and daily scrum meeting.

ARTIFACTS: product back log, sprint back log and burn down chart.

ROLES:

PRODUCT OWNER:

He defines the features of the product.

The release date and the contents of the products are decided by him.

He is responsible for profitability of the product.

He adjusts and does iteration if it is required by the product.

Accepts or rejects the results of the work.

THE SCRUM MASTER:

Represents management to the product.

Is responsible for enacting scrum values and practices.

He must ensure that the team members are fully functional and proactive.

External interferences are avoided by him.

He must ensure that the close co – operation exists between the team members.

SCRUM TEAM:

Normally contains 5 – 10 members.

It is multi – functional.

The members must be full time.

They must be self organizing.

Membership can change only between sprints.

CEREMONIES:

SPRINT PLANNING MEETING:

1st PART:

To create product backlog

Sprint goal is defined.

Product owner, scrum master and scrum teams are involved.

2nd PART:

Scrum master and scrum teams are involved.

Sprint backlog is prepared.

KICK OFF MEETING:

Is a special form of sprint planning meeting. It is conducted before the start of the project.

SPRINT:

Product functionality is incremented during a month’s iteration.

No outside influence is allowed.

Each sprint starts with the daily scrum meeting.

DAILY SCRUM:

It is not a problem solving session.

There is no need to collect the information about who is behind the schedule.

This is a meeting where they make commitments about their work to the scrum master.

Helps the scrum master to track the progress of the team.

SPRINT REVIEW MEETING:

Team normally discusses about what is accomplished.

Will check the accuracy of completion.

New features and architecture are added to the sprint.

Customers, project owner, product owner and other engineers are the participants here.

2 hour preparation time is given.

SPRINT RETROSPECTIVE MEETING:

This is a feedback meeting.

Only scrum team members are involved.

Three steps: start, stop, and continue.

Must not skip these steps for 5 to 6 sprints.

PRODUCT BACKLOG:

This usually contains the desired work of the project.

Generally it is story based work or task based work.

Product owner prioritizes the list.

Requirements are listed as back log items.

It is usually created by the team members during the sprint planning meeting.

It can be changed and re – prioritized.

Managed by the product owner.

SPRINT BACKLOG:

Cannot be more than 300 tasks.

If the task is for more than 16 hours then the task should be broken down.

If the team wants to add or subtract the tasks they can do so.

The product owner is not allowed to do it.

SPRINT BURN DOWN CHART:

It depicts the remaining work for the day.

It shows how much more time is required for that particular task.

It should burn down to zero at the end of the sprint.

It is not a straight line.

That have bends on UP.

SCALABILTY OF SCRUM:

It contains 6 – 10 people on the team.

Jeff Sutherland – up to over 800 people.

Scrums of scrums and also called as Meta – scrum.

Degree of coupling between packets shows the frequency of the meeting.

ADVANTAGES OF SCRUM:

Simplicity in process.

It contains tested features.

It is completely developed.

Rules are clearly defined.

Increasing productivity.

Communication is improved.

Self organizing.

It has a combination with extreme programming.

Each member carries a lot of responsibility.

DISADVANTAGES OF SCRUM:

Undisciplined hacking.

Violation of responsibility is notices.

No written documentation is present.

They are mainly carried on by the inventors.

WORKING ON THE DISTRIBUTED ANGLE:-

The major failure of the scrum is team fragmentation. Distribution of work is necessary but maintaining gravity is more important.

There are three stages for scrum:

Fragmentation  appropriate self organization  calcification

Too much structure leads to calcification but too less leads to fragmentation.

Too much separation of work leads to increasing chance of falling apart as the chances of fragmenting is higher. Thus the form and degree of separation matters the most in defining a job.

Gravity:

There is a lot of importance for gravity as it’s said – "Gravity: it’s not just a good idea, it’s the law!"

For example, a well-formed team is more necessary than the number of members in that team. Exceptional soccer teams and jazz bands are a good example for it.

As the practicing agilest we must realize that the true power comes from the constructive bonds and interaction from the members.

That is why successful teams have one thing in common – a centre around which to gravitate. And the centre is the ultimate goal or the most important thing to do.

Lack of Gravity:

It must be interesting to know that the absence of centre i.e. the strong gravity will ultimately make our job void.

This results in the powerful personality which comes and dominates the entire structure. Here comes the job of the scrum master where he detects such mistake about the lack of gravity and immediately addresses to the underlying lack of gravity.

Command and Control:

Fear of fragmentation leads to command and control. Here self organization is crushed in command and control system. The organizer fears of losing things and that the things will fall apart as he starts his chain of control.

This result in isolation of team members and no innovative work is done. Simple human interaction tools are abandoned and complex techniques are favored apart from that.

So, when the distributed team calcifies then it would be better for the people to be taken into the war room with sticky notes and big visible charts and will remind them to do their work effectively. But here the team wouldn’t be distributed as it is affected with command and control. So, the next best thing is a virtual war room. That would happen if we set up a wiki page.

Ignoring the fragmenting force:

It only leads to abdication of responsibility.

Sometimes the scrum master thinks that his job is only to see that the team is proactive and committed. And as long as they are like that he has nothing to worry as he is doing his specific job well. But subconsciously the scrum master is abdicating from the responsibility when is only concentrating on team’s self organization. Thus, by this fragmentation starts ruling the situation.

The solution is finding out the reason why there is reduction in gravity. Why are people not concentrating on the main part of the work? If you start facing some issues and problems then you must take a closer look and find out what is the real problem.

Management must examine the team’s ability to self organize themselves and also keep in mind the rules and regulations of the company. They must not conflict company’s other practices.

Due to increased pressure associated with high separation company must realize that each player is remarkably talented. Scrum master must be vigilant and take care of the morale and social interactions of the team. Each team member must be proactive, emotionally mature, creative, and communicative and must be willing to hold one another accountable.

Manage the dimensions of distribution:

As a leader of the team you are not merely there to avoid the two failure modes i.e. calcification and fragmentation. If the business is scared about fragmentation it will add more structure which will lead to calcification on command and control. And if the business wants to flee away from calcification it will forgo the leadership responsibility and thus the fragmentation starts.

Thus the main focus must be on degree of separation and gravity. There must be team gravity i.e. goal oriented center.

Thus make sure gravity is formed. And if u can’t draw the team together physically, try and do it virtually.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now