43
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Graduate course in software engineering Mário Antônio de Almeida Ferreira Job redesign in software development. Belo Horizonte 2012

Job redesign in software development

Embed Size (px)

Citation preview

Page 1: Job redesign in software development

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISGraduate course in software engineering

Mário Antônio de Almeida Ferreira

Job redesign in software development.

Belo Horizonte2012

Page 2: Job redesign in software development

Mário Antônio de Almeida [email protected]

Job redesign in software development.

Paper presented at the graduate course in Software Engineering from the Pontifícia Universidade Católica de Minas Gerais, as a partial requirement to obtain the title of specialist in Software Engineering.(Translated from Portuguese into English)

Orientador: Carlos Alberto Marques Pietrobon

Belo Horizonte2012

Page 3: Job redesign in software development

ABSTRACT

We observe today that the systems development departments of companies have given little

thought to how to structure the work of people. Typically, this process is done without any

scientific study and without checking how that could influence results as productivity and

customer satisfaction. The aim of this work is to help companies find the best way to structure

and divide the work of software development. The study shows how productivity is related to

factors such as work specialization, motivation and systemic view, and how these factors are

related to the way of organizing people at work. It also shows how these factors studied by

management theories have appeared in the evolution of the concepts of software engineering

thus showing trends for the future. It is still an object of study to see how a model of

development formed by more generalist developers could get most of these benefits and result

in a work process more effective and efficient.

Keywords: Software engineering. Generalist. Productivity. Systems development. Work

specialization. Motivation. Systemic view.

Page 4: Job redesign in software development

FIGURES

FIGURE 1: MASLOW’S HIERARCHY OF NEEDS........................................................23FIGURE 2: THREE PILLARS FOR SOFTWARE ENGINEERING..............................30FIGURE 3: TEAM STRUCTURE........................................................................................33FIGURE 4: COMMUNICATION CHANNELS. ................................................................36FIGURE 7: ADVANCE NEW ITERATION. NO "TIME BOX"......................................39FIGURE 8: SEVERAL PROJECTS. COMPLEX MANAGEMENT...............................39

Page 5: Job redesign in software development

TABLE LIST

TABLE 1: ASPECTS E OBSERVATIONS ......................................................................... 31

Page 6: Job redesign in software development

SUMMARY

1 INTRODUCTION .................................................................................................................. 7 1.1 Justification ...................................................................................................................... 7 1.2 Problem ............................................................................................................................ 7 1.3 Goals ................................................................................................................................. 8 1.4 Methodology .................................................................................................................... 9 1.5 Paper structure ................................................................................................................ 9

2 DIVISION AND SPECIALIZATION OF TASKS ........................................................... 11 2.1 Task specialization ........................................................................................................ 11 2.2 Process optimization ..................................................................................................... 13 2.3 Organizational structure .............................................................................................. 16 2.4 Limits of specialization ................................................................................................. 17

3 SYSTEMIC VIEW OF WORK .......................................................................................... 18 4 HUMAN FACTOR .............................................................................................................. 20

4.1 Humanistic approach .................................................................................................... 20 4.2 Groups and informal leaders ....................................................................................... 21 4.3 Motivation ...................................................................................................................... 22 4.4 Commitment ................................................................................................................. 24

5 COMPLEMENTARY THEORIES .................................................................................... 25 6 SOFTWARE ENGINEERING HISTORY ....................................................................... 26 7 ORGANIZATION OF WORK IN SOFTWARE DEVELOPMENT ............................. 31

7.1 Team Composition ........................................................................................................ 32 7.2 Motivation and commitment ........................................................................................ 34 7.3 Leadership ..................................................................................................................... 35 7.4 Systemic vision and benefits to customers .................................................................. 35 7.5 Communication ............................................................................................................. 36 7.6 Suitability for iterative processes ................................................................................ 37 7.7 Standardization and continuous improvement activities .......................................... 39

8 CONCLUSION ..................................................................................................................... 42 REFERENCES ....................................................................................................................... 43

Page 7: Job redesign in software development

7

1 INTRODUCTION

1.1 Justification

It can be observed currently, that companies' systems development areas have given

little thought to how to structure the tasks performed by people. Typically, this process is

done without any scientific study and without checking how this structure could influence

outcomes such as productivity and customer satisfaction.

Often, efforts have been invested in software process and certifications only to follow

market practices, without, however, have clear objectives how this could actually bring

greater benefits to their customers.

Without a holistic view of the benefits generated, companies may end up organizing

work without any scientific criteria in order to simply find an easier way to adjust the team's

work to implement the processes..

It is believed that scientific research in this area could find better ways or at least

provide a better base of information to help people decide how best to distribute the software

development tasks within companies.

1.2 Problem

Systems development areas of some companies need to structure your work to develop

and maintain corporate systems of the company. They need to know what is the best way to

structure the team work to achieve the best possible results. They must decide whether to

structure their team with more general developers working in various disciplines or whether it

would be better to form teams with more specialized developers working on a single

discipline of software development.

They need to know the advantages and disadvantages of using each approach,

identifying which of them can bring higher productivity and greater benefits for the customer,

analyzing items such as process improvement, motivation, commitment and systemic vision.

Page 8: Job redesign in software development

8

1.3 Goals

1.3.1 General goals

The aim of this work is to help companies find the best way to structure and divide the

software development tasks showing how this structure could influence productivity and

customer satisfaction.

A more accurate scientific study on this subject, mainly through the administration

area experiences could lead the software development areas to achieve better results with

greater satisfaction of staff and customers.

1.3.2 Specific goals

From the definition of the general purpose of this study was possible to develop specific

goals which follow below:

a. show how productivity is related to factors such as job specialization, motivation

and systemic view; and how these factors are related to the way of organizing

people at work;

b. show the importance of division and specialization of tasks, as well as the care it

should have so that this does not bring as a consequence an excessive

specialization of people;

c. show how it could be possible to achieve greater motivation and commitment of

people and how these factors are related to the specialization of people in task

execution;

d. check how the systems view could make the work be more assertive and how the

teams could do to get this view;

e. see how these factors related to management appear in the evolution of software

engineering showing its trends for the future;

Page 9: Job redesign in software development

9

f. propose a way to distribute and structure the software development tasks that can

get the most of the benefits identified in this study.

1.4 Methodology

A bibliographic qualitative research through expertise provided by administration field

was done to show the relationship of specialization of jobs, motivation and systemic view

with people's productivity.

To show the relationship between these aspects of management theories with software

engineering was also done a research on the software engineering field and was used the

comparison technique to identify the similarities between these two universes.

Finally, using the knowledge gained in these studies and comparisons, it was possible

to propose a way to structure the jobs of software engineering and infer how it could achieve

the productivity aspects analyzed.

1.5 Paper structure

In chapter 2 was presented how some authors of scientific and classical theories of

administration believe that specialization of activities and tasks could increase productivity in

