• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 51
  • 32
  • 28
  • 13
  • 3
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 139
  • 139
  • 66
  • 54
  • 35
  • 34
  • 34
  • 32
  • 32
  • 32
  • 29
  • 29
  • 26
  • 20
  • 20
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
41

Scrum-DR: uma extensão do framework Scrum aderente ao CMMI-DEV utilizando técnicas de Design Rationale. / Scrum-DR: an extension of the scrum framework adherent to the capability maturity model using Design Rationale techniques.

Kawamoto, Sandra 08 November 2017 (has links)
Os métodos ágeis introduziram uma nova abordagem de desenvolvimento de software, enfatizando os indivíduos, o produto e a comunicação. Prometem alta satisfação do cliente, baixo índice de erros, tempo de desenvolvimento mais rápido e uma solução para a rápida mudança de requisitos. Por outro lado, modelos de qualidade de software, como o CMMI, prometem previsibilidade, estabilidade e segurança, melhorando a qualidade dos produtos e dos processos da empresa. O intuito desta pesquisa é unir estas duas abordagens na tentativa de aproveitar as vantagens de ambas. Como resultado, apresenta-se o framework Scrum-DR, uma extensão do Scrum, aderente às diretrizes do CMMI-DEV na categoria Suporte. O Scrum-DR possui características do desenvolvimento ágil de software e contempla a utilização de técnicas de Design Rationale, apresentando um modelo que soluciona uma importante questão nas metodologias ágeis. / Agile methods introduced a new approach to software development, emphasizing individuals, product, and communication. They promise high customer satisfaction, low error rates, faster development time and a solution for rapidly changing requirements. On the other hand, software quality models, such as CMMI, promise predictability, stability and security, improving the quality of the company\'s products and processes. The purpose of this research is to link these two approaches in an attempt to take advantage of both. As a result, the Scrum-DR framework, a Scrum extension, adhering to the CMMI-DEV guidelines in the Support category is presented. Scrum-DR has characteristics of agile software development and contemplates the use of Design Rationale techniques, presenting a model that solves an important issue in agile methodologies.
42

Exploring the emergence of collaborative practices in globally distributed agile software development

Modi, Sunila January 2018 (has links)
Agile software development approaches have emerged as a response to perceived frustrations of more heavyweight plan-driven methods, and have now become well established within the information systems field. More recently, there has been a tremendous growth in applying agile methods in globally distributed settings. In light of this, there is a pressing need to understand how agile practices are adapted which were originally conceived for collocated settings, and now actually being used in globally distributed settings, taking into account the challenges posed by such contexts. The aim of this thesis is to contribute to this research gap, with a quest to better understand and unpack the "black-box" of how collaborative practices evolve within global agile settings. The value of this research lies in improving and advancing our understanding of the challenges the team members go through in adapting agile practices in global contexts. The research also explores how collaborative practices can support agility in globally distributed settings. In order to contribute to knowledge and increase conceptual clarity, there is a need to carry out in-depth and in-situ research within an organisational context. By taking a socio-technical perspective this study intends to extend our existing knowledge on how collaborative practices are evolving in real-time practice within globally distributed agile settings. The empirical evidence is drawn from a globally distributed team, operating in a global financial bank with offices based in London and Delhi. Interpretive research methods including semi-structured interviews and observations are used to understand team members' experiences of developing collaborative practices in a globally distributed context. Although existing literature on agile software development acknowledges the intrinsic significance of collaboration for effective functioning of agile methods, current studies fail to demonstrate a situated practice perspective on how collaborative practices are adapted in globally distributed settings. This study enlists the analytical concepts of boundary objects and Pickering's "mangle of practice" to better understand the process of how collaborative practices evolve in globally distributed agile teams. The resulting analysis provides us with a much more nuanced understanding of how interactions take place in developing collaborative practices in globally distributed contexts. The findings reveal that collaborative practices within such settings tend not to follow from pre-set expectations of how agile practices should work, but are temporally emergent. Team members have to revise collaborative practices through an ongoing process of mutual "tuning" within their situated contexts, in order to achieve a gradual state of interactive stability or a steadiness of practices. The results demonstrate how actors address the challenges in developing shared understandings to drive forward the joint software development process across global locations and move towards supporting agility within the projects. The thesis presents a pluralistic conceptual framework called the Collaborative Tuning Approach, which aids in gaining critical insights of issues related to adapting agile practices and also demonstrates how collaborative practices can act as enabler to achieving agility in such settings. The framework explains the challenges the team members face and how these are overcome when attempting to modify practices and indeed how these evolve through an ongoing state of flux and uncertainty leading to hybrid agile practices.
43

