Saturday, January 25, 2020

The History Of Extreme Programming

The History Of Extreme Programming Extreme Programming (XP) is a software engineering methodology that has been formulated in 1996 by Kent Beck. It is a lightweight development methodology, XP is one of several popular agile processes. XP has received fair media attention, and is most renowned for its practices that are sometimes regarded as controversial, such as pair programming and test-driven development. It has already been proven to be very successful because it reaches to the customer satisfaction. Instead of delivering everything at the same time the XP focus on some date far in the future, this process delivers the software you need as you need it, in other words Extreme Programming empowers the developers to confidently respond to changing customer requirements, even late in the project development life cycle. The philosophy of Extreme Programming is teamwork, in other words Managers, Customers and Developers are all equal partners in a collaborative team. The implement is simple regarding Extreme Programmin g, yet effective environment enabling teams to become productive. XP is built on four values: Communication: Extreme programmers constantly communicate with their customers and fellow programmers. Simplicity: The keep their design simple and clean. Feedback: They get feedback by testing their software starting on day one Courage/ Respect: They deliver the system to the customers as early as possible and implement changes as suggested. Every small success deepens their respect for the unique contributions of each and every team member. The main differences with Extreme Programming is that it accepts that humans are imperfect and builds a process that not only accepts progressive elaboration, but makes this reality a central theme to all of its other practices. There is also recognition that the proscribed practices in the real world can be very challenging, to overcome this difficulty the practices interlock and complement each other. With this tools that have been mention the Extreme Programming are able to courageously respond to changing requirements and technology. Figure1: Extreme Programming Overview [1] http://www.extremeprogramming.org/ 12 practices of Kent Beck used in an XP project: There are strong relationships between XP and its practices. Without practices its not XP, and without practicing the practices of XP it cannot deliver benefits. Figure2: Dependencies between the 12 practices of XP 1) Planning Game: This is focused on determining requirements details. The customers and developers are both part of this. In a planning game the customers and the developers sit in a room together. They make plans for software releases and iterations together, identifying each role clearly. Planning game involves the making of story cards from each users point of view and splitting each story into task cards for individual developers then they make plans that take into consideration the volume of work and the schedule based on these cards. 2) Small Releases: In small releases developers put quickly a simple system into production, and then release new versions in a very short time. 3) Metaphor: In metaphor, developers in the team share story or understandings about how their programs work. 4) Simple Design: The system should be designed as simply as possible at any given moment. Keep code simple and extra complexity is removed as soon as it is discovered. Always keep in mind the principle of YAGNI (You arent going to need it). 5) Testing Programmers continually write unit tests, which must run flawlessly for development to continue. Customers define test cases for system releases. 6) Refactoring: Without changing their behavior, improve the internal structures of programs. 7) Pair Programming: Production code which is actually used in the final product, is written with the celebration of two programmers at same machine. 8) Collective Ownership: Programming code is the property of few programmers it owned by the team collectively, and anyone can change code anywhere and at anytime. 9) Continuous Integration: Integrate and build the system many times in a day, every time a task is implemented. 10) 40-hour Week: This is the rule of XP that no work more than 40 hours. Never work overtime a second week in a row. 11) On-site Customer: In whole project include a real, live user on the team who is available fulltime on site to answer questions. 12) Coding Standards: Programmers write common rules to standardize coding styles in the team. XP has 4 basic activities, coding, testing, listening and designing, which are conducted by five major roles, programmer, customer, tester, tracker, and coach. Iteration is a key concept in XP. The time constant in the different iterations range from seconds to months. Figure3: Planning/feedback loops in XP [2][3] http://www.acis.org.co/fileadmin/Curso_Memorias/Curso_CMMI_Sep06/Modulo%202%20-%20Product%20Engineering%20/xp_rup.pdf (Article: Analysis of the Interaction between Practices for Introducing XP Effectivel by Osamu Kobayashi and Mitsuyoshi Kawabata) Comparing two methodologies: Comparing two methodologies requires some form of empirical studies, The framework used is a combination of 2 established frameworks, one is Zachmans which consists of the 6 categories what, how, where, who, when and why and the 2nd one is Checklands framework is called CATWOE and has six other categories. CATWOE is the abbreviation of Client, Actor, Transformation, World view, Owner, Environment. In the following table I combine the frameworks an an order to utilize the strengths of both: zechman Checkland what Transformation why? World view when where? Environment how? who? Client, Actor, Owner 1) What? The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation. The Rational Software Corporation was acquired by IBM in 2003. RUP is a thick methodology; the whole software design process is described with high detail. RUP has evolved in conjunction with the Unified Modeling Language (UML). RUP is designed for large software projects. On the other hand XP has its origins in practical applications in projects during the 1990s; it is formulated by Kent Beck. XP is a lightweight methodology and used for small to medium sized software development teams. XP is intended to meet the demands of a context with unclear and volatile requirements. XP is not a commercial methodology unlike RUP. The origin of RUP and XP are similar. Both methodologies based on experience from software engineering and are evolved during the same decade, although RUP is bit older in age. There are two different underlying philosophies behind RUP and XP. RUP takes to a large extent a technical management perspective while XP is uses in development staff. RUP describes the whole software design process with high detail; RUP is a very complex methodology and is difficult to comprehend for both project managers and project members. Therefore, it is not the most appropriate software design methodology for most small projects. While XP is originally designed for small to medium sized projects, The distribution of the methodologies is different; RUP is a commercial product, no open or free standard. Before RUP can be used, the RUP has to be bought from IBM as an electronic software and documentation package while XP is freeware methodology and every one can use it freely. 2)Why? I analyze advantages and disadvantages of RUP and XP from different perspectives like what is the financial, technical and social aspect of these methodologies on each other. 2.1) Financial: Financial issues of both RUP and XP are different. Rup is a commercial product not open or free standard and owned by IBM, one should buy RUP from IBM as an electronic software and documentation package then it is available to use while XP offers the freeware solution and open to use for everyone, which is financially an advantage. 2.2) Technical perspective When we compare these 2 methodologies from technical perspective, RUP provides the organization a large amount of development tools and documents. It is delivered online via the web, and updated in new releases, all information about the software development methodology is available at the project members fingertips. Also, the newest version of RUP is always present on the computer of each team member. On the other hand XP leads to simplicity it is more user friendly, it is not specific to a single tool but its depends on the user choice that which tool he wants to use and which to reject. 2.3) Social perspective: The social perspective of RUP and XP are also related to the commercial versus freeware discussion. The selection on of methodology is depends on the software development company requirements and needs. Small and medium size software development companies like to use XP because of its free availability on the other hand larger software development companies take interest to buying software licenses, and hence buying licenses for methodology is quite natural. Extent RUP includes a large amount of formal process paperwork, role description and documentation etc it is also because of these properties called heavy weight or thick methodology while XP is very lightweight or thin methodology, both in its presentation and in the practical applications. The following table shows the difference in extent of the RUP and XP, there all the roles of an XP project are presented, with their counterparts in RUP, constituting a small subset of the RUP roles. In total, RUP comprises more than 80 major artifacts, 150 activities and 40 roles. Team XP roles RUP roles Customer team Customer Requirements specifier System analyst Project manager Tracker Tester Test analyst Tester Test system administrator Development team Programmer Implementer Designer Integrator System administrator Coach In summary, RUP is a much more extensive methodology than XP, for good and for bad. [2]http://www.acis.org.co/fileadmin/Curso_Memorias/Curso_CMMI_Sep06/Modulo%202%20-%20Product%20Engineering%20/xp_rup.pdf Project drivers RUP is use case driven, i.e. descriptions of use of the system are implemented, and continuously integrated and tested. XP applies test-driven design, i.e. test case are derived and implemented before the code is written. XP has user stories to guide what to implement. These user stories are less extensive descriptions, compared to the RUP use cases, where the complete scenario for the interaction between the user and the system is defined. Regarding planning, both methodologies agree on that a complete project cannot be planned in detail. RUP proclaims continuous changes in the plans, while XP advocates planning only the very near future in detail.