the execution of the work.

In chapter 3 was seen as systemic vision-based theories are important for effectiveness

at work.

In chapter 4 were presented studies of how the psychological and social effects of

people can also affect productivity.

In chapter 5 it was seen that in new administrative theories, such as contingency

theory, it is believed that scientific theories with emphasis on task can be complementary to

the humanistic theories with emphasis on persons and to the systemic theories with an

emphasis on the system, and that they can together produce even better results than each in its

individual vision.

Page 10: Job redesign in software development

10

In chapter 6 was made a description of how the work in software development is

carried out and divided into disciplines and activities. It was also noted how aspects of

administrative theories discussed in previous chapters appear and are treated in software

engineering.

In chapter 7, based on the results and conclusions of research conducted, the study

suggested and justified a way to structure the jobs that meets as much as possible the

identified requirements to achieve better productivity and better benefits for customers.

Finally, the last chapter presents a conclusion.

Page 11: Job redesign in software development

11

2 DIVISION AND SPECIALIZATION OF TASKS

2.1 Task specialization

As societies have been organized, there was a process of division of tasks whereby

people have been giving their best skills in the service of society, so that the product of their

labor could be replaced with the product of the work of others and together they all could

meet individual needs.

At the end of the eighteenth century, Adam Smith (1976) began to notice that the

division and specialization of activities could make the work more efficient. Observing a

small factory of pins, Smith noted that a worker not trained for this activity could hardly make

more than twenty pins per day. He noted that despite the pin manufacturing longer be

regarded as a specific activity in society, their work could be further divided into several

smaller tasks each considered as a specialized craft: unrolling the wire, straightening the

wire, cutting, making the tips, sharpening tips for placing the pin head, make the head of the

pin, etc. In all, approximately 18 operations would be required to produce a pin. He noted a

manufacturing with 10 employees, with each one executing at most 2 or 3 of these operations,

that they could together produce about 48,000 pins per day, which would give 4800 pins per

day per person.

Adam Smith (1976) considers that this huge difference in productivity as a result of

the division of labor is due to three different circumstances:

a. "Greater skill in each worker," due to repetition of the task;

b. "Savings that time that usually lose going from one kind of work to another";

c. "The invention of a large number of machines which facilitate and shorten the

work, enabling one person to do the work that otherwise would have to be

done by many."

Given this study, we propose in this work to analyze these three justifications given by

Smith for increased productivity in three different forms of use of 10 employees.

First, with each of the 10 workers making the operations necessary to produce a pin

sequentially, that is, each making one pin at a time.

Page 12: Job redesign in software development

12

Regarding the first justification, Adam Smith considers that the higher the repetition of

the same task, the greater the ability acquired for execution. From this point of view, it is

logical that the less different tasks an employee perform, the higher your skill in

implementing them. Whereas employees in this example repeat the same 18 operations for an

extended period of time (months, perhaps years), they should gain greater skill in

implementing all of them. This repetition would not be enough to gain the necessary skills in

all of them? In the model observed by Smith some even execute up to three tasks. Does the

skill acquired in an operation could help in another operation when it comes to activities in

the same industry (manufacturing pins)? What would be the ideal level of specialization?

These are the questions Smith observations are not sufficient to respond.

The second justification, task switching, this does seem to have a major effect on the

productivity gap found by Smith. The preparation activities for carrying out tasks such as

preparing the materials, prepare tools and position yourself for enforcement may be much

larger than the actual performance of the task. One can take as an example, the activity of

cutting the wire. It would be much more productive to use the same preparation time to cut

the wire to many pins. For the example with every employee making a pin at a time, the time

of switching between tasks greatly influences the total output pins.

The third justification of Adam Smith, it appears that the longer a person is dedicated

to the same task, the more apt they are to find areas for improvement in the process and to

identify tools and machines that can assist her in implementation. Again, for the example of

the 10 employees making all 18 operations we would have, theoretically, a drop in ability to

identify improvements in the process. However we would have the possibility to identify

further improvements through ideas that may arise from all ten employees, rather than depend

on the ideas of a single employee. Also, would be easier to identify improvements in the

relation of one process to another or even to identify new operations or the elimination of

some. Employees doing all the activities would have a more comprehensive view of the entire

pin manufacturing process.

We can see here the fact that perhaps the most important is to see that the work must

be specialized and not people.

The second way to divide the work on the ten employees would be to divide the tasks

between them so that each one be responsible for a task, or up to three tasks, since we have 18

operations to be divided by 10 employees. Because this is exactly the case observed by Smith,

Page 13: Job redesign in software development

13

we have his own explanation for each of the justifications presented. With greater repetition

of the operation, the employee gets greater skill in execution. You can greatly decrease the

alternation of tasks. And the specialization of the task may make people better visualize the

task process so that they can improve it or seek innovations in order to execute it.

Finally, a third way to analyze the reasons of Smith, would be to execute all the 18

operations, but not in sequence as seen in the first example. To facilitate understanding,

suppose that there is no limitation of equipment and tools, so that all 10 employees can

engage in the implementation of the same operation for a while so that eliminates a new

preparation for the task. As an example, we could use a day of work to stay in the same task

since they would have to stop activities to go to their homes and return to work the next day.

In this example, employees would eliminate the time spent switching activities, which is the

justification Smith seems that more influence productivity. As for the others Smith

justifications, this form of division of labor would behave like that has been discussed in the

first example. However, there is a difference that can be highlighted: the employees would

have a much better view of the division of labor and specialization of all tasks.

Given the analysis from these examples, there appeared to be that the main factors that

contributed to this huge increase in productivity were basically the ability to see the work in

its minimum operation and the minimization of switching between tasks. But the fact of

specialize people in the activities also seems to have some importance, but not necessarily this

specialization should be given in the minimum operations. What we need to understand is

what would be the optimal point of people's specialization that would bring greater benefits to

production.

2.2 Process optimization

In 1911 was published the book "Principles of scientific management" of Frederick

Winslow Taylor.

Taylor (1971) wanted to replace the empirical methods by scientific methods. After

the successes that had been achieved with the division and specialization of tasks and

consequently the decrease in switching between them, Taylor thought the task should stop

being made empirically. He considered scientifically possible to find the best ways to

implement them. He believed that a scientific study of time and motion of tasks, could show

Page 14: Job redesign in software development

14

the most productive way to execute each of the minimal operations identified in the division

and specialization of work.

According Chiavenato (2003), for Taylor, the worker was not able nor training to

scientifically analyze their own work. He did not agree that the supervisor should let the

employee determine how to perform the task. Taylor thought that there should be a shared

responsibility between management and the employee. The management (direction) would be

with planning (study and establishment of the working method) and the employee with the

execution.

According to Taylor, these new tasks of managers can be grouped in four titles below:

a. "Develop for each element of individual work a science to replace the

empirical methods";

