Skip to content

Feed aggregator

The Purpose Alignment Model

Xebia Blog - Wed, 06/29/2016 - 10:45
When scaling Agile/Scrum, we invariably run into the alignment vs. autonomy problem. In short, you cannot have autonomous, self-directing teams if they have no clue what direction they should go. Or, even shorter, alignment breeds autonomy. But how do we create alignment? And what tools can we use to quickly evaluate whether or not what
Categories: Companies

JavaScript Plugin Finds Tricky Bugs, Thanks to Execution Flow

Sonar - Wed, 06/29/2016 - 09:17

Over the last few months, the SonarAnalyzer for JavaScript has made major advances in bug detection. Until recently, it only caught rather simple bugs, like function calls passing extra arguments, which didn’t really need more than a correct identification of symbols. Things changed a lot when we made the analyzer aware of execution flow: in other words, it is now able to determine the precise order of execution inside a JavaScript function and detect bugs based on it.

The latest rule we implemented based on execution flow aims at no less than detecting when a property is accessed on a value which might be null or undefined. In such a case, a TypeError may be thrown at runtime, and the application may crash. That rule catches obvious bugs in poor quality code, but it can also find more subtle issues, such as when a value is sometimes tested for nullability and sometimes not. That’s the case in the following code in the React project:

Conditions which are either always true or always false represent another bug pattern for which we have a relatively new rule. Sometimes, such a condition is simply redundant with the rest of the code as in in the following example in the Closure Library:


(In JavaScript every value has an inherent boolean value and is therefore either “truthy” or “falsy”. False, null, undefined, NaN, 0, and the empty string are “falsy”. Everything else is “truthy”.)

In other cases, a condition which is always true or false may be the visible part of a real bug, especially when it means that a full block of code will never be executed. Here’s an example from the Ionic framework which looks like a serious bug:

Detecting dead stores is another rule we added recently and that is based on execution flow. A dead store is a useless assignment to a variable, where the variable that’s assigned is never read after the assignment. Most often, this is not a bug, just useless and potentially confusing code. However, it’s so common that thousands of dead stores can be found in open-source projects. Here’s a very simple example in the AngularJS project:

Now, we’ve said all of these rules are based on execution flow, but some curious readers may ask: how do we describe execution flow? Except in the simplest cases, execution flow is rarely linear. As soon as a piece of code contains an if statement, its execution flow has to be described with alternatives branches: either the condition of the if statement is true and we execute the associated block, or it’s false and we don’t execute the block. Moreover, execution flow may go back to a point which was already executed thanks to loops. In the end, in order to represent all the possible paths, we use a graph structure which is known as a control flow graph (CFG).

Based on a control flow graph, it’s rather easy to identify dead stores by checking all paths which come out of an assignment. However, a CFG is certainly not enough to detect potential TypeErrors or conditions which are always true or false. To do that, we need symbolic execution. That is, we need to track the values which are referenced by variables. We can walk through the CFG and evaluate some parts of the code:

  • Based on assignments, we may know the precise value of a variable at a given point.
  • Based on conditions in if statements or loops, we may know which constraints are met by the value of a variable inside a given block.

Running symbolic execution means that we explore the possible execution paths based on the CFG and the possible constraints on variables.

  • When looking for possible TypeErrors, we raise an issue as soon as one of the execution paths leads to a property access on a value which is constrained to null or undefined.
  • When looking for conditions which are always true or false, we have to check all of the execution paths which go through a condition.

Our symbolic execution engine is still in its early stages and can only evaluate simple constructs right now, but the current results of these new rules look very promising to us. As we improve our engine, the rules which are based on it will get more accurate. We’ve gotten this far by following the lead of the SonarAnalyzer for Java, which overshadowed FindBugs, turning it from a great tool to a great tool of the past. We hope we can bring as much value to JavaScript developers.

However, following Java’s lead is only part of the story. Because of the dynamic nature of JavaScript, symbolic execution is more crucial than for other languages like Java. For example, the type of a variable may not be the same for all branches of a given piece of code: many rules will therefore be improved as soon as we start to infer types based on symbolic execution. We have a lot to do, so stay tuned!