Friday, January 17, 2020

Image Case Study B2B

1. What do you think of Mr. Reynolds’ management methods in general? I think that Mr. Reynolds’ management method is very trusting and his style is somewhat laissez-faire, making it a somewhat fragile system. Reynolds doesn’t require paperwork which is usually used to detail and keep track of each employee’s actions but instead relies on trust and maturity amongst the salespeople. Generally such a method is a very risky but it seems that the intensive training that the employees receive builds their notion of responsibility.Furthermore, Reynolds’ management method tends to shy away from â€Å"burdening† his employees with potential estimates and quota targets like many other companies but believes each worker is ambitious for the company and themselves. His use of rewards and contests are very desirable for the employees but are very costly to implement – Reynolds must really trust his employees to make a return to cover such expenses. I do admire Reynolds discussion approach: discuss all work-related problems weekly or daily if necessary by telephone with their managers.The openness of the workplace probably uses the communication to replace the paperwork, a very admirable relationship in my opinion. I think Reynolds’ has crafted a very unique system which, although currently is effective under his management, seems very delicate to implement elsewhere and is very burdening on the company’s budget. I would not recommend it be to be adopted by other managers unless there is a strong financial foundation. 2.Does he have a quota system? What are quotas used for? Reynolds does not have a specific quota system to manage his sales force or use them as targets for his employees, but he does use a quota system to figure out the monthly shipment schedule. Quotas are figures that act as an individual’s target within a set time period, derived from past performances and â€Å"potential† or expec tations, and used as a benchmark for performance evaluations.Instead of a ‘quota’ system to evaluate, Reynolds uses a point system which is also dependent on one’s level of sales and uses it to rank employees based on their performance. The main difference, as perceived by Reynolds, is that the point system uses â€Å"personal objectives, not arbitrary quotas, to stimulate [his] salesmen. † 3. Do you think that the expenses of the US sales force are too high?I do think the expenses of the US sales force are too high. Reynolds’ incentives indeed are very creative and motivating, however, they are a bit too extreme and extravagant. I think it is possible for Reynolds to cut some of the costs whilst maintaining the same effect. For example, the Palm Springs convention could be cut by two days and top salesman and district manager can only go to one or two locations instead of three each year.