b. "Scientifically select, then train, teach and improve worker";

c. "Cordially cooperate with workers to articulate all the work with the principles

of science that was developed";

d. "Maintain equitable division of labor and responsibilities between the

management and the workers".

For Taylor was the combination of the worker's initiative, with new types of duties

assigned to the direction, that made the administration more efficient than the old systems.

Chiavenato (2003) has also commented that although Taylor was worried more with

philosophy, since it considered that the main objective of the administration was to ensure

maximum prosperity for the employer while the maximum prosperity for the employee, the

tendency of his followers was much more to concern with the techniques than with

philosophy itself.

Taylor considered that the employee's prosperity was almost entirely related with

money. Their satisfaction was just a result of the increase in their income. Taylor thought that

higher productivity would bring an increase in the wages of employees and a reduction in the

price of the product. However, his followers realized that, with the specialization of the task

and the domain of execution by management (managers), they could also specialize

employees in order to reduce the work in minimum tasks that could be easily understood

making employees fully disposable, reducing the level of skills required to implement and

Page 15: Job redesign in software development

15

therefore reducing wages. Chiavenato (2003) comments that as the labor supply was abundant

at the time, the company owed them nothing, although loyalty from them was expected.

According Chiavenato (2003), a result of time and motion study ended up being the

specialization of worker limiting them to perform a single task continuously and repetitively.

This led to the creation of assembly line where the employee lost his freedom and initiative

and he was confined to automatic and repetitive task execution throughout his workday.

Although some examples of Taylor own actions reported in the book ended up giving

the confinement idea of the automatic and repetitive task execution, one can see that this was

not specifically his thinking because in his book he discussed the cooperation of workers in

the improvement of methods and tools.

Taylor also commented in his work the importance of the effect that the task has on

worker efficiency. Even so, this system had been known by the name “management tasks”.

The simple fact of seeing the work into smaller tasks that can be arranged and improved

already made employees more productive.

It may be noted that the scientific proposal of Taylor was a system that enables the

management of knowledge and the dissemination of best practices among the workers. He

wanted to provide a scientific model that could continuously improve the execution of each

task. Hence the importance of seeing the smaller operations that composed work.

Like many models recently created to improve the organization's maturity in process

execution, Taylor advocated that the processes should be managed, defined, measured and be

in constant optimization. You can identify the following activities described in Taylor's work:

manage and observe the performance of the tasks; define the best way to run, train workers

and repeat good practice; quantitatively manage the processes and find improvements that can

be added; encouraging employee participation for the process to be in constant optimization.

It is not difficult to note here a clear resemblance to the maturity levels of CMMI (2010)

(Capability Maturity Model Integration) SEI.

Even, one can point out to the negative similarities that exist in some deployments

made by followers who not had attempted to the correct values of the two models (Taylor and

CMMI). Distorting the theory they made the employee lose all their freedom and initiative,

confining him to an automatic and repetitive task execution and making him disposable and

easily replaceable.

Page 16: Job redesign in software development

16

2.3 Organizational structure

According Chiavenato (2003), while the theory of Scientific Management was

developed in the United States by Taylor and other engineers in 1916, appeared in France The

Classical Management Theory. While the first was characterized by an emphasis on task

performed by the worker, the second emphasized the structure that the organization should

have to be efficient, but both, in a way, shared the same concept of job specialization.

Fayol (1989) pointed out that every company was divided into six functions: technical

functions, business functions, financial functions, security functions, accounting functions and

administrative functions.

Fayol (1989) also advocated certain principles, among them, the division of labor,

control unit and centralization. Principles that led him to suggest a linear and hierarchical

organizational structure based on essential functions and on absolute authority of the superior

about their subordinates, typical of military organizations.

According Chiavenato (2003), currently, no more functions are named and divided

that way, and the way they organize and compose the organizational structure has changed in

the companies.

According to him, besides the functional departmentalization, which brings together

the activities and tasks according to the main functions developed by the company, some

companies have adopted other types of departmentalization as a way to organize the company

to best suit your goals. So besides the functional which is still the most used, you can have

also a departmentalization by products and services, geographic location, customer, process

phases and projects. Some companies also mix these types to reach the ideal model and bring

more benefits in implementing their business.

Although Fayol defended the linear structure and the control unit, it is possible today

to see some cases questioning this theory and presenting structures with more than one control

unit. Even the PMI (Project Management Institute) considers the matrix structure as a way of

structuring an organization for projects with the command split between the project manager

and the functional manager. As people become more self-managing, it is permitted that

managers can move to a supporting role, coach, and less control functions, allowing the

structures to change to matrix models that give more flexibility and agility for companies to

develop and run their businesses.

Page 17: Job redesign in software development

17

2.4 Limits of specialization

Through this study, it has been listed several ways of specialization of labor in society

and business. However many criticisms were made to this model due to the fact of not

knowing for sure how much people should be specialized.

"As much as its benefits are universally recognized and not admit the possibility of

progress without the specialized work of scholars and artists, the division of labor has its

limitations and the experience and the sense of the measure teach not to exceed ." (Fayol ,

1989).

Furthermore, it is found in today's enterprises, a search for agility and consequently

the need to group together people not only by the technical functions performed, but also for

other types of relations (projects, customers, products, etc.) and sometimes even by more than

one way at the same time, forcing them to reduce the rigid control unit existed and mature

their professional making them more self-managed.

Page 18: Job redesign in software development

18

3 SYSTEMIC VIEW OF WORK

According to Senge (2010), people learn early on to dismember the problems and

fragment the world to make tasks and complex issues more manageable. But in exchange,

they pay a hidden, very high price, which is to lose the ability to understand the consequences

of their actions, losing the intrinsic notion of connection to the whole.

The classical approach was influenced by three dominant intellectual principles:

reductionism, that principle is based on the belief that all things can be decomposed and

reduced in its simple basic elements; analytical thinking, in which the whole is the sum or the

explanations of the parties; and the mechanism, principle which is based on simple cause-and-

effect relationship between two phenomena. (Chiavenato, 2003).

With advent of general systems theory, management has also become influenced by

three new principles opposed to the classical approach which were focused on task

specialization. These new principles are: expansionism, a principle which believes that every

phenomenon is part of a larger phenomenon and the emphasis is on the whole of which that

phenomenon is part; synthetic thinking, where the phenomenon is seen as part of a larger

system and is explained in terms of the role it plays in that larger system; and teleology,

principle where the cause is necessary but not always sufficient for the effect arises.

(Chiavenato, 2003).

Senge (2010) believes that the world is not made of separate forces unrelated, and

when people realize this, they can build organizations that learn. Organizations where people

continually expand their capacity to create results they truly desire, where they can stimulate

new thinking patterns, where collective aspiration gain freedom and people continually learn

how to learn together.

For Senge (2010) there are five subjects or dimensions converging to innovate

learning organizations:

a. personal domain: the ability to clarify and continuously deepen your own

personal vision;

b. mental models: generalizations or images that influence how we see the world

and how we act;

Page 19: Job redesign in software development

19

c. shared vision: ability to have a shared image of the future that we intend to

create together;

d. team learning: ability to extend the existing limits that a single person can learn

individually.

e. systemic vision: ability to see connections and relationships between objects

and actions.

According to Senge (2010), systemic thinking is the discipline that integrates all

others, fusing them into a coherent body of theory and practice. Building a shared vision

encourages commitment to the long term. The theory of mental models focuses on the

openness needed to reveal the limitations in our current ways of seeing the world. The

learning team develops the ability to seek together a vision of the whole picture, which is

beyond individual perspectives. And the personal domain stimulates personal motivation to

continually learn how our actions affect the world and not get caught in our limited mental

models.

Each person thinking in a systemic way is important, but as systems can be very

complex, contain many variables and can be difficult to observe, all these disciplines work

together to make larger the vision of a group of people, something that individually might be

impossible to achieve.

Without systemic vision, organizations end up losing a lot of efforts in activities and

actions that individually appear to be important, but systemically and globally do not

contribute or contribute negatively to the company's results. You can, for example, think that

you are acting to solve a problem, when in fact you are increasing it. Without overall view of

the situation, you end up increasing efforts in the same action and cause the problem becomes

larger and larger in an endless cycle.

As was seen the importance of seeing the task in a divided and specialized way to

understand what is being done and improve the process and reduce the switching between

activities, one can see here the importance that there is also in the opposite perspective, seeing

the tasks as part of a complex and dynamic system where each task influences and is

influenced by it. This new perspective helps you understand which tasks contribute or not to

positive results in the system, so that there is greater efficiency in the actions chosen and in

the allocation of efforts.

Page 20: Job redesign in software development

20

4 HUMAN FACTOR

4.1 Humanistic approach

In the study of specialization of labor, it seems that by a simple logic that the more you

specialize the work of people, they become more skilled and therefore more productive.

However, when dealing with people, this simple logic does not work. Various

psychological and social factors may also influence the productivity of people working in

organizations.

According Chiavenato (2003), in the 1930s, because of the need to humanize and

democratize administration, emerged Human Relations Theory in the administration. The

humanistic approach prioritized the concern for people and their social groups than the

concern with machine and the working method.

Also according Chiavenato (2003), Kurt Lewin in his research on social behavior has

already referred to the important role of motivation with the elaboration of a field theory

which was based on two fundamental assumptions: that human behavior is derived from the

totality of coexisting facts and that these facts have character of a dynamic field where each

part of the field has interrelation with other parties.

Lewin proposes that behavior is a function or result of the interaction between the

person and the environment.

According Chiavenato (2003), Elton Mayo conducted research in a textile industry

with very high staff turnover around 250% a year and had already tried several salary

incentives approaches uselessly . Mayo introduced rest breaks and delegated to the workers

the decision on production schedules and also hired a nurse. Soon emerged a group of spirit,

production increased and staff turnover decreased.

Chiavenato (2003) describes that in 1927, the National Research Council began a

series of experiments in the Hawthorne plant. In these experiments can be observed variation

in production in relation to the modification of several work conditions as in the payment

system for group, in break to rest and in amount of working hours.

According Chiavenato (2003), through these experiences it was reached the following

conclusions:

Page 21: Job redesign in software development

21

a. that the level of production results from the social integration of the employee

and not only from your physical capacity or physiological;

b. the higher the social integration in the group, higher is willingness to produce;

c. that workers do not act or react in isolation as individuals, but as members of a

group;

d. that the rewards and social sanctions may be more valuable than financial ones,

observed that some workers preferred to earn less than endanger their friendly

relations with colleagues;

e. that each person has their own personality and influences the behavior and

attitudes of other people that she keeps in touch and on the other hand, they are

also influenced by them;

f. that people want to be understood, accepted and participate in order to meet

their interests and aspirations;

g. that simple and repetitive tasks become monotonous and dull and adversely

affect the employee's attitude and reducing your satisfaction and efficiency,

that is, the nature of work has influence on worker morale.

4.2 Groups and informal leaders

One of the conclusions of the Hawthorne experiments was the identification of the

existence of informal groups and their influence on production. These groups are influenced

by several informal leaders. An informal leader is anyone in the workplace engaged in a

positive or negative influence on others. The sum of these influences is that will produce the

values, motivation and commitment of the group.

Maslow (2001) describes in his book a remark made in an Indian tribe where there

was no formal hierarchy. He noted that for each different function, emerged a different leader,

based on the needs of each function and the confidence of the people in knowledge and skills

of each leader.

This shows the natural process that exists in the emergence of informal leaders while

performing work in a society. Also can be seen that anyone in the work environment can

Page 22: Job redesign in software development

22

influence and be influenced, and this feature is not unique to the formal leader (boss or

manager). All people are potential leaders and in any group there will always be people

influencing and being influenced forming their culture, their values and beliefs.

That is why it is important to observe the informal groups and make the influences

generated by them to be the most possible positive, motivating them to act in order to obtain

the maximum commitment to the group and with the work done.

To Chiavenato (2003), when tasks are routine and repetitive, formal leadership is

limited and subject to controls by the heads. In these environments, people see the informal

leaders as the only way to meet your needs and are strongly influenced by them, and in most

cases, negatively impacted, ie, against the organization's interests.

4.3 Motivation

Studies of motivation tend to discover and understand the reasons for a person to act in

a certain way.

According Chiavenato (2003), the motivation refers to behavior that is caused by a

need within the individual who directs the goals that can satisfy these needs.

According Chiavenato (2003), the human is considered an animal with needs that

alternate or succeed together or separately. Satisfied a need arises another in its place, and so

on, continuous and infinitely.

Chiavenato (2003) speaks of three levels or stages of needs that must be met: the

physiological, psychological and self-realization.

Page 23: Job redesign in software development

23

Figure 1: Maslow’s hierarchy of needs.

Source: Maslow, 2001.

One of the best known works of Maslow (2001) is his pyramid of hierarchy of needs .

Maslow believed that all people sought climb the pyramid layers in search of self-realization.

When a level had been satisfied, the person was motivated to seek the next level. And he

believed that the role of companies would be to facilitate this way to the top of the pyramid.

First should be satisfied physiological needs such as food, sleep, sex, shelter and physical

activity. On the second level there are the security needs such as protection, self defense, job

stability. The next level is the need for socialization through friendship, family and

relationships in general. In the fourth level we have the need for esteem, be respected and be

recognized. And last, there is the self-realization which is the impulse to pursue his own

potential and be in continuous self-development.

For Maslow (2001), with people in self-realization process, these highly evolved

individuals would assimilate his work as identity, causing the work to become an inherent

part of the definition that they make of yourself. When you can say "We did it" you