Categories: Open Source

Links for 2016-06-28 [del.icio.us]

Zachariah Young - Wed, 06/29/2016 - 09:00
Categories: Blogs

Leading Agile Change Webinar Q&A Followup!

BigVisible Solutions :: An Agile Company - Tue, 06/28/2016 - 19:00

Leading Agile Change_Webinar Cover-01 

Last week I had the opportunity to deliver a webinar titled “Leading Agile Change: Proven Change Management Approaches for Agile Transformation” to nearly 200 people from the Agile and Change Management communities. The webinar (available here) serves two basic purposes: helping corporations undergoing Agile transformations recognize the value of organizational change management and helping make change management processes more Agile. As you can imagine, this topic drew lots of interest and a lot of great thought-provoking questions were raised, but due to time limitations, we were not able to give every question equal treatment. So I figured I would choose some of the very thoughtful questions that we weren’t able to answer during the webinar and share my answers to them here.

Here they are, in no particular order:

Where would the Change Management backlog exist?

This is a great question. In the webinar we talked about a few patterns for delivering Agile Transformations that have many tried and true Change Management practices embedded in them. One of these patterns recommends a backlog of transformation activities that the organization would work on iteratively and incrementally to build towards the future state. Ideally you would use the same toolset you are using for your Agile teams. So if you’re using VersionOne, Jira, Rally, etc. you might consider creating a separate project in that tool for the Agile Transformation and manage your transformation backlog there. The nice part of doing it that way is that it also makes the transformation team’s progress visible and transparent to the whole organization.

Some organizations who are very new to Agile may not have chosen an Agile Lifecycle Management (ALM) tool yet. In that case, you could use a lightweight or free tool in the interim until the tooling decisions have been made. One example of a free and lightweight tool you could use to manage your transformation backlog is SeeNowDo. You could do it “the old-fashioned way”: set up your transformation backlog on a physical Kanban board with painters tape and post-it notes somewhere in a visible place in your office like a conference room or hallway.

What guidance do you have around business leading the Agile transformation, when the business does not own/manage IT resources?

In my experience, Agile transformations that are treated like a joint partnership or as a collaboration between the engineering/IT group and the business are most likely to succeed long-term. I have seen some organizations where the business was driving the initiative to bring Agility into the organization, and this can have success when IT is in alignment on the goals of the initiative and has a seat at the table, and I have seen it the other way around where it starts as an IT initiative but very quickly the business is brought on board and aligned to the goals of the Transformation. In other words, regardless of who manages what resources or who leads the initiative, the success of the Agile transformation depends on close collaboration between business and IT.

Agile transformations with close collaboration between IT and Business are most likely to succeed
Click To Tweet

When it becomes a one-sided initiative with no alignment from either side of the organization, the results are usually not as profound or transformative. A recent article in Forbes by Steven Denning talks about the importance of making the whole organization Agile.

What tips do you have for leadership when dealing with the “Keeping the lights on” activities which seem to pull people back into the standard way of doing things, while the org is undergoing an Agile Adoption?

At SolutionsIQ we often use a pattern we call “Agile on Agile” to execute Agile transformations. “Agile on Agile” means using Agile concepts, like visible backlogs (sometimes on a physical wall, more often in a virtual app) with prioritized work items that we consultants and coaches pull into sprints, to promote an Agile mindset. We radiate our findings to the leaders and influencers who can help us enact change, and we empower our mentees and trainees to do what they need to do and act how they need to act. In other words, to drive home the concept of transparency or empowerment, we are ourselves transparent in our processes and we empower the individuals we work with.

@SolutionsIQ uses Agile concepts like visible backlogs w/ prioritized tasks to promote Agility
Click To Tweet