The Effects of Digitalization on Managing Project Teams

Feise, Philipp, Graf von Hatzfeldt Trachenberg, Paul Philipp Maria January 2019 (has links)
Background: In various industries, market power is concentrated on a few major companies, which makes competition increasingly challenging for small and medium-sized enterprises. Those SMEs are furthermore impacted by the characteristics of their industry and need to change constantly and adapt to maintain competitive in this challenging market environment. The IT sector is characterized by a high degree of digitalization, quickly changing customer needs, and short lifecycles. Thus, many IT firms apply agile working methods, increase working in teams, and use different digital tools and applications. In many cases, those adjustments also impact the organizational structure of the firm and require a change in management. Purpose: In the context of a medium-sized IT firm, this study aims to evaluate the effects of digitalization on management innovation in project teams. Method: To gain a deep understanding of the researched topic, we chose a qualitative interview-based study. We collected the data for this single-case study in semi-structured interviews and applied purposeful sampling (theory based). For the data analysis, we used content analysis (open code; grouping; categorization). Conclusion: We developed a framework describing the influence of digitalization on management innovation in six dimensions, which emerged in the study. Those dimensions are project teams, virtual teams, communication & collaboration, trust, technology, as well as leadership & management. Digitalization strongly influences management innovations in all six identified fields. Digitalization, management innovation, and the respective field are interdependent. In our case, we found that digitalization acts as an enabler or simplifier for management innovation in all six dimensions.
44

Flexibility in agile projects:contracting practices and organisational arrangements

Nuottila, J. (Jouko) 22 November 2019 (has links)
Abstract The adoption of agile methods in software projects has been fast. The majority of new software projects utilises agile methods, and they have radically changed the internal dynamics of software development projects. This has created a need for adjustments in the management of software projects. The current literature rarely discusses the early phases of agile projects: contracting and organising agile projects. The literature also lacks investigations on the project management practices of agile projects. This dissertation focuses on flexibility as it occurs in agile software projects. The main objective of this research is to explore the nature of flexibility in agile software projects and study the challenges of project contracting and management in leveraging agile development methods. The research was conducted as a mixed methods research. The research findings contribute to the emerging literature on agile project management. Secondarily, the results contribute to proactive contracting literature. The results indicate that agile methods can be used to increase flexibility and efficiency in software projects, but flexibility needs to be planned by projects parties. This planning activity already starts in the negotiation phase, and it is optimally summarised in the project contract. Thus, it is also important that lawyers contributing to project contracts are aware and informed of the business contexts. The traditional project management approach needs adjustments in adopting agile practices. This research reports several categories of challenges faced in adopting agile practices and increasing flexibility in projects. The results also indicate that projects delegate part of the decision-making authority to implementation teams in order to increase flexibility. By taking some of the decisions closer to project implementation, flexibility can be used to manage uncertainties caused by a complex environment. / Tiivistelmä Ketterien kehitysmenetelmien käyttö ohjelmistoprojekteissa on yleistynyt nopeasti. Suurin osa alkavista ohjelmistoprojekteista käyttää jo ketteriä menetelmiä ja niiden soveltaminen on muuttanut radikaalisti kehitysprojektien sisäistä dynamiikkaa. Tämän vuoksi on syntynyt tarve tarkastella tarkemmin ketterien projektien johtamista. Kirjallisuudessa on harvoin tarkasteltu ketterien projektien alkuvaiheita, sopimuskäytäntöjä ja organisoitumista. Kirjallisuudessa ei myöskään vielä käsitellä ketterien projektien projektinhallinnan käytänteitä. Tämä väitöskirjatutkimus tarkastelee joustavuutta, joka ilmenee ketterissä ohjelmistoprojekteissa. Työn päätavoite on tarkastella joustavuuden luonnetta ketterissä ohjelmistoprojekteissa ja tutkia mitä haasteita ketterien menetelmien käyttö aiheuttaa projektin sopimusprosesseissa ja projektinhallinnassa. Väitöskirjatutkimus on toteutettu monimetelmätutkimuksena. Tutkimustulokset kohdistetaan tuoreeseen tieteelliseen projektitutkimuksen keskusteluun ketteristä projektinhallintamenetelmistä. Toisekseen, väitöskirja osallistuu ennakoivaa sopimista käsittelevään oikeustieteellisen tutkimusalan keskusteluun. Tutkimustulokset osoittavat, että ketteriä menetelmiä voidaan käyttää lisäämään joustavuutta ja tehokkuutta ohjelmistoprojekteissa, mutta joustavuus tulee olla suunniteltua, jotta siitä voidaan hyötyä. Joustavuuden käytön suunnittelu alkaa jo projektin neuvotteluvaiheessa ja kirjaukset joustavuuden hyödyntämisestä on optimaalisesti kirjattu jo projektisopimukseen. Tämän vuoksi on tärkeää, että sopimuksen muotoiluun osallistuvat juristit ovat hyvin perillä liiketoiminta-alasta ja ovat tietoisia, että sopimus tulee sisältämään joustavuusnäkökohtia tarkoituksellisesti. Perinteinen projektinhallinta kaipaa myös muutoksia ketterien projektien johtamiseen. Tutkimus osoittaa seitsemän pääkategoriaa haasteita, joita yritykset kohtaavat siirtyessään käyttämään ketteriä menetelmiä. Tutkimus osoittaa myös, että ketterissä projekteissa päätöksenteko on joustavuuden lisäämiseksi hajautettu itseohjautuville tiimeille. Kun päätöksentekovaltaa siirretään lähemmäs varsinaista kehitystyötä, voidaan joustavuuden avulla hallita epävarmuutta kompleksissa ympäristössä.
45