participate in glory, pleasure and pride of everyone in the group.

"The only happy people I know are those who are working directly in something they

feel is important." (Maslow, 2001).

Finally, Maslow thought it was not necessary to find something to make people create.

They are naturally creative. What is needed is to find out what is inhibiting and blocking these

Page 24: Job redesign in software development

24

people making them not creative. In other words, you need to find out what companies are

doing to lock people climb in the hierarchy of needs and seek self-realization.

4.4 Commitment

According Chiavenato (2003), one of the ways that leaders have to transform

organizations and obtain the commitment of people is to build trust between people. For him,

trust can not be built without treating people with respect and dignity. Trust requires that

organizational values adopted have strong meaning for people.

In this environment of trust, Senge (2010) believes that the systemic view helps people

to engage with the whole. When people see only a piece of work, they can not commit to the

final work.

According to Maslow and Senge, a broader and shared vision makes the person feel in

the search for self-realization making her work be coincident with their own self.

"A real achievement inevitably means a valid and virtuous task. Make an idiot task

very well indeed is not real achievement." (Maslow, 2001).

Herzberg, quoted by Chiavenato (2003), proposes enrichment of tasks and jobs as a

way to continuously provide the motivation at work. Consists in replacing simplest tasks for

more complex tasks or by a larger number of tasks. According to him, this enrichment of the

task can give meaning to the work, causing desirable effects such as increased motivation,

increased productivity, reduced absenteeism and turnover of people.

In addition, a more comprehensive and systemic view allows people to have more

capacity to contribute in decision making, increasing the contribution of each person and

therefore inceasing their motivation and commitment by feeling more responsible for their

work.

"The personal commitment is an emotion. If this is ignored, there is not personal

commitment and the task is performed automatically and mechanically, without motivation.

"(Chiavenato, 2003).

Page 25: Job redesign in software development

25

5 COMPLEMENTARY THEORIES

According Chiavenato (2003), in recent theories such as contingency theory, the

theory of human relations has been seen more as a compensation or complement than as a

contradiction to scientific management.

To Chiavenato, contingency theory emphasizes that there is nothing absolute in

organizations or in management theory. Everything is relative and it all depends. Therefore, it

is unnecessary to say that a theory is better or worse than another. They may have different

hits for different environments and can be complementary.

According yet Chiavenato (2003), Lawrence and Lorsch concluded through research

that all companies have of differentiation and integration features. The differentiation relates

to the job specialization process, while integration refers to the opposite movement in getting

the union and coordination of efforts.

This shows the need for companies to live with the two views: specialized and

systemic.

Page 26: Job redesign in software development

26

6 SOFTWARE ENGINEERING HISTORY

You can see aspects of some administrative approaches in software engineering. As in

the scientific management of Taylor, the software development task was also divided into

smaller activities so it could be better understood and optimized. Software engineering began

in a scientific study to find out what were the steps necessary for the production of software,

and for each of these steps, it began to catalog what are the best practices, methods,

techniques and tools to make work more productive and produce a higher quality software.

Pressman (2011) has spoken about five activities that can be considered for any

generic software process: communication (statement of requirements), planning, modeling,

construction, deployment..

Also can be seen in various software processes and software engineering books a

grouping of activities for disciplines.

RUP (Rational Unified Process), unified process created by Ivar Jacobson, Grady

Booch and James Rumbaugh defines some subjects which are groupings of activities that go

to a detail level slightly higher than the generic activities raised by Pressman. It also added

some support activities that are necessary for the development of software. In all, RUP has the

following disciplines: business modeling, requirements, analysis, design, implementation,

testing, deployment, configuration management, project management and environment

configuration (Kruchten, 2000).

Just as happened in Taylor's work in the scientific management theory, where it was

observed that switching between tasks lost productivity, the first software processes also

proposed do each of these activities completely before moving to the next. It was believed

that the next task would be easier to do if the previous task was made completely in order to

minimize rework.

From this concept, the process of software called "waterfall model", that suggests a

sequential and systematic approach to software development, has emerged, beginning with

the statement of requirements with the client, followed by planning, modeling, construction,

delivery until you reach the system maintenance. (Pressman, 2011).

As in scientific management, the detailed view of the work allowed the software

engineering improve the activities. Thus, the software production got the same benefits as

Page 27: Job redesign in software development

27

achieved by Taylor's followers: increased productivity, improved assertiveness in performing

the tasks and more quality of the final product. In addition, maturity models such as CMMI

(Capability Maturity Model Integration) were created to improve and disseminate the

techniques, methods and best practices of each discipline.

However, it was noted that in several projects, products built did not meet user needs.

Sometimes quality software were built taking full account of the requirements, but these

requirements don't represented effectively the needs of the user or sometimes the software

brought no benefit. In other situations, the software did not reach the end, because only in the

middle of implementation, it is found that the model defined at the beginning of the project

was not achievable.

These problems have led to software engineering evolve in another direction. In

addition to observing the work in detail and improve each activity there was also a need to

observe the benefits generated by the software built, and the relationship between activities

and their result with the benefits generated. At this point some aspects seen in the systems

approach of the administration were noticed.

A little more attention began to be given to global aspects of software development.

The disciplines and their activities came to be seen on related way. Through the systemic

view, it was identified that in the software development there was a mutual dependence of

disciplines. Not only the following disciplines depended on the previous ones, but the

opposite was also true. It has been found that the "feedback," the return of the following

disciplines could improve the results of the previous ones.

Thus, it was verified that in many situations, it was preferable, return several times in

all disciplines, in a cyclical and evolutionary process, until that the whole software have been

completed.

Of this concept came the "iterative" process that goes through all disciplines and ends

in the delivery of an executable. Thus, the "feedback" obtained with the delivery could feed

the next iteration making software meet more and more user needs.

Craig Larman (2004) points out in his book the main motivations to develop

iteratively. Among them are: the anticipation of software pieces delivery bringing confidence

and satisfaction for staff and clients; and bringing risk anticipation and changing requirements

for the early stages of the project making them more controllable and predictable.

Page 28: Job redesign in software development

28

However, it still lacked solve a problem created by iterative processes: minimize

rework and the difficulties of integrating the pieces of software. It was found that this work

would decrease if he had started with the parts of greater value to the business and greater

technical difficulty. This would cause the risk decreased considerably and consequently

increase the project's chances of success. This concept of requirement prioritization has

gained such importance that has become one of the main work of the software architects: the

identification of architectural requirements that has been an essential task for several iterative

processes. Some processes have yet some points to verify if some risks have been overcome.

In RUP, where this prioritization is done, the end of the conception phase is used to indicate

that the project is technically feasible and worth to be built in the business point of view. The

end of the elaboration phase indicates that the greatest technical and business risks were

resolved and stabilized allowing an increase in production in the next step (Rational, 2001). In