This also means intervening when management or leadership have expectations more aligned to how work was done before Agile. Limiting work in progress (WIP) is an excellent example: many Agile teams use Kanban to track their progress on stories (some teams, like our own marketing team here at SolutionsIQ, use a hybrid called Scrumban, which combines Scrum and Kanban). Limiting your WIP, a core principle of Kanban, is possibly the hardest for new teams to grok, and it can sometimes give management and leadership the impression that the team “isn’t doing enough” because there’s only one or two work items in progress. But by limiting their WIP, the team can complete more work tasks, which means increased productivity. Traditionally managers and leaders rewarded multitasking (aka context switching) because it looks like more work is getting done. But it’s simply not true.

The thing I would suggest to leaders and managers, therefore, is: change your perspective. The way you’re thinking today is negatively affecting your ability to deliver. Be open to new ways of thinking and being. If your gut says to do something and that something has often gotten you in trouble, the simple thing to do is ignore your gut, ignore your instinct. Often today’s leaders and managers run on instinct but, without an Agile mindset, that instinct is only going to lead to more trouble. So quit it.

Often leaders and managers run on instinct. Without Agility, instinct can lead to trouble.
Click To Tweet

 

 

These questions are just icing on the cake of awesomeness that was our “Leading Agile Change” webinar! If you missed it, you’re in luck: you can watch it from start to finish right now in our Resource Library.

Watch Now

The post Leading Agile Change Webinar Q&A Followup! appeared first on SolutionsIQ.

Categories: Companies

QMetry Test Manager for JIRA Launched

Scrum Expert - Tue, 06/28/2016 - 17:39
Infostretch has launched QMetry Test Manager for JIRA on the Atlassian Marketplace. The solution comes pre-integrated with Atlassian JIRA Software, a software development tool used by agile teams. As an add-on for JIRA Software, QMetry Test Manager for JIRA adds a sophisticated test management capability to the JIRA environment. QMetry Test Manager is a mature and comprehensive test management system which helps enterprises reduce testing time and accelerate time-to-market of their digital initiatives. It was built to help QA teams “Shift Left” – to get involved earlier in the development cycle to build a test plan while continuously testing early development builds. QMetry Test Manager is already used by hundreds of enterprises to support their agile testing initiatives and collaborate better with developers. Better visibility of testing status through customizable dashboards QMetry Test Manager for JIRA gives the most organized and comprehensive view of all aspects of testing, through its out-of-the-box and customizable dashboards. For example, its unique “QA Director” view allows the entire software team to gain full visibility into the whole health of a QA project in a single screen, making go/no-go decisions straightforward. Re-use test scenarios The system is designed to make the QA role simpler and quicker by allowing you to create and re-use modular test scenarios. It gives QA Managers the power to make a change to just one test scenario or to replicate that globally and avoid a messy mass of clones. Auto-suggest test scenarios QMetry Test Manager for JIRA is also intelligent enough [...]
Categories: Communities

LeanKit Summer Pull Planning 2016

More than 130 LeanKit employees from across the country (and even some from across the pond!) gathered at...

The post LeanKit Summer Pull Planning 2016 appeared first on Blog | LeanKit.

Categories: Companies

What’s your favorite Agile Conference?

Ben Linders - Tue, 06/28/2016 - 16:01

favorite agile conferenceAs a trainer, (keynote) presenter, editor for InfoQ, and agile networker I go to conferences all around the world during the year. They are all different, each one has it’s own strong points. Now I’d like to hear from you: What’s your favorite agile conference? Please share your favorite agile conference by commenting on this post.

In 2016 I attended the Agile Practitioners Conference, Scaling Agile for the Enterprise, DevOps Summit, 1st Conference, QCon London, Agilia, AgileEE, Retrospective Facilitators Gathering, Software-Centric Systems Conference and GOTO Amsterdam. For these conferences I visited Tel Aviv, Brussels, Melbourne, London, Olomouc, Kiev, Sagres, Eindhoven and Amsterdam. Why go to conferences


advertisement:

Retrospectives Exercises Toolbox - Design your own valuable Retrospectives

People go to conferences for different reasons. I go to them to learn new things, stay up to date with what’s happening in agile communities and to share my experiences.

I really liked giving a keynote at the 1st conference because it was my first time to Australia which felt great. This conference had a fully packed program for people that are new to agile, I was amazed by it’s broadness in topics and the quality of the talks.

