Lots of our people have lots of opinions. Here are just a few of them

ThoughtWorks embraces the individuality of the people in the organization and hence the opinions expressed in the blogs may contradict each other and also may not represent the opinions of ThoughtWorks.

Testador ágil 3.0

Testadores ágeis são muitas vezes conhecidos como analistas de qualidade (QAs), engenheiros de software em testes, engenheiros de testes, lideres de qualidade, entre outras varianças. Eu tenho trabalhado como um Agile QA por um tempo, em portugues podemos traduzir como analista de qualidade ágil. Eu gostaria de compartilhar meu ponto de vista sobre como um QA trabalha em um time ágil. Nesse artigo eu vou usar a terminologia QA para representar o testardor ágil.

A maioria das pessoas, mesmo em times ágeis, tratam QAs como sub-papéis ou um papel separado do time. Eu acredito que isso está totalmente fora de…

Blog post by Daniel de Amorim
1 September 2014

Original Link

Top Reads for July & August

This is the 15th installment of my attempt at creating a monthly post which aggregates all the best content I’ve come across in the past month. ‘Best’ in this context could mean quite a few things – interesting, thought-provoking, funny or a cool new open source project. So here are the top things I read in July and August.


Blog post by Jaco Pretorius
1 September 2014

Original Link

Scrum Rio 2014, palestras e workshop

Segue abaixo os dias e horário do workshop e das palestras que vou lecionar na Scrum Rio 2014.

Quarta-feira 03 de setembro das 9:00 às 18:00

Workshop: Retrospectivas Divertidas, com Paulo Caroli

Quinta-feira, 04 de Setembro das 15:00 às 15:50

Palestra: Whiskey, sushi, sistemas e fluxo,  com Paulo Caroli

Sexta-feira, 05 de Setembro das 11:40 às 12:30

Palestra: User Story: uma visão holística, com Paulo Caroli

Blog post by Paulo Caroli - Blog
1 September 2014

Original Link

Why Commercial Contracts Matter In Agile Software Development

"We value customer collaboration over contract negotiation."-- The Agile Manifesto

Contracts for software development have historically included language that specifically defines the software being developed. This protects the buyer from paying for an asset that does not serve its business needs, the seller from requirements drift or expansion, and allows both parties to agree to duration and cost.  Traditional development contracts also stipulate the process by which the software is to be developed and tested, and how changes will be accommodated.  Since the way something is produced has direct bearing on the quality of what gets produced, specifying the…

Blog post by Ross Pettit
31 August 2014

Original Link

Restoring a deleted note in Apple's notes app

I recently deleted a note on my Notes app on my apple laptop. As someone who is a paranoid keeper of backups, and usually commits all my work to a repository like git, I don’t worry much about accidental deletion. But Apple’s notes app doesn’t have any form of version control, and it’s all too easy to delete something by accident. I have a daily rsync backup and run time machine, but googling couldn’t uncover a simple way of getting the note back. So in case someone else needs to do this, here’s what I did.

Blog post by Martin Fowler
31 August 2014

Original Link

photostream 73

Monument Valley

Blog post by Martin Fowler
30 August 2014

Original Link


It’s almost a year since my last blog post. I’ve had a busy and interesting year, and wanted to take the time to talk about a few different things. One of the reasons I haven’t blogged as much as I wanted is that I’ve been working on several things that aren’t exactly public at the moment. Moving to Ecuador has also involved a whole bunch of work and lead to less time.

Computer and cloud

Some of my last blog posts had to do with me wanting to change what hardware and cloud providers I used. I went through a…

Blog post by Ola Bini
28 August 2014

Original Link

What A Piece of Plywood Can Teach Us About Software Design

When I was in high school and college, I was heavily into technical theatre (scenery, lighting, etc).  Today, I want to talk a little an experience I had studying stage design, and somehow try to relate that back to software design, business analysis and problem solving. 

A little background on on me.  I love to build things.  I love the idea of shaping things by hand, of and building things from scratch (it's also why I enjoy cooking).  I got into theatre through carpentry.  I started off building stuff, and eventually worked my way up to designing the stuff to…

Blog post by Michael DeCleene
28 August 2014

Original Link

Bliki: MicroservicePrerequisites

As I talk to people about using a microservices architectural style I hear a lot of optimism. Developers enjoy working with smaller units and have expectations of better modularity than with monoliths. But as with any architectural decision there are trade-offs. In particular with microservices there are serious consequences for operations, who now have to handle an ecosystem of small services rather than a single, well-defined monolith. Consequently if you don't have certain baseline competencies, you shouldn't consider using the microservice style.

Rapid provisioning: you should be able to fire up a new server in a matter of hours.…

Blog post by Martin Fowler
28 August 2014

Original Link

Jenkins 的权限控制

CI 环境权限控制的几个目标:

  • 能够与域账号集成
  • 能够单独针对每个项目设定用户权限, 即不同的员工对不同的项目可以有不同的权限
  • 能够单独设置是否能看到源代码的权限
  • 能够单独设置浏览查看项目构建信息和编辑修改运行项目构建信息, 即分开只读和修改权限

1. 与域账号集成

Jenkins 支持多种用户管理策略, 其中包括 LDAP 集成, 如下图:

2. 项目级别的权限控制

Jenkins 支持针对单个项目进行不同的权限控制. 具体操作如下:

首先进入”Manage Jenkins” -> “Configure Global Security”, 点选”Project-based Matrix Authorization Strategy”, 如下图:

其次, 针对每个需要配置的项目, 进入其对应的 Job 配置页面, 勾选”Enable project-based security”, 如下图:

然后就可以挑选能访问该项目的用户, 并配置权限, 如上图中的 rcp 和 anonymous 用户.

3. 单独设置是否能看到源代码的权限

在 Jenkins 中, 源代码及其所在目录, 被称之为Workspace, 其权限可单独配置, 如下图:

4. 分别设置只读和修改权限

Jenkins 提供了细粒度的权限控制, 其分类如上面两图所示. 可以分别为不同用户指定不同权限.

Blog post by Guanglei Li
28 August 2014

Original Link