Scrum, the "backlog" of the product is usually ordered by value, risk, priority and need. The

higher the order (top of the list) of an item, more the item should be considered, and more

consensus exists in relation to it and its value (Schwaber; Sutherland, 2011).

These are various concepts and techniques coming from a more systemic view and not

just the simple vision of each discipline and activity.

More recently, a new global concept has emerged in software engineering, the search

for agility. We can no longer follow a software process by making all models simply by

standardizing without a reason that really justifies each artifact produced. With this, the

process has become more flexible and customizable to contain only the work required being

done. The process used in a project could not be right for another project, but still, it is

important that the best practices, techniques and tools were shared and used when necessary.

Thus, more emphasis came to be given to fundamental concepts such as values and principles

rather than emphasizing rigid and bureaucratic processes.

“When men are pure, laws are useless; when men are corrupt, laws are broken".

(Benjamin Disraeli). One can make an analogy to the processes showing that some people

will not follow them, because they do not believe in them or because they do not agree with

them. While for those who follow them, you did not need them. It was enough to these, using

the good practices available, driven by principles and values.

That's why this concept has made important personalities of software engineering

come together and created the Agile Manifesto.

Page 29: Job redesign in software development

29

Through this work we have come to value:Individuals and interactions over Processes and toolsWorking software over Comprehensive documentationCustomer collaboration over Contract negotiationResponding to change over Following a plan. (BECK e outros, 2012)

Interesting to note, this agile approach has also developed other aspects of

management theory: the humanistic theory. This development seems to be essential to reduce

the rules and the rigidity in processes and work on the most fundamental level with values and

principles in order to increase the freedom and flexibility to implement their activities without

reducing the quality of the final product. The first item of the manifesto speaks of the value of

the individual and the relationship between them. The third item manifesto also shows a

greater customer confidence value, more than the paper and signatures.

One can even say that there is more value in making mistakes together than to do the

right thing alone, such importance being given to the relationship and trust between people in

relation to processes and activities. The group gets stronger to overcome and correct their own

mistakes and walk more consistently to the right direction.

In addition, we also observed an incentive to self-managing teams that can only be

achieved with the development and the maturation of people providing them a path to self-

realization. One of the principles of the Agile Manifesto is "Build projects around motivated

individuals. Giving them the environment and support they need, and trust that they will do

their work. "(Beck et al, 2012).

In Scrum guide developed by Schwaber and Sutherland (2011), we also have: "Scrum

Teams are self-organizing and multifunctional. Self-organizing teams choose how best to

complete their work, instead of being directed by others outside the team. "

Even PMI (Project Management Institute) has observed this trend of self-management

and created project management certifications for technical people. One of the targets of this

CAPM® certification are technical professionals without experience in managing projects,

but working on projects and want to get more project management knowledge.

Therefore, software engineering seems now to have taken the right path, joining the

scientific, systemic and humanistic approaches. Valuing both the specialization of activity,

holistic and systemic view as well as people. And for these paths it must keep evolving their

methods, techniques, concepts and tools to provide the best software development practices.

Page 30: Job redesign in software development

30

Figure 2: Three pillars for Software Engineering.

Source: Provided by author.

Page 31: Job redesign in software development

31

7 ORGANIZATION OF WORK IN SOFTWARE DEVELOPMENT

This topic is intended to show how a team of development could be composed and

structured in order to get the most out of productivity factors discussed in previous chapters.

Will be presented and discussed an organizational structure based on more generalist

developers under a multidimensional management in contrast to teams with more specialized

developers with single authoritative control unit.

Next will be seen that there are strong indications that this team of more generalist

developers under a multidimensional management would be better able to achieve the

discussed productivity factors.

We will analyze important aspects for the efficiency and effectiveness in the

development of systems such as motivation and team commitment; leadership; systemic view

and benefits to customers; communication; standardization and continuous improvement

activities. For each of these aspects, the strengths and difficulties of achieving them will be

verified in the case of have been chosen the team structure with more generalist developers.

The following table shows the criteria to be considered for the team proposed in order

to observe and infer if it fits on the factors identified above as the best productivity drivers.

TABLE 1: Aspects e observations

Aspect ObservationsMotivation Ability of people to reach the highest levels on

Maslow's hierarchy pyramidCommitment More likely that people commit and take

responsibility for the work.Leadership Ability to bring the influences of informal leadership

to the organization's interests.Systemic view Team's ability to achieve a more systemic view,

better see the consequences of their actions and provide greater benefits to customers.

Communication Ability to use the communication more efficiently.Suitability for iterative processes Easier allocation of human resources.Standardization and software processes

Knowledge management, use of standards and best practices and process improvement.Source: Provider by author.

Page 32: Job redesign in software development

32

7.1 Team Composition

One can see the importance of these three perspectives for the development of any

work: specialization of the task, the systemic vision and the development of people. This

importance that exists, both seeing in detail each of the work and see its consequences for all,

without forgetting the people who do it. That is, the importance of the whole, the part and the

environment.

One can now try to find an ideal way to organize and share the work of software

engineering among people in order to facilitate the most of the development of these three

perspectives within the organization.

As discussed, people need to have some specialization in the tasks to gain experience

and skill, but this can not be excessive to not prevent the motivation and the systemic view of

the group. Regarding motivation, it was seen that the person needs to feel doing something

important to achieve self-realization. In the aspect of systemic view, it is important that

people can see as much as possible of the work being performed. When this is not possible,

the sum of the individual views must be able to reach all the system observed and is also

interesting to have a bit of overlap between the skills to facilitate communication of the

visions and together form a shared vision of the whole.

To meet the most of these requirements, the team could be composed of

multidisciplinary and self-managing developers. The level of specialization used for people

could be specialization in development of software systems engineering. At first, this level of

specialization would be enough to repeat several times the work and acquire greater skill in

execution. Taking up the RUP disciplines as an example, these developers would have to be

competent to work in most disciplines, from business modeling to the deployment also going

through the supporting disciplines.

If the competence of the person can not reach all disciplines, one should participate in

projects where there are other people who can supply their deficiencies, but so that there is

some overlap of disciplines to facilitate communication and form a shared vision of all the

group. Even some people on the team should start acquiring competence in customer business

for this overlap and shared vision come to him.

Observing the forms of departmentalization and trends to multidimensional views of

the organization previously discussed, could there be four managerial visions supporting these

Page 33: Job redesign in software development

33

developers in a matrix form: business management, project management, strategic

management and functional management. The business management to keep the development

tasks aimed at providing real benefits for the customer who is being attended. Project

management to keep the work directed to the agreements between stakeholders and maintain

trust between them. The strategic management to keep the loyal group to the values,

principles and the shared vision of the future. And the functional management to provide the

technical expertise needed to develop the systems.

Figure 3: Team structure.

Source: Provider by author.

Figure 3 shows examples of the distribution of skills and expertise of developers. The