Three Studies of Problem Solving In Collaborative Software Development

Domino, Madeline Ann 15 December 2004 (has links)
A potential solution to producing quality software in an acceptable time frame may be found by using the newer, innovative methods, such as collaborative software development. The purpose of this dissertation is to examine the individual developer characteristics, developmental settings, collaborative methods and the processes during development that impact collaborative programming performance and satisfaction outcomes. Understanding individual differences in performance in the collaborative development setting is important, since it may help us understand how the collaborative setting may raise the lowest level of performance to much higher levels, as well as how to select individuals for collaborative development. Exploring the impact of the virtual setting on collaborative development processes is important as it may help us improve performance outcomes in different work settings. Investigating how adaptations of pair programming impact collaborative processes may assist in implementing changes to the method that enhance quality and individual satisfaction. A multi-phase methodology is used, consisting of an intensive process study (Study 1) and two laboratory experiments (Studies 2 and 3). Study 1 illustrates that collaborative programming (pair programming) outcomes are moderated by both individual developer differences and the processes used during development. While cognitive ability and years of IT experience are important factors in performance, the impacts of conflict and the faithful appropriation of the method are highlighted. Distributed cognition is used as a theoretical foundation for explaining higher performance. Study 2 findings suggest that while collaborative programming is possible in a virtual setting, performance is negatively impacted. Face-to-face programmers have significantly higher levels of task performance, as well as satisfaction with the method, when compared to virtual programmers. Study 3 results suggests that the use of structured problem solving (preparing test cases before writing code) may be a key factor in producing higher quality code, while collaboration may be indusive to higher levels of developer satisfaction.By understanding how, why and when collaborative programming techniques produce better performance outcomes and what factors contribute to that success, we add to the body of knowledge on methodologies in the MIS domain.
46

Fatores de escolha entre metodologias de desenvolvimento de software tradicionais e ágeis. / Factors of choice between traditional and agile software development methodologies.