Thursday, January 9, 2020

Factors Affecting Organizational Design - 1359 Words

Factors Affecting Organizational Design Although many things can affect the choice of an appropriate structure for an organization, the following five factors are the most common: size, life cycle, strategy, environment, and technology. Organizational size The larger an organization becomes, the more complicated its structure. When an organization is small — such as a single retail store, a two-person consulting firm, or a restaurant — its structure can be simple. In reality, if the organization is very small, it may not even have a formal structure. Instead of following an organizational chart or specified job functions, individuals simply perform tasks based on their likes, dislikes, ability, and/or need. Rules and guidelines are not†¦show more content†¦She conducted a study of technology and structure in more than 100 English manufacturing firms, which she classified into three categories of core-manufacturing technology: †¢ Small-batch production is used to manufacture a variety of custom, made-to-order goods. Each item is made somewhat differently to meet a customers specifications. A print shop is an example of a business that uses small-batch production. †¢ Mass production is used to create a large number of uniform goods in an assembly-line system. Workers are highly dependent on one another, as the product passes from stage to stage until completion. Equipment may be sophisticated, and workers often follow detailed instructions while performing simplified jobs. A company that bottles soda pop is an example of an organization that utilizes mass production. †¢ Organizations using continuous-process production create goods by continuously feeding raw materials, such as liquid, solids, and gases, through a highly automated system. Such systems are equipment intensive, but can often be operated by a relatively small labor force. Classic examples are automated chemical plants and oil refineries. Woodward discovered that small-batch and continuous processes had more flexible structures, and the best mass-production operations were more rigid structures. Once again, organizational design depends on the type of business. The small-batch and continuous processes workShow MoreRelatedFactors Affecting Organizational Design1374 Words   |  6 PagesFactors Affecting Organizational Design Although many things can affect the choice of an appropriate structure for an organization, the following five factors are the most common: size, life cycle, strategy, environment, and technology. Organizational size The larger an organization becomes, the more complicated its structure. When an organization is small — such as a single retail store, a two-person consulting firm, or a restaurant — its structure can be simple. In reality, if the organizationRead MoreFactors Affecting Job Design1594 Words   |  7 PagesFACTORS AFFECTING JOB DESIGN Job design is affected by organizational, environmental and behavioral factors. A properly designed job will make it more productive and satisfying .If a job fails on this count, it must be redesigned based on the feedback. The various factors affecting job design are the following Organizational factors Organizational factors include characteristics of task, work flow, ergonomics and work practices. Characteristics of Task: Job design requires the assemblyRead MoreWhy Job Design Is An Effective Mechanism For Providing Employees Voice1713 Words   |  7 PagesCritically evaluate whether job design is an effective mechanism to provide employees voice. Buchanan (1979) defines job design as â€Å"the specification of contents, methods and relationship of jobs in order to satisfy technological and organizational requirements as well as the social and personal requirements of the jobholder.† Job design arranges and often rearranges responsibilities and relationships associated with various tasks and determines authority and interdependence of various jobs so asRead MoreCode Of Ethics And Ethics1252 Words   |  6 Pagesrequire the following revisions, starting with the code of ethics, issue identification and ideas affecting software architecture department will drive the upgraded growth. Achieving amplified productivity, and a restructured business model that outfits future profits. Correspondingly, meeting the focus on ethical and professional business objectives that satisfies stakeholders and organizational needs. Code of Ethics Adhering to professional ethics will strengthen the organization’s pursuitRead MoreOrganizational Design Is Defined As A Guided Process That Integrates People, Information And Technology Of An Organization1075 Words   |  5 PagesOrganizational design is defined as a guided process that integrates people, information and technology of an organization (Carpenter et al., 2014). In an era where organizations are constantly competing to be the best, decisions on organizational design are vital to achieve overall performance. This is evident from the studies by Child (2005) which suggest that the strength of organizational structure increases efficiency. This essay will explore the classical and contingency theories and criticallyRead MoreUsing Data Collection And Data Analysis1427 Words   |  6 PagesResearch Design This study utilized a survey design that involved qualitative methods of data collection and data analysis. The study will utilize online sources that have already been published that include peer-reviewed papers, journals, books and reliable internet sources of the distinctive companies. The internet was searched for important information relating to management in the three major identified organizational designs. Different databases such as Google Scholar, EBSCO, Business SourceRead MoreCulture and Structure1270 Words   |  6 PagesSome form of organizational culture and structure exist in every organization. Successful organizations are often credited with having an appropriate organizational culture and/or structure in place that allows them to reach success. Many companies can believe that they have the needed structure in place to assure success; yet they fail where others succeed. Some work very well, and some just do not work at all. For any organizational culture and structure to function properly, it seems as thoughRead MoreDifference Between Job Enlargement and Job Enrichment and the Impact of Star Model on Job816 Words   |  4 PagesJob Enlargement Job Enlargement is a job design method that adds more responsibilities, duties and workload so that the employee doesn’t feel bored or uncoordinated at the workplace. Job enlargement can add variety in the job giving the employee more wider and not limited number of tasks. It helps the organization to utilize the worker fruitfully. It also increases the simulation for the worker. Example: For instance, in a graphic designing company, an employee who does work in Photoshop to createRead MoreSkills in Employees and Managers1165 Words   |  5 Pagesanalysis This articles aims to examine the Perceived organizational support and supervisory support in transfer of training, and motivation to learn. Longitudinal field study was conducted to examine these researches. Literature Review: Support provided by supervisor and perceived organizational support is positively related to trainee self efficacy and motivation to learn (Dan S. Chiaburu, Karen Van Dam and Holly M. Hutchins 2010). Perceived organizational support is directly related to trainees trainingRead MoreBusiness Analysis: WellStar Health Systems Essay1346 Words   |  6 PagesEndocrinology, Pulmonary Medicine, Infectious Disease, General Surgery, Rehabilitation, Pathology, and Rheumatology. WellStar’s organizational design is composed of internal and external factors that define the organization’s size, organizational structure, and processes. Internal and external factors are the basis for influencing managerial conclusions in decision-making. These factors vary from organization to organization and are the rationale for understanding WellStar’s strengths, weaknesses, opportunities