more disciplines the developer is aware, better to build a systemic view, which makes it

important that they be trained in the skills they do not yet have. Overlays highlighted in

orange allow you to have multiple mental models, facilitate team learning and help to build a

shared vision. Some developers and customers should also have overlapping abilities so that

the shared vision can cover a wider scope making software development and knowledge of

the business closer to each other. The ellipses show the multidimensional managerial visions

that guide the groups to achieve the results and benefits expected by the organization.

In the following sections will be discussed how this form of organization could meet

some aspects of system development as motivation and team commitment; leadership;

systemic vision and benefits to customers; communication; standardization and continuous

improvement activities.

BusinessBusiness ModelingRequirementsAnalysis and DesignImplementationTestImplantationConfiguration ManagementProject Managementenvironment

D D D D D

strategy business

functional Project

C C

Page 34: Job redesign in software development

34

7.2 Motivation and commitment

As previously mentioned, the organization should ease the way for people reach the

top of Maslow's pyramid so that they stay in constant pursuit of their self-achievement.

At first it seems that it would not be achieved neither the first levels of Maslow's

pyramid if it was applied in the systems development team the same concepts seen in Taylor's

time because jobs and the people were very specialized in order to make the tasks

independent of people, making them disposable, and thereby reducing their salaries. In these

early levels, people seek to satisfy their physiological and safety needs. They seek to have a

salary that meets those needs, in addition to seeking stability for the assurance that the salary

is not something temporary. In addition, in these job models, much of the communication is

done through documents that transfer the specifications of a discipline (a sector) to the

following discipline letting people very isolated and alone at the computer and damaging

socialization necessities, friendship and affection. About esteem needs, recognition and

respect, it is common to see in these environments individual recognition attitudes. These

attitudes do not reach everyone and demotivate all people, who did not win and also the

person who won for feeling away from the group. On the search for self-realization, was seen

by Maslow studies, Senge and Chiavenato that it would be almost impossible someone feel

accomplished performing tasks in such a small scope.

On the other hand, with a team of more generalist and multidisciplinary developers

would be much more likely to get people to meet those needs. Their work would become

more noble, they would perform more important things, they would become more recognized,

their salaries would be higher, they would interact more with other people, and finally they

would be able to seek self-realization. They would not only be part of a simple design task.

They would become part of product realization and even of benefits generated for customers.

As previously mentioned, the commitment of people is achieved through trust. Make it

easy the way for a person to climb the hierarchy of motivation and to seek self-realization

contributes greatly to generate that trust. When people feel accomplished and important in

what they are doing and receive recognition and respect, people will engage.

Page 35: Job redesign in software development

35

7.3 Leadership

Was previously seen the power that informal leaders have on the team, and it is

important to make this leadership be positive for the organization.

With the proposal of a team of generalists developers, is expected to give more

strength to these informal leaders. In the matrix management (functional, project, strategy,

client), the formal leaders become weaker and, because of that, there is a need for self-

managed teams where informal leaders come and go all the time according to the subject

matter or the task performed. These formal managers that tend to become advisors or

consultants should act only to keep on people and informal leaders the different views that are

important to the organization. That is, continue the development of functional techniques,

maintain and evaluate the planning, develop the values and principles and seek greater

benefits for the customer.

7.4 Systemic vision and benefits to customers

As we have seen, Peter Senge defines the five disciplines of the companies that learn:

personal mastery, mental models, shared vision, team learning, systemic view.

In the suggested organization, people would own skills in several disciplines,

including also the client's business knowledge. The overlapping competences would cause

people to have several mental models and give them different perspectives of the work. The

team would get a broader view of all work and it would facilitate the construction of a shared

long-term vision.

Through this systemic perspective, customer business decisions would be shared with

the development team, adding the experience and ability of customer in seeing the whole

business with the development team's ability to structure concepts and structures.

Therefore, this approach would also contribute to the personal development of people

making them feel doing something more important and looking for their self-realization. The

team can feel like really a company's business participant, rather than simply feel like a

support structure.

Page 36: Job redesign in software development

36

Thus, the demands could be prioritized jointly and be more assertive preventing the

development of products or features that would be discarded for not bringing any benefit to

the business.

This effectiveness of doing the right thing would be one of the factors that most

would contribute to improve the performance of systems development area. Many efforts

could be avoided through the systemic and shared vision. Ideas for business may arise

preventing complete systems to be built, or at least, would make them to be more simple.

7.5 Communication

Most of the work time of a project manager is spent on communication. (PMI, 2008).

Some people even speak of 90% of the time.

The project manager should consider the number of potential communication channels

as an indicator of the complexity of project communications. The number of potential

communication channels is given by n (n-1) / 2 where n represents the number of

"stakeholders" (project stakeholders). (PMI, 2008).

Figure 4: Communication Channels.

Fonte: Provided by author.

With the proposal of a multidisciplinary team, you tend to form smaller teams with

more dedication to the project. In models with more specialist, to not stay idle, they end up

working in more than one project increasing the number of people who are working on the

same project. Thus, the more vertical way to work with more general developers decrease the

communication channels and thus the complexity of the project communications. And as the

Page 37: Job redesign in software development

37

complexity decreases, the time required from project management would also be reduced.

Perhaps this is one of the reasons that enable teams to be more self-managed, principle of

agile methodologies.

Also, another concept of agile methodologies, reduce the documentation to what is

really necessary, can also be achieved with this type of team. It would not be necessary to

document simply to communicate from one discipline to another, because in another

discipline would be the same people. Thus the documentation could be more focused on

understanding the problem and system maintenance. In many cascade processes with people

allocated only in one of the disciplines, it has been noticed that a huge part of the

documentation has this goal and even then the understanding is flawed. To tackle this

problem, it has been seen that more and more efforts are invested in these documentations to

improve understanding making them even bigger.

7.6 Suitability for iterative processes

The iterative development is an approach to building software in which the overall

project life cycle is composed of several iterations in sequence. Each iteration is a self-

contained mini-project consisting of activities such as requirements analysis, design,

programming and testing. The goal for the end of an iteration is a release of a partial version,

stable, tested and integrated of the system. (Larman, 2004).

You could say also, that this process is very similar to the PDCA cycle, plan (plan) of

(do), check (review), act (act) devised by Shewhart and released by Deming. Both aim to have

a "feedback", an assessment, in order to act in the next iteration or the next cycle.

With a team of developers that works in all disciplines, activities of the different

disciplines could be allocated to all of them. They could divide and separate some kind of

work, but in rare moments would have someone idle since they could collaborate with any

type of work that needed to be done (Figure 5).

Page 38: Job redesign in software development

38

Figure 5: Generalists. Same people in the activities.

Source: Provided by author.

But if the team was formed by developers exclusively allocated to each subject, it

would be more difficult to not leave them stranded, as some works of some disciplines depend