Almeida, Guilherme Augusto Machado de 23 January 2017 (has links)
A escolha entre o uso de metodologias ágeis ou metodologias tradicionais de desenvolvimento de software continua sendo amplamente discutida em vários aspectos, sendo um deles a presença ou ausência de certos fatores que precisam ser identificados para que as aplicações das metodologias sejam realizadas com sucesso. Neste estudo, tanto metodologias ágeis quanto tradicionais são discutidas através da literatura desde seu surgimento, histórico e evolução, até estudos comparativos entre ambas e outros com evidências empíricas, embora ainda haja a necessidade de estudos deste último tipo para o domínio. Com o intuito de avaliar as adequações dos tipos de metodologia para os diferentes cenários que uma organização ou projeto pode apresentar a partir dos fatores encontrados na literatura, foram realizadas entrevistas e questionários com pessoas envolvidas em desenvolvimento e definição de processos de desenvolvimento de software em um estudo de caso em empresa selecionada para a obtenção de mais evidências empíricas sobre o tema. Com os resultados obtidos, identifica-se então entre os fatores estudados quais são habilitadores e quais são inibidores para cada tipo de metodologia, propondo-se um modelo para a escolha de um ou de outro tipo a partir da presença ou ausência destes fatores nos cenários de aplicação das metodologias. / The choice between agile or traditional software development methodologies continues to be widely discussed in several aspects, being one of these aspects that certain factors presence or absence must be identified for methodologies usage to be successful. In this study, both agile and traditional methodologies are discussed on the domain literature from their emergence, historical facts and evolution, to comparative studies and empirical evidences obtained, despite there is still need for studies on this last subject for the domain. In order to evaluate adequacy for both types of methodologies to the different scenarios in which an organization or project may occur considering the factors appointed by literature, interviews and surveys where done with key people involved in software development or software processes in a case study in a selected company for more empirical evidence achievement. Then it is possible to identify between the factors which are enablers and which are inhibitors for each type of methodology, then purposing a model for the choice between the two types from the presence or absence of these factors in the scenarios for their uses.
47

Aplicação de práticas ágeis na construção de data warehouse evolutivo / Application of agile practices in the traditional method of data warehouse engineering

Carvalho, Guilherme Tozo de 28 April 2009 (has links)
Um Data Warehouse (DW) é um banco de dados centralizado, orientado por assunto, integrado, não volátil e histórico, criado com o objetivo de dar apoio ao processo de tomada de decisão e que estrutura os dados em uma arquitetura analítica bastante distinta da arquitetura relacional utilizada nos bancos de dados transacionais. Construir um DW é um projeto de engenharia bastante complexo pois envolve muitas tecnologias e muitas pessoas, de diferentes equipes, em um grande esforço conjunto para construir esta base central de informações corporativas. O processo tradicional de construção de um DW não utiliza conceitos ágeis e, pelo escopo de desenvolvimento ser grande, pode levar muito tempo até que funcionalidades sejam entregues aos clientes. Os métodos ágeis de engenharia de software são muito usados como uma alternativa aos métodos tradicionais de desenvolvimento e têm diferenciais que trazem muito valor a projetos grandes pois, além de buscar desenvolver versões funcionais em prazos curtos, defendem que todos os sistemas têm a constante necessidade de se adaptar a mudanças. Neste trabalho são aplicadas práticas ágeis no processo tradicional de engenharia de DW para que o desenvolvimento seja realizado em ciclos iterativos curtos, tornando possível o desenvolvimento rápido e evolutivo de um DW com entregas constantes de novas funcionalidades. A contínua evolução deste complexo ambiente analítico é apoiada por conceitos de banco de dados evolutivos e também por fundamentos de métodos ágeis. / A data warehouse (DW) is a central database, subject-oriented, integrated, nonvolatile, and time-variant collection of data in support of management\'s decision making process and that summarize the data in an analytic architecture quite different from the relational one, used in transactional databases. Building a DW is a complex engineering project because it involves many technologies and many people, from different teams, in a huge corporative effort to build a central database with corporative data. The traditional engineering process to build a DW does not use agile concepts and, as its scope is quite big, it might takes a long time until the customer can use its features. Agile methods of software engineering are commonly used as an alternative to the traditional methods and they have some differentials that lead a lot of value to big projects, as the continuous attempt to develop short releases in short periods of time, or the belief that every system needs to be continuously adapted to the changes on its environment. This work applies agile practices in the traditional DW engineering method, so that the development can be done in short iterative cycles, making possible a fast and evolutive DW project, with frequent delivering of new functionalities. The continuous evolution of this complex analytical environment is supported by evolutive database concepts and also for agile methods foundations.
48