It was my second time to the AgileEE, and I felt at home right from the start. There’s always an lot of energy at this conference, people are networking everywhere and it’s the conference with a very diverse audience who’s eager to learn. The new venue was a real improvement.

The Retrospectives Facilitators Gathering is different because it’s a small group dedicated to agile retrospectives. It’s a full week open space on agile retrospectives, for me it’s the place to be to sharpen my facilitation and training skills. Upcoming conferences

In the coming months I will be attending the following conferences:

There are a couple more conferences coming up, which haven’t announced my workshops or talks yet. As soon as they become public they will be added to my conference schedule. Your favorite agile conference

So tell me: What’s your favorite agile conference? Please share your favorite agile conference by commenting on this post.

 

Categories: Blogs

3 Simple Tools for Successful Scrum Meetings

Scrum Expert - Tue, 06/28/2016 - 14:23
The Agile Manifesto says that “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation”, but many meetings are a dull waste of time, even for Scrum teams. This talk presents 3 simple and efficient methods you can use to turn boring meetings into fruitful tool for communication enabling delivery of your project. You will learn: * How to visualize the successful outcome of the meeting and how to think visually. * How to choose the proper format for the meeting and how to run the meeting based of the chosen format. * How to use KJ technique to reach consensus Video producer: http://topconf.com/
Categories: Communities

What IT Directors Mean In Business Speak

Leading Agile - Mike Cottmeyer - Tue, 06/28/2016 - 13:30

As a coach and committed Agile Evangelist, I spend most of my time convincing the software organization that they are actually part of the business. In this role, I also help with interpretations of Software / Technical jargon to business speak. Here are 5 of my favorite IT Director phrases:

  1. We are going to make the date at all cost.
  2. Refining requirements with business partners is bureaucratic and slow.
  3. It is up to the Operational team to clean up the process.
  4. We will work with DevOps to smooth out deployments.
  5. This new technology will speed up delivery once we re-write everything.

Now drumroll please, here is what they mean to the rest of the business.

Business Speak 1


  1. We are going to make the date at all cost. Actually means you need to have funding for 2 support people for every developer on staff. It will take one to three years to make this software run smoothly. At the end of the third year, we will make the case that it is too costly to maintain and try to make the date at all cost for a replacement.

    Business Speak 2

  1. Refining requirements with business partners is bureaucratic and slow. Actually means we in IT can write a bunch of code much faster if we don’t have to understand how you are going to use it. We will just give it to you and you can figure out how to change your processes to make it work. If you can’t make it work, we can start up a replacement project.

    Business Speak 3

  1. It is up to the Operational team to clean up the process. While delivering at all cost we created a bunch of manual steps, such as loading data directly to the production database. These manual steps will be turned over to technical operations with knowledge transfer sessions, i.e. someone sitting with someone but nothing actually written down. Once it is in the operational team, it is up to them to figure out how to automate these manual processes as long as they do not use development time.

    Business Speak 4

  1. We will work with DevOps to smooth out deployments. We were busy delivering at all cost and never got around to automating our deployments. We are turning over that piece of work to the Delivery Operations team to automate.   We don’t have time to document the deployment procedures but they have been working with us for the last few months so they can do it.

    Business Speak 5

  1. This new technology will speed up delivery once we re-write everything. Actually means, I found something new and cool that I want to learn and it will look good on my resume.   That old stuff is hard to maintain and change. We have no idea what most of that code is doing so let’s just start from scratch. We will not be able to make any business changes to the existing software. All of our efforts will be building the new software to do what the existing software already does.

Finally, the one that the IT Director says in the hallway but never in a meeting, “I have no idea what all these operational people are doing, I wish I could get that headcount for software delivery.”

The post What IT Directors Mean In Business Speak appeared first on LeadingAgile.

Categories: Blogs

The Ultimate Tester: Sharing Knowledge

Xebia Blog - Tue, 06/28/2016 - 10:50
In the past three blog posts we have explored some aspects of being an Ultimate Tester: How we can add value, how our curiosity helps us to test the crazy stuff and how we can build quality in. We learn a lot about these things during work time (and hopefully during personal time as well),
Categories: Companies