on the work carried out in previous ones (Figure 6). Also, the work of a next iteration could

not be done, because the next iteration would depend on a "feedback" (return) of the product

that would be generated in the current iteration. Moreover, an iteration has the characteristic

of being "time box", meaning that they are time slots that must not overlap in time (Figure 7).

Another solution would be the allocation of these people in several projects, which probably

would cause them completely lose the perception of the whole and the meaning of each

project, and also greatly complicate the management of resources since the activity of a given

project could delay impacting on another project (figure 8).

Figure 6: Iterative. Idleness.

Source: Provided by author.

Page 39: Job redesign in software development

39

Figure 7: Advance new iteration. No "Time Box"

.Source: Provided by author.

Figure 8: Several projects. Complex management.

Source: Provided by author.

7.7 Standardization and continuous improvement activities

As we have seen, through Adam Smith and Taylor, the specialization of the task may

bring some benefits for work performance. The simple fact of seeing the divided form of the

activities already provides an increase in productivity through evaluation mechanisms and

improvement of each activity. It was also seen that software engineering has been working in

this direction to find the best methods, techniques and tools that can be used in each of the

activities according to the need of the software being built.

It was also seen that the expertise of people at work increases their ability in

performing the task. However, excesses of specialization can bring some social and

Page 40: Job redesign in software development

40

motivational problems, and the lack of systemic vision and lack of vision of the consequences

of carrying out the tasks.

One can see some organizations specializing the most of the activities of people with

the aim of making them more productive, and also to standardize tasks to make them more

independent of people.

Although the concept of "Software Factory" was created more as a way to standardize

development best practices and reuse components, some organizations have created software

factories as a way to specialize the work of people and following it through a concept of

"production line "where each discipline appears as a specific sector of this production line

getting artifacts of previous discipline and sending resulting artifacts to the next discipline. As

Taylor preached, usually people of these factories are required to do the activities as described

by their managers. However, this ends up being contradictory to another proposal of Taylor

himself, that is to improve processes continuously through a better perception that people

have of their activities. In practice, process improvement ends up being made only by

manager and almost with no participation of other people, and with time, the process ends up

stagnating.

Through this authoritarianism imposed by managers or by the owners of processes,

one can make the company reach a good standardization and consequently achieve some

CMMI levels. However, certification does not necessarily mean that the software can meet

the needs expected by the customer and neither that the development was done

productively.This can only mean that even mistakes could now be standardized.

Authoritarianism and the specialization of people really seem to be the quickest way to

achieve this standardization so desired by companies. Thus the company could more easily

reach to the certification level 3. But from level 4, the participation of people begin to be most

needed, and if the company continue in this model, it won't having a true benefit. There are

indications that both measurements and continuous process improvements require the active

participation of individuals and systemic vision to really bring real benefits. To measure and

improve processes is essential to have more maturity, that's why these two concepts appear in

later levels of maturity models.

With the suggested organization of multidisciplinary teams would take longer to reach

a standardization and reuse techniques and methods, but they reach it more consistently. From

what has been seen by Senge, shared systems view of the team and the customer would cause

Page 41: Job redesign in software development

41

be used only methods and techniques really needed and would cause user benefits be actually

achieved. But the sharing of methods, techniques and tools could be achieved by the teams

using the structure of shared functional management. This adviser could observe the practices

used by the teams, as well as new market practices and disseminate them throughout the

group making the management of technical knowledge.

In relation to standardization, this should not be achieved completely, because it would

not be useful. The standardization could lead teams to use unnecessary practices for their

projects. The standardization that should exist is the reuse of solutions to the same problem

until a better way is found by any team, in the same way that the design patterns (design

patterns) standardize solutions to design problems.

The standardization should be given only at the level of values and principles as

proposed by the new agile approaches. This would create a shared vision among developers

and directing their decisions.

This way, companies could have real knowledge management, re-use of best practices

and continuous improvement activities really generating benefits for the team and for the

client. Independent of certification they have, this might be the true level 5 of CMMI

maturity, with principles and values institutionalized; best practices being followed and

shared; and continuous improvement of the work being carried out achieved through the

maturity of people.

Page 42: Job redesign in software development

42

8 CONCLUSION

First, it can be concluded that it is worth a deeper scientific study to better understand

the consequences and influences of the division of labor in the organization's results.

It has been shown that this division can greatly influence factors such as productivity

and satisfaction of customers.

It was also found that some administrative theories seems to have been applied in the

evolution of software engineering and new concerns, such as systemic vision and relationship

of people joined the early theories of process improvement.

The study also proposes a structure that could be used to achieve the aspects identified

as important to the organization's results.

Finally, it is expected that companies can observe in a more holistic and systemic

manner the issues identified and analyzed here before deciding which structure the

organization should adopt in its software development units.

Page 43: Job redesign in software development

43

REFERENCES

BECK Kent et al. Manifesto Ágil em português. Disponível em: http://www.manifestoagil.com.br, Outubro/2012.

CHIAVENATO, Idalberto. Introdução a teoria geral da administração. 7ª Ed. Rio de Janeiro: Elsevier, 2003.

CMMI. Disponível em: http://www.sei.cmu.edu/cmmi/ , Outubro /2012.

FAYOL, Henry. Administração industrial e geral. Tradução: Irene de Bojano e Mário de Souza. São Paulo: Atlas, 1989.

KRUCHTEN, Philippe. The rational unified process: an introduction. Addison Wesley, 2000.

LARMAN, Craig. Agile and iterative development: a manager's guide. Boston: Pearson Education, 2004.

MASLOW, Abraham H.. Maslow no Gerenciamento. Tradução de Eliana Casquilho. Rio de Janeiro: Qualitymark, 2001

MPS-BR. Disponível em: http://www.softex.br/mpsbr/ , Outubro /2012.

PRESSMAN, Roger S.. Engenharia de Software. Porto Alegre: AMGH, 2011.

PMI, A guide to the Project Management Body of Knowledge: PMBOK. Pennsylvania, USA: 2008

RATIONAL Software Corporation. Rational Unified Process®. 2001.

SCHWABER Ken; SUTHERLAND Jeff. Guia do Scrum. Tradução de Fábio Cruz. Disponível em http://www.scrum.org/ScrumGuide.aspx, Outubro, 2011.

SENGE, Peter M.. A Quinta Disciplina. Tradução: Gabriel Zide Neto. Rio de Janeiro: BestSeller, 2010

SMITH, Adam. A riqueza das nações. Tradução: Luís João Baraúna. São Paulo: Círculo do Livro, 1996.

SOMMERVILLE, Ian. Engenharia de Software. Tradução de Selma Shin Shimizu Meinnikoff e Reginaldo Arakaki. São Paulo: Pearson Addison-Wesley, 2007.

TAYLOR, F. W.. Princípios de administração científica. Tradução: Arlindo VieiraRamos. São Paulo: Atlas, 1971.