Uso eficaz de métricas em métodos ágeis de desenvolvimento de software / Effective use of metrics on agile software development methods

Sato, Danilo Toshiaki 29 June 2007 (has links)
Os Métodos Ágeis surgiram no final da década passada como uma alternativa aos métodos tradicionais de desenvolvimento de software. Eles propõem uma nova abordagem para o desenvolvimento, eliminando gastos com documentação excessiva e burocrática, enfatizando a comunicação, colaboração com o cliente e as atividades que trazem valor imediato na produção de software com qualidade. Por meio de um processo empírico, com ciclos constantes de inspeção e adaptação, a equipe trabalha sempre num ambiente de melhoria contínua. Uma das atividades propostas pela Programação Extrema (XP) para guiar a equipe em direção à melhoria é conhecida como tracking. O papel do tracker é coletar métricas para auxiliar a equipe a entender o andamento do projeto. Encontrar maneiras eficazes de avaliar o processo e a equipe de desenvolvimento não é uma tarefa simples. Além disso, alguns dos possíveis problemas não são facilmente reconhecidos a partir de dados quantitativos. Este trabalho investiga o uso de métricas no acompanhamento de projetos utilizando Métodos Ágeis de desenvolvimento de software. Um estudo de caso da aplicação de XP em sete projetos acadêmicos e governamentais foi conduzido para validar algumas dessas métricas e para avaliar o nível de aderência às práticas propostas, com o objetivo de auxiliar o tracker de uma equipe ágil. / Agile Methods appeared at the end of the last decade as an alternative to traditional software development methods. They propose a new style of development, eliminating the cost of excessive and bureaucratic documentation, and emphasizing the interactions between people collaborating to achieve high productivity and deliver high-quality software. With an empirical process, based on constant inspect-and-adapt cycles, the team works towards an environment of continuous improvement. One of the practices proposed by Extreme Programming (XP) to enable the creation of such environment is called tracking. The role of a tracker is to collect metrics that support the team on understanding their current process. Finding effective ways to evaluate the team and the development process is not an easy task. Also, some of the possible problems are not always easily recognizable from quantitative data alone. This work investigates the use of metrics for tracking projects using Agile Methods for software development. A case study on the adoption of XP in seven academic and governmental projects was conducted to validate some of these metrics and to evaluate the level of adherence to the proposed practices, with the goal of assisting and supporting the tracker of an agile team.
49

Qualidade de software no desenvolvimento com métodos ágeis / Software quality on agile development

Oliveira, Bruno Henrique 25 April 2014 (has links)
A Engenharia de Software é uma disciplina que tem entre seus objetivos melhorar a produtividade dos processos de desenvolvimento de software, assim como propiciar qualidade ao produto resultante desses processos. Para mensurar a qualidade dos produtos de software, foram criados modelos de qualidade, que recomendam métricas, processos e atividades que passaram a se tornar parte do dia-a-dia do desenvolvimento de projetos em empresas. Considerando outra perspectiva, a indústria de software tem adotado cada vez mais os métodos ágeis. Esses métodos foram desenvolvidos visando a entrega rápida do software, com ciclos curtos e adaptáveis de desenvolvimento, foco na comunicação direta e baixo volume de documentação. Considerando a importância do tema qualidade de software, e a baixa aderência dos modelos tradicionais de qualidade aos métodos ágeis, o objetivo deste projeto foi investigar o tema qualidade de software no contexto ágil, ou seja, estudar quais métricas de qualidade são empregadas nesse processo de desenvolvimento. Para isso foram realizados dois estudos empíricos, um estudo de caso e um survey, sobre atividades de garantia e controle de qualidade, métricas de qualidade de software, processos e ferramentas utilizadas no desenvolvimento de software. Os resultados obtidos guiaram a construção de uma ferramenta de apoio para avaliação da qualidade durante o desenvolvimento ágil de software. Os resultados dos estudos mostraram que a execução constante de atividades como revisão de código e refatoração, são fatores essenciais para garantia de qualidade nos métodos ágeis. Outro resultado encontrado foi o de que praticantes de métodos ágeis são entusiastas do processo de desenvolvimento utilizado. Eles conhecem o método e praticam com alta fidelidade os passos definidos pelo processo. É possível concluir que os métodos ágeis possuem diversas atividades como foco na garantia de qualidade de seu produto desde os estágios iniciais do desenvolvimento. A cultura ágil cria um ambiente propício para motivação e engajamento das equipes de desenvolvimento, fato que reflete positivamente na qualidade final dos produtos / One of the main objectives of Software Engineering is to improve the productivity of software development processes, as well as providing quality to the product resulting from such processes. Thus, quality models were defined to measure the software quality. Those models recommend metrics, processes and activities that became part of day-to-day on development companies. Considering another perspective, the software industry has increasingly adopted agile methods. These methods were developed considering rapid software delivery, with short and adaptable development cycles, focusing on direct communication and low volume of documentation. Considering the importance of software quality and the low compliance of agile methods to traditional quality models, this project aimed to investigate software quality in agile development environments, in other words, to research wich quality metrics are employed in these development processes. Considering this objective, two empirical studies were designed, a case study and a survey. These studies have explored themes like software quality control, software quality assurance, quality metrics, development process and development tools that are employed on software development. The results guided the construction of a tool to support the quality evaluation during the agile development. The studies results showed that the high frequency of activities such as code review and refactoring, are essential factors for assuring quality on projects using agile methods. Another result was found regarding developers behavior. Agile practitioners are enthusiasts of the development process they use. They have a high level of compliance to development process they use. It is possible to conclude that agile methods have several activities focused on the quality assurance of its own products since the initial stages of development. The agile culture creates a convenient environment that engages and motivates the development teams. This fact has a positive effect on the product quality
50