The Art of Software Gardening

TV Agile - Tue, 06/28/2016 - 10:30
Software development has evolved a lot the last decade. Developers are not considered code monkeys any more. They’re expected to write clean and maintainable code that continuously evolve with business needs. Some times they need to work remotely in dynamic and multi-cutltural environments using a variety of technologies and programming languages. Nevertheless they still want […]
Categories: Blogs

Reimagine Your Productivity at Getting Results.com

J.D. Meier's Blog - Mon, 06/27/2016 - 18:27

image

Imagine if you could master your motivation, your productivity, and your time management?

It’s time to get your game on.

I’ve completely revamped Getting Results.com (http://GettingResults.com) to help you think, feel, and do your best in any situation.

At Getting Results.com you can learn all about Agile Results.  It’s more than just a time management system or a productivity system.

It’s a personal results system for work and life.

Agile Results is a simple system for meaningful results.

It helps you respond to change while making things happen.  It helps you use your best energy for your best results, while you keep learning and improving.

What Will You Find at Getting Results.com?

Getting Results.com is a source of insight, inspiration, and action for mastering productivity, motivation, time management and more.

Here are some of the key things you’ll have access to:

  1. Get Started with Agile Results.
  2. Articles on Agile Results, Goals, Motivation, and More.
  3. 7 Day Agile Results Jumpstart, helps you take Agile Results for a test-drive and potentially have one of your best weeks.  Ever.
  4. 30 Days of Getting Results, this is advanced training that will help you get better results for work and life.
  5. Resources that include Cheat Sheets, Checklists, How Tos, Visuals, and more.

You can also read Success Stories to hear about how others have implemented and are using Agile Results.

Getting Started with Agile Results

While there are a lot of resources at Getting Results.com, the most important thing you can actually do is just get started with Agile Results:

Get Started with Agile Results

Take it for a test drive and see if you can create better results at work and in your life, the Agile Way.

Categories: Blogs

Women In Agile Workshop, July 24, 2016, Atlanta, USA

Scrum Expert - Mon, 06/27/2016 - 17:08
The the Sunday before the start of the Agile2016 Conference, the Agile Alliance is organizing the Women In Agile Workshop on the theme “The Changing Face of Agile”. The Women In Agile Workshop is designed for both women and men who seek to create a more inclusive and diverse community that enables broad idea-sharing from all members. If you are a woman who is active in the Agile community, or seeking to become more involved and meet other women, or if you’re a man who wants to understand and support women in Agile, we encourage you to attend this valuable workshop. To start, Cindy Morse, VP of Engineering Operations at Salesforce Marketing Cloud, will discuss her involvement and experiences in the greater technology community. The facilitators will guide you in the Lean Coffee format to discuss relevant topics to smaller groups. You will take away insight from others, tools to increase your own involvement, and a support group to help you achieve your involvement goals. More information and registration on http://www.eventbrite.com/e/women-in-agile-workshop-registration-25519978944
Categories: Communities

Agile Open Spain, Santiago de Compostela, Spain, July 1-2 2016

Scrum Expert - Mon, 06/27/2016 - 16:27
Agile Open Spain is a two-day event focused on Agile software development approaches like Scrum and XP. The Agile Spain community organizes this conference and all discussions will be in Spanish. The Agile Open Spain conference follows the open space format for conferences. Open space is a simple methodology for self-organizing conference tracks. It relies on participation by people who have a passion for the topics to be discussed. There is no preplanned list of topics, only time slots and a space in the main meeting room where interested participants propose topics and pick time slots. Web site: http://aos2016.agile-spain.org/ Location for the Agile Open Spain conference: Santiago de Compostela, Spain
Categories: Communities

Trello Board with Retrospective Techniques

Ben Linders - Mon, 06/27/2016 - 15:27

The Trello board retrospective techniques for coaches, Scrum masters, and other facilitators provides exercises and ideas to design agile retrospectives. Philip Rogers created this board, he has added me so that I can contribute my experience with retrospectives.

This interesting retrospective resource on Trello has columns with:

  • “All-in-one” plans for retrospectives, descriptions of exercises that cover the five phases mentioned below.
  • Futurespectives, where the focus of the conversation is not on something that has occurred in the past, but instead on what the team foresees in its future.
  • Activities for the five phases from the agile retrospectives book by Esther Derby and Diana Larsen.


advertisement:

Retrospectives Exercises Toolbox - Design your own valuable Retrospectives

Trello Retrospectives techniques boardThe trello board with retrospective techniques has been added to the retrospective exercises toolbox.

I’ve contributed to the board by sharing my blog posts How Futurespectives Help Teams to Reach Their Goals, Retrospective Prime Directive in many languages and What to do when safety is low in a retrospective on this board. More will be added soon.

My mission is to help teams all around the world to increase the value of their agile retrospectives. There’s the book Getting Value out of Agile Retrospectives, the Retrospective Exercises Toolbox, workshops for Valuable Agile Retrospectives in Teams and for Increasing your Agility with Retrospectives and there are lots of blog posts on retrospectives. And you can Ask Your Agile Retrospective Question on line. All these things help you to make your retrospectives valuable.

A big thanks to Philip Rogers for providing me the possibility to share my experience and ideas for agile retrospectives on this board!

Categories: Blogs

Review: Switching to the Agile Mindset

Learn more about transforming people, process and culture with the Real Agility Program

Recently, I discovered a well-written article on Scrum Alliance posted from a member entitled “Switching to the Agile Mindset.” In this article, the author lists six key components of the transformation individuals and teams go through as they adapt more agile mindsets and approaches to their work. I found this article ideal for new coaches and also useful for people on the team who may feel challenged by the switch.

The part which stands out for me the most is the phrase, “Change acceptance develops agility in a team.”

This concept is enshrined in the Agile Manifesto itself. Being able to adapt well to change is the cornerstone of the new mindset and a high-functioning agile team.

Learn more about our Scrum and Agile training sessions on WorldMindware.comPlease share!
Facebooktwittergoogle_plusredditpinterestlinkedinmail

The post Review: Switching to the Agile Mindset appeared first on Agile Advice.

Categories: Blogs

The Key To Delegating Work

Derick Bailey - new ThoughtStream - Mon, 06/27/2016 - 14:00

Getting thrown in to the deep end of any new responsibility can be quite a challenge – but none more so than the challenge of managing other people and their projects, when you have no experience with management!

As someone that has been through the ranks of project leadership and management, I’ve found a few principles to be consistent in learning how to delegate work to the people on my teams… a balance between two extremes that can be difficult to find.

So, what is the key to delegating work effectively – especially in your early days as a manager?

Find out in this episode of ThoughtsOnCode.

Categories: Blogs

AgileChina, Beijing, China, July 17-20 2016

Scrum Expert - Mon, 06/27/2016 - 10:00
AgileChina is a four-day conference about Agile and Scrum that will take place in Beijing. It is part of the TiD Conference that integrates resources and forces of SPIChina, ChinaTest and AgileChina. Agile China will start with a day of tutorials followed by three days of sessions both in Chinese and English. In the agenda of AgileChina conference you can find topics like “Scrum Mastery – Essential Skills for Team Excellence”, “Essential Patterns of Mature Agile Leaders”, “Software is a Side Effect: Your Real Job is Rapid Learning”, “Exploring Scrum of Scrums as a Scaling Vehicle”, “From Concept to Product Backlog – What Happens Before Iteration 0?”, “The Essential Product Owner: Partnering with your Teams”. Web site: http://www.tid.org.cn/?c=english Location for the AgileChina conference: China National Convention Center, NO.1 Tianchen East Road , Olympic Green , Chaoyang District , Beijing 100105 , China
Categories: Communities

Links for 2016-06-26 [del.icio.us]

Zachariah Young - Mon, 06/27/2016 - 09:00
Categories: Blogs

Knowledge Sharing


SpiraTeam is a agile application lifecycle management (ALM) system designed specifically for methodologies such as scrum, XP and Kanban.