Padrões de testes automatizados / Automated Test Patterns

Bernardo, Paulo Cheque 04 July 2011 (has links)
A qualidade dos sistemas de software é uma preocupação de todo bom projeto e muito tem se estudado para melhorar tanto a qualidade do produto final quanto do processo de desenvolvimento. Teste de Software é uma área de estudo que tem crescido significativamente nos últimos tempos, em especial a automação de testes que está cada vez mais em evidência devido à agilidade e qualidade que pode trazer para o desenvolvimento de sistemas de software. Os testes automatizados podem ser eficazes e de baixo custo de implementação e manutenção e funcionam como um bom mecanismo para controlar a qualidade de sistemas. No entanto, pouco conhecimento sobre a área e erros comuns na escrita e manutenção dos testes podem trazer dificuldades adicionais aos projetos de software. Testes automatizados de baixa qualidade não contribuem efetivamente com o controle de qualidade dos sistemas e ainda demandam muito tempo do desenvolvimento. Para evitar esses problemas, esta dissertação apresenta de forma crítica e sistemática as principais práticas, padrões e técnicas para guiar o processo da criação, manutenção e gerenciamento dos casos de testes automatizados. Inicialmente, são feitas comparações entre a automação de testes e outras práticas de controle e garantia de qualidade. Em seguida, são apresentados os problemas e soluções mais comuns durante a automação de testes, tais como questões relacionadas a tipos específicos de algoritmos, sistemas com persistência de dados, testes de interfaces de usuário e técnicas de desenvolvimento de software com testes automatizados. Para finalizar, a dissertação traz uma reflexão sobre o gerenciamento e a abordagem da automação de testes para tornar o processo mais produtivo e eficaz. / The quality of software systems is a concern of every good project and much has been studied to improve the quality of the final product and process development. Software Testing is an increasing area, especially test automation, which is in evidence due to the speed and quality that it may bring to the development of software systems. Automated tests can be effective and can have a low cost of implementation and maintenance to ensure and control the quality of the systems. However, little knowledge about the area and common errors in writing and maintaining tests may bring additional difficulties to the software projects. Low quality automated tests do not contribute effectively to quality control systems and still take a long time of development. To avoid these problems, we present critically and systematically the core practices, standards and techniques to guide the process of creation, maintenance and management of automated test cases. Initially, comparisons are made between the test automation, other control practices, and quality assurance. Next, we present the most common problems and solutions for the automation of tests, such as issues related to specific types of algorithms, systems with data persistence, testing user interfaces and techniques for software development with automated tests. Finally, this essay reflects on the management and approach to test automation to make the process more productive and effective.

Page generated in 0.5891 seconds