Warning: Table './devblogsdb/cache_page' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_page WHERE cid = 'http://www.softdevblogs.com/?q=aggregator&page=4' in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc on line 135

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 729

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 730

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 731

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 732
Software Development Blogs: Programming, Software Testing, Agile, Project Management
Skip to content

Software Development Blogs: Programming, Software Testing, Agile Project Management

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Feed aggregator
warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/common.inc on line 153.

Survey About Technical Managers

Marcus Blankenship and I are conducting a survey of technical managers. If you are or have been a technical manager, please take the survey here: Software leadership 2016 survey.

Oh, and I was so curious about how many female/male managers there were, we had to ask that question. Yes, I said to Marcus, “We have to ask!” He laughed and added that question.

It should take you less than 10 minutes to fill out the survey. We will leave the survey open for no more than a couple of weeks. We’ll send the results to people who asked for it, along with publishing the results in the article we are writing.

We will not add your name to any email lists. It’s safe for your mailbox to take the survey. The link is Software leadership 2016 survey.

Categories: Project Management

Test Masters - Robot Challenge

Xebia Blog - Thu, 05/12/2016 - 11:42
The Test Masters series is created to experience testing in a fun and new way. Play games, use robots, experience new tooling and techniques to make yourself a better tester! During the meetups we organize you can try out these new tools and techniques and engage in a friendly competition with your peers. In the first

Designing for Multi-Window

Android Developers Blog - Thu, 05/12/2016 - 02:13

Posted by Ian Lake, Developer Advocate

As a developer, there’s a wide range of features added in Android N to take advantage of, but when it comes to designing and building your UI, having strong multi-window support should be at the forefront.

The primary mode that users will be interacting with multi-window is through split-screen mode, which is available on both handheld devices and larger tablets. In this mode, two apps split the available screen space and the user can drag the divider between the two split screens to resize the apps. As you might imagine, this mode offers some unique design challenges beyond what was needed previously.

An even more responsive UI

The lessons learned from previous versions of Android, the mobile web, and desktop environments still apply to Android N. Designing a responsive UI is still an important first step towards an amazing multi-window experience.

A responsive UI is one that adapts to the size provided, picking the best representation of the content and the appropriate navigation patterns to make a great user experience on any device. Check out the Building a Responsive UI blog post for details on how to design and build an effective responsive UI.

Adapting your layout

As you’re designing layouts for the largest and smallest screens and everything in between, it is important to make resizing a smooth and seamless transition as mentioned in the split screen layout guidelines. If you already have a similar layout between mobile and tablet, you’ll find much of your work taken care of for you.

However, if your mobile and tablet layouts are vastly different and there’s no way to smoothly transition between the two, you should not transition between them when resizing. Instead, focus on making your tablet UI scale down using the same responsive UI patterns. This ensures that users do not have to relearn their UI when resizing your app.

Note that the minimalHeight and minimalWidth layout attributes allow you to set a minimum size you want reported to your Activity, but they do not mean the user cannot resize your activity smaller - it actually means that your activity will be cropped to the size the user requests, potentially forcing elements of your UI off the screen. Strive to support down to the minimum size of 220x220dp.

Design configurations to consider

While many of the sizes and aspect ratios possible in multi-window are similar to existing devices (1/3rd of a landscape tablet is similar to existing mobile devices in screen size), there are a few configurations that are much more common when considering multi-window.

The first is a 16x9 layout on mobile devices in portrait. In this case, the vertical space is extremely limited. If you have a number of fixed elements stacked on top of one another (a toolbar, scrolling content, and a bottom navigation bar), you might find there’s not actually any room for the scrolling content - the most important part!

The second case to consider is the 34.15% layout on tablets. The very wide aspect ratio in device portrait or very tall aspect ratio in device landscape orientation are more extreme than what is found on existing devices. Consider using your mobile layouts as a starting point for this configuration.

Patterns to avoid

When it comes to multi-window, there are a few patterns you want to avoid entirely.

The first is UI interactions that rely on swiping from the edge of the screen. This has already been somewhat of an issue when it comes to the on screen navigation bar prominent on many devices (such as Nexus devices), but is even more so in split-screen mode. Since there is (purposefully) no way to determine if your activity is on the top or bottom or the left or the right, don’t make edge swipes the only way to access functionality in your app. That doesn’t mean you have to avoid them entirely - just make sure there is an alternative. A good example of this is the temporary navigation drawer - an edge swipe opens the drawer, but it is also accessible by pressing the hamburger icon in the toolbar.

The second is disabling multi-window entirely. While there are certainly cases where this makes sense (i.e., it is fundamentally an immersive experience such as a game), there are also cases where your activity and any Activities launched from that Activity are forced to support multi-window. As mentioned in the Preparing for Multi-Window blog post, when you support external apps launching your activity, your activity inherits the multi-window properties of the calling Activity.

Designing for Multi-Window is designing for every device

Building a responsive UI that reacts to the space available is critical to a great multi-window experience, but it is an exercise that can benefit all of your users across the wide variety of Android devices.

So use this as an opportunity to #BuildBetterApps

Follow the Android Development Patterns Collection for more!

Categories: Programming

Introducing the second class of Launchpad Accelerator

Google Code Blog - Wed, 05/11/2016 - 18:41

Roy Glasberg, Global Lead, Launchpad Program & Accelerator

This week Launchpad Accelerator announces its second class, which includes 24 promising startups from around the world. While the number of accelerators is at an all-time high, we take a different approach with Launchpad Accelerator, a program that exclusively works with late-stage tech startups in emerging markets -- Brazil, Indonesia, India and Mexico.

See what it’s like to participate in the Accelerator.

‚ÄúWe provide comprehensive mentorship that delivers results,‚ÄĚ says Jacob Greenshpan, one of Launchpad‚Äôs lead mentors. ‚ÄúWe start by running a ‚Äėpatient diagnostic‚Äô to determine each startup‚Äôs critical challenges, and then deploy precise mentorship, actionable solutions, and Google resources that enables the app to scale.‚ÄĚ

Class 2 kicks off June 13. The startups will descend on Google HQ for an intensive 2 week bootcamp. Under the tutelage of Google product teams and mentors from the global Launchpad network, they will receive intensive, targeted mentoring, equity-free funding, and more benefits during the 6-month program.

Here’s the full list of startups (by country):

Brazil BankFacil Emprego Ligado AppProva GetNinjas Edools Love Mondays Indonesia HijUp Talenta Jarvis Store Ruangguru IDNtimes Codapay India Taskbob Programming Hub ShareChat RedCarpet PlaySimple Games MagicPin Mexico Aliada SaferTaxi Conekta Konfio Kichink Miroculus

Google‚Äôs ‚ÄúScalerator‚ÄĚ Drives Results for Alumni

What advice do Class 1 alumni give to the new intake? ‚ÄúCome to the accelerator with an open mind. You will be shocked to find how many things are going wrong in your app. Thankfully the mentors will help you implement better solutions,‚ÄĚ says Vinicius Heimbeck, Founder of Brazilian mobile game developer UpBeat Games.

UpBeat Games had more than 1,000% increase in daily app installations in Asia during the period of a feature, as well as a 200% overall increase in active users after following a long list of improvements Accelerator mentors suggested. ‚ÄúWe made optimizations that led us to be featured in Google Play, which changed everything for us.‚ÄĚ

See Upbeat Games at the Accelerator in this video.

‚ÄúBelieve you can build a world class product. The mentors will push you to bet on yourself,‚ÄĚ says Amarendra Sahu, Nestaway Co-founder and Class 1 alumni. NestAway just closed a $30M Series C, one of the largest investment rounds in India this year.

“Your biggest enemy is not failure; it is the temptation to be ordinary. But the mentors will push you to build an extraordinary product and scale an extraordinary startup," says eFishery Co-founder and CEO Gibran Chuzaefah Amsi El Farizy, who was announced as one of the top 27 leaders in Indonesia’s startup ecosystem, after participating in the Accelerator program.

Categories: Programming

Performance and Scaling in Enterprise Systems

This is a guest post from Vlad Mihalcea the author of the High-Performance Java Persistence book, on the notion of performance and scalability in enterprise systems.

An enterprise application needs to store and retrieve as much data and as fast as possible. In application performance management, the two most important metrics are response time and throughput.

The lower the response time, the more responsive an application becomes. Response time is, therefore, the measure of performance. Scaling is about maintaining low response times while increasing system load, so throughput is the measure of scalability.

Response time and throughput
Categories: Architecture

5 ways to organize Agile teams

Xebia Blog - Wed, 05/11/2016 - 16:25
Do you feel like your teams could be organized better? How to organize teams in an optimal way is a common question in Agile organizations. A question you should always discuss and answer together with the people in the actual teams. This post provides you with an overview of 5 possibilities for organizing teams and the main

Sacred Agile

From the Editor of Methods & Tools - Wed, 05/11/2016 - 08:47
You know that when you deal with this type of topic, you are writing about a touchy subject. When I write that Agile has been sometimes sacralized, my aim is not to hurt any religious or philosophical belief, but rather to see how men behave when adopting new ideas. Raised as a catholic, what will […]

Metrics:¬† Cumulative Flow Diagrams ‚Äď Basics

A Cumulative Flow Diagram (CFD) is a measurement tool for tracking and forecasting work. CFDs are typically associated with Kanban, however, it can be used as a measurement tool for any type of work.  In its simplest form, a CFD is a set of measures that are presented in a visual form.  A simple version of a CFP shows the amount of work that has been completed, how much work is in-progress, and the amount of work still to be done over time.

A simple CFD is shown below:


The simple CFD shows the conversion of stories from backlog items into completed stories that have or could be shipped. Comparing two CFDs (shown below),  the first after period two with another CFD after period six shows the trajectory of the work and the accumulation of completed functionality. The CFD drives home the point that the team is delivering work that either was or could have been delivered. Visually even a simple implantation of CFD provides valuable information to the team.

CFD After Period 2

CFD After Period Two

CFD After Period Six

CFD After Period Six

The CFD also acts as a tool to monitor the amount of work-in-process (WIP). The gap between the backlog and completed at any point in time is the WIP.  While this is very evident in this simple version later in the week, we will explore more complex versions of the CFD.  An example showing how to a CFD to identify WIP is shown below:


In order to highlight how a CFD shows work-in-process, I have shown a CFD with a bulge in the flow of WIP.  This pattern is an example of bottleneck (more on bottlenecks when we discuss more complex CFD configurations).

Another typical use of a CFD is to monitor cycle time. Cycle time is a measure of the amount of time a unit of work takes to move from the backlog to complete.  The cycle time example:


The cycle time is an excellent metric for forecasting when a project will be completed or when a certain number of stories will be completed. 

A third common metric that a CFD provides is throughput.  Throughput is the number of stories completed in a time period.  The average throughput over a number of periods would be velocity.



Throughput and velocity are predictive metrics that are valuable to help teams predict when they can complete work or whether they are improving their rate of delivery.

The Cumulative Flow Diagram provides teams and organizations with a tool to understand current status, identify bottlenecks and issues, and to forecast completion dates.  The CFD is, in Agile parlance, a big information radiator.  A team that uses Kanban or Scrumban often replace burn-up and burn-down charts with CFDs because they more closely track the flow of work. 

Next:  More Complex CFDs

Categories: Process Management

Digital Transformation Explained

In a previous post, I defined Digital Transformation.  But now it’s time to explain Digital Transformation, and make it real with examples.

Satya posted his mental model for Digital Transformation:


I like the simplicity.

What I like is there are four clear pillars or areas to look at for driving Digital Transformation:

  1. Customers
  2. Employees
  3. Operations
  4. Products

What I also like is that this matches what I learned while driving Digital Business Transformation with our field with customers.

Customer Experience Transformation

In terms of customers, you can engage with them in new ways.  You can connect with your customers through apps that provide a mobile experience, so that your customers can interact with your organization, anywhere, anytime.  You can listen to your customers through social listening and perform sentiment analysis.  You can learn about your customer’s behaviors through telemetry insights that reveal what features your customers use and which ones they ignore.  You can use data-driven insights to deliver personal experiences.  With the insights you gain, you can segment your customers in more effective ways, and you can target new customer segments.  You can use the Cloud to reach new customer segments around the world ,and you can test new experiences, and you can scale as needed.  You can deliver a seamless and personal experience across all customer interactions, providing a true omni-channel experience.

You can push the envelope of customer interaction and drive deeper engagement with more immersive experiences.

By walking your customer journey, you can identify Digital Hot Spots‚ÄĒplaces where you can connect better, collaborate better, share information better, gain new insights, visualize better, or use infinite compute and infinite storage in new and exciting ways.¬† And you can reveal new ways to create and capture value.¬† This is innovating at the edge in action.

One example of customer experience transformation is the story of Real Madrid, the Spanish football club and the world’s #1 sports franchise.¬† Previously, Real Madrid had just a one-way communication method for broadcasting information and news, to it’s 450 million fans, without the ability to get any feedback.¬† Real Madrid wanted to know who their 450 million fans are, where they are, and what they want from them, so they could engage in more personal ways.

Fast forward to where are they now.

Real Madrid’s fan engagement platform captures and stores every interaction with a fan, including mobile check-ins at the club’s stadium, online fan profile updates, and online merchandise purchases.¬† It also collects social media data from Twitter, Facebook, and other social media sites, for social segmentation of the individual fan, and analysis. Real Madrid’s extended video platform provides new and historical video content, including previous Real Madrid matches.¬† Fans can filter searches to view specific games using criteria such as games where the club scored a certain number of goals.

Real Madrid’s consumer app lets fans virtually access the stadium before, during, or after each game, and they can search data on all the club’s players, past, and present, while exploring detail statistics from specific games.¬† Real Madrid can now capture and discover personal preferences to provide more relevant content to their fan through the new mobile app, or when fans use the app to check in at the stadium, they an get a personal QR code for a loyalty in-stadium offer, or even a simple message that thanks the fan.

Employee Experience Transformation

In terms of employees and workforce, you can change how people work together.  Imagine if employees could bring their own devices and they can access the apps and information they need to do their job, anywhere, anytime to serve customers better.  Imagine if employees can find the experts they need to collaborate with in real time.  Imagine if they can discover the apps, the documents, the information, and the people they need to perform their work better, faster, and cheaper.  Imagine if employees could connect with their peers, as well as with customers and partners to innovate on new ideas as well as solve problems better together.

Imagine if your workforce can ‚Äúwork out loud‚ÄĚ in a more open way, leading to more connection and collaboration as employees learn to ‚Äúwork like a network.‚ÄĚ

Imagine digital assistants that can help employees find the information they need, perform routine tasks, and guide them through new scenarios.

One example of employee experience transformation is the story of KUKA‚Äôs Intelligent Industrial Work Assistant. Employees are able to collaborate with robots to perform jobs better, easier, and faster than ever before.¬† KUKA’s lightweight¬† robot is able to sense its way around a complex task and perform precise automation movements safely and securely.¬† This enables human-robot collaboration in new and exciting ways.

Another example is the story of the Edge.¬† The Edge is a smart office space project that focuses on both a greener building and more productive occupants.¬† The building connects and communicates with employees through the Edge smartphone app.¬† The app helps employees find a parking spot at the building when they arrive.¬† Then the app finds them a desk. Because at the Edge, employees don‚Äôt have one. No one does. Workspaces are based on their schedule: sitting desk, standing desk, work booth, meeting room, balcony seat, or ‚Äúconcentration room.‚Ä̬†¬† This helps

Wherever they go, the app knows their preferences for light and temperature, and it tweaks the environment accordingly.  Side note Рthe Edge is the greenest building in the world.  The British rating agency BREEAM, gave it the highest sustainability score ever awarded: 98.4 percent.

Operations Transformation

In terms of operations transformation, you can improve process visibility end-to-end, increase decision making speed, and improve collaboration across silos.  Another key to operations transformation is getting information to the people who need it most, when they need it most.

With machine learning, you can use predictive maintenance to replace parts before they break, provide just enough maintenance when you need it, and avoid expensive downtime. With predictive analytics, you can more intelligently optimize your schedule or logistics, or even figure out your next best offer to promote.

DevOps models and practices help drive continual delivery and IT service delivery agility.  By promoting better communication, collaboration, and integration between software development and IT operations, DevOps helps produce software and IT services more frequently, with rapid iterations.

An example of operations transformation is the story of Fujitsu.¬†¬† Fujitsu enabled managers, engineers and scientists to simultaneously manage product quality, process efficiency, and equipment performance.¬† As Fujitsu CEO Hiroyuki Sakai put it: “…we are able to deliver real-time visualization of the engineering process for big data analytics to improve the entire production process and inform decision-making.‚ÄĚ

An example of operations transformation in healthcare is the story of Dartmouth-Hitchcock.  Dartmouth-Hitchcock Health System is piloting a highly coordinated, intensely personalized solution to provide visualizations and deep insights that will transform business operations.

An example of operations transformation in logistics & transportation is the story of Scania.   Scania is a global company that delivers trucks, buses, and engines, as well as services in more than 100 countries.  Scania developed a system in the Cloud that measures the entire transport flow of a mine, with data sent wirelessly every second from the trucks in the production flow to Scania’s field workshop. This allows them to calculate uptime and down times and have useful data to make decisions that affect operational efficiency in real time in their customers’ mining operations.

An example of predictive maintenance is the story of ThyssenKrupp.  Using the Cloud, can ThyssenKrupp can guarantee a higher uptime percentage on our elevators to gain a competitive advantage.  Drawing on the potential of the Internet of Things (IoT) by connecting its elevators to the cloud, gathering data from its sensors and systems and transforming that data into business insights, ThyssenKrupp is vastly improving operations.

Product Transformation

Wrapping engineering teams around your customers creates a new world of possibilities.  By engaging with your customers more deeply, you gain new insights into their pains, needs, and desired outcomes that you can use to shape and create new products and offerings.

You can use your social insight and sentiment analysis to gain even deeper understanding of how to create and capture value for your customers.

Best of all, you can use telemetry to figure out what features your customers actually use and which features your customers ignore.

An example of product transformation in automotive is the story of Delphi Automotive.  Delphi Automotive created Delphi Connect to give drivers many exciting ways to remotely monitor and control their cars.  Delphi Connect can turn any car into a connected car with affordable, cloud-based telematics.

Another example of product transformation in automotive is the story of Qoros.¬† Qoros engaged Microsoft Services to design and build the Qoros telematics system, which it calls the QorosQloud.¬† QorosQloud provides more than 30 services, which can be also accessed from the driver‚Äôs smartphone, tablet, or PC, delivering functionality that goes beyond driving and the car.¬† Vendors can provide data to QorosQloud‚ÄĒtraffic data, points of interest, restaurant reviews, parking data and so forth.¬† Qoros owners tell their car which points of interest they want to see on their in-car monitor.¬† QorosQloud connects to the Qoros dealer management system, customer relationship management, company websites, mobile apps, and other business systems that run both in the Cloud and on-premises in a small Qoros datacenter.

Business Model Innovation

Collectively, these four Digital Transformation pillars (customers, employees, operations, and products)  set the stage for transforming your business model.  According to The Business Model Navigator, you can think of your business model in terms of four components:

  1. Customer ‚Äď Who are your target customers? (This is the heart of your business model, and it‚Äôs where your customer segments come into play.)
  2. Value Proposition ‚Äď What do you offer to your customers? (This is where your products and services come into play.)
  3. Value Chain ‚Äď How do you produce your offerings? (This is where supply chain optimization can have profound impact.)
  4. Profit Mechanism ‚Äď Why does it generate a profit? (This is where reducing cost structures and adding profit generating mechanisms come into play.)

Business model innovation is a significant change in two or more part of your business model.

When you think through your business model, imagine if you could use the Cloud to reach new customer segments in emerging markets.  Or, imagine if you could completely change your supply chain.  Imagine if you can take an idea that’s working in another industry and bring it into your industry.

Another way to think about business model innovation in a mobile-first, cloud-first world is to think about new digital products you can create as you shift your mix from physical things to digital things for the digital economy.

Here are a few examples of business model innovation that you are likely familiar with:

  • AirBnB is a large hospitality provider, but it doesn‚Äôt own any real estate.
  • Netflix is a large movie rental service, but it doesn‚Äôt provide any physical retail stores.
  • Uber is a large taxi service, but does not own any cars.

In the TED Talk: The Currency of the New Economy is Trust, Rachel Botsman provides a good overview of how service networking, the collaborative consumption, and the sharing economy are changing business models.

Putting it All Together

When it comes to Digital Transformation it helps to have an all up mental model to work from.  The more you can model and map out your Digital Transformation, the more effective you will be.

In the article, Microsoft IT cloud computing strategies continue to evolve, you can see how Microsoft’s IT department is going through it’s multi-year Digital Transformation journey.

In the article The systems approach on how to transform your digital healthcare organization, you can see some healthcare examples of the Digital Transformation pillars in action, such as customer experience transformation and operations transformation.

In the article Welcome to the Digital Revolution, you can get a really good overview of the big picture of Digital Transformation that is happening all around us.

Now that you know what kinds of Digital Transformation are taking place, along with concrete examples of Digital Transformation in the real world, hopefully that inspires you to re-imagine what you can do in a mobile-first, cloud-first world.

You Might Also Like

All Digital Transformation

Digital Transformation Defined

Reimagine Your Customer Experience

Reimagine Your Operations

Satya Nadella on Digital Transformation

Categories: Architecture, Programming

Googlers on the road: OSCON 2016 in Austin

Google Code Blog - Mon, 05/09/2016 - 20:32

Originally posted on Google open source Blog

By Josh Simmons, Open Source Programs Office

Developers and open source enthusiasts converge on Austin, Texas in just under two weeks for O’Reilly Media’s annual open source conference, OSCON, and the Community Leadership Summit (CLS) that precedes it. CLS runs May 14-15 at the Austin Convention Center followed by OSCON from May 16-19.

OSCON 2014 program chairs including Googler Sarah Novotny.
Photo licensed by O'Reilly Media under CC-BY-NC 2.0.
This year we have 10 Googlers hosting sessions covering topics including web development, machine learning, devops, astronomy and open source. A list of all of the talks hosted by Googlers alongside related events can be found below.
If you’re a student, educator, mentor, past or present participant in Google Summer of Code or Google Code-in, or just interested in learning more about the two programs, make sure to join us Monday evening for our Birds of a Feather session.

Have questions about Kubernetes, Google Summer of Code, open source at Google or just want to meet some Googlers? Stop by booth #307 in the Expo Hall.

Thursday, May 12th - GDG Austin7:00pm   Google Developers Group Austin Meetup

Sunday, May 15th - Community Leadership Summit10:00am  Occupational Hazard by Josh Simmons

Monday, May 16th9:00am   Kubernetes: From scratch to production in 2 days by Brian Dorsey and Jeff Mendoza7:00pm   Google Summer of Code and Google Code-in Birds of a Feather

Tuesday, May 17th9:00am   Kubernetes: From scratch to production in 2 days by Brian Dorsey and Jeff Mendoza9:00am   Diving into machine learning through TensorFlow by Julia Ferraioli, Amy Unruh and Eli Bixby

Wednesday, May 18th1:50pm    Open source lessons from the TODO Group by Chris DiBona, Chris Aniszczyk, Nithya Ruff, Jeff McAffer and Benjamin VanEvery5:10pm    Scalable bidirectional communication over the Web by Wenbo Zhu

Thursday, May 19th
11:00am  Kubernetes hackathon at OSCON Contribute hosted by Brian Dorsey, Nikhil Jindal, Janet Kuo, Jeff Mendoza, John Mulhausen, Sarah Novotny, Terrence Ryan and Chao Xu2:40pm    Blocks in containers: Lessons learned from containerizing Minecraft by Julia Ferraioli5:10pm    PANOPTES: Open source planet discovery by Jennifer Tong and Wilfred Gee5:10pm    Stop writing JavaScript frameworks by Joseph Gregorio

Haven’t registered for OSCON yet? You can knock 25% off the cost of registration by using discount code Google25, or attend parts of the event including our Birds of a Feather session for free by using discount code OSCON16XPO.

See you at OSCON!

Categories: Programming

SPaMCAST 393 ‚Äď Mix Tape 2010, Foy, Reinertsen, Jacobson



Listen Now

Subscribe on iTunes

One last week in mixtape format! I am completing a trip that is a mixture of vacation and a board meeting but that does not mean you have to forego your weekly SPaMCAST.¬† In place of our normal format I am posting a mix tape of the answers to the ‚ÄúIf you could change two things‚ÄĚ question I have been asking interviewees for nearly ten years.¬† This week on SPaMCAST 393 we feature our top downloaded podcasts from the year 2010:

SPaMCAST 85 ‚Äď Cory Foy on Agile Coaching



Cory used his wishes to discuss the obsession with certification rather than performance and bring user into making critical business decisions so that usability is maximized.

SPaMCAST 92 ‚Äď Don Reinertsen on Product Development Flow



Don used his wishes to ask that people understand the economics of product development and then to use that understanding to measure and reduce WIP queues.

SPaMCAST 94 – Ivar Jacobson on SEMAT



Ivar discussed the SEMAT core defining software engineering and how SPaMCAST listeners can support the development of SEMAT.

If these excerpts tickled your fancy listen to the whole interview by clicking on the links shown above.

Next week we will return to regular programming with a thought provoking interview.

Categories: Process Management

SPaMCAST 393 ‚Äď Mix Tape 2010, Foy, Reinertsen, Jacobson

Software Process and Measurement Cast - Sun, 05/08/2016 - 22:00

One last week in mixtape format! I am completing a trip that is a mixture of vacation and a board meeting but that does not mean you have to forego your weekly SPaMCAST.¬† In place of our normal format, I am posting a mix tape of the answers to the ‚ÄúIf you could change two things‚ÄĚ question I have been asking interviewees for nearly ten years.¬† This week on SPaMCAST 393 we feature our top downloaded podcasts from the year 2010:

SPaMCAST 85 ‚Äď Cory Foy on Agile Coaching



Cory used his wishes to discuss the obsession with certification rather than performance and bring user into making critical business decisions so that usability is maximized.

SPaMCAST 92 ‚Äď Don Reinertsen on Product Development Flow


Don used his wishes to ask that people understand the economics of product development and then to use that understanding to measure and reduce WIP queues.

SPaMCAST 94 - Ivar Jacobson on SEMAT


Ivar discussed the SEMAT core defining software engineering and how SPaMCAST listeners can support the development of SEMAT.

If these excerpts tickled your fancy listen to the whole interview by clicking on the links shown above.

Next week we will return to regular programming with a thought provoking interview.

Categories: Process Management

How to Estimate Any Software Problem

Herding Cats - Glen Alleman - Sun, 05/08/2016 - 20:13

The conjecture of #NoEstimates starts with the first Tweet

No Estimates

This conjectures - (there are) ... ways to make decisions with No Estimates ... is not founded on any principle of business management, microeconomics of decision making, or principles of probability and statistics. It's a fallacy.

Let's start with a simple approach to exploring  for anything?

  • What are we looking for?¬†It says we're looking for An Alternate Way to make¬†decisions¬†- in the presence of uncertanty. Uncertainty of course is present in all software development work¬†both¬†reducible and irreducible¬†uncertainty.
  • How will we recognize it when we encounter it?¬†Any expectations for what we'll¬†find? Any expectations of how to measure if what we¬†found is what we're¬†actually looking for?
  • Once we find it, how can we test that what we found is actually of use to anyone other than us?¬†The use of anecdotes is to collect a sample of One from an Unknown population and consider it representative of as evidence of our hypothesis.

The Hypothesis might well be (if there was one) is ... can we make a decision in the presence of Uncertainty without making an estimate of the impact or outcome of that decision?

Let's put aside for the moment the missing principles of managerial finance, probabilistic decision making, microeconomics of decision making, Real Options, Bayesian decision networks, and other decision making processes used in modern business when spending other people's money. And ask a simple question...

What would be the evidence that we could make decisions in the presence of uncertanty without estimating the impacts and outcomes of those decisions? 

The Myths of No Estimates and the busting of them is one purpose of this blog post. Here are some books and papers that can provide you with all the tools needed to learn to estimate in the presence of uncertainty. As well these books and papers can show you the snake oil salesman's fallacy that estimates are hard, are a waste, and aren't needed to make decisions in the presence of uncertainty. 

Reading Materials

Before listening to any conjecture that estimates aren't needed to make decisions in the presence of Uncertainty for software development, please read these books. Ask the person making those conjectures if they have read the books. Ask to see the marked up, sticky noted, tabbed copy of the book and the notes they made from the content. If not, walk away. They are not informed by the principles of spending other people's money.


Before we start, let's look with the notion of estimation. A Guess is uninformed by experience, skill, or data. An estimate is.

This is a simple book that will show how to estimate most everything. Start here. Read the entire book,. Learn how to think as an estimator.

Take that experience and start making estimates for software projects. Then and only then ask yourself why do people claim estimates are wrong, why is estimating hard. And you'll know the answer - they have no experience, they have no skill, they have no knowledge of how estimates can be made. Then you'll know. It's not that estimates  that are smell of dysfunction, it's the unskilled, inexperienced, untrained, uninformed, unknowledge people making those unsubstantiated claims. 

Hard Fact Dangerous

The next learning opportunity is to realize how much nonsense is floating around about not estimating. Here's the start for that understanding.

Managing a business profitably is always hard work. There are intense pressures,¬†incomplete information about what‚Äôs happening in the marketplace and an army of¬†consultants, advisors and others who come along with new ideas every day. Under¬†these conditions, it isn‚Äôt surprising managers sometimes fall victim to hype about¬†‚Äúmiracle‚ÄĚ cures for management challenges or simply adopt the ‚Äúbest practices‚ÄĚ of other¬†successful companies. The result is sometimes poor-quality decisions are made which¬†end up wasting time and money which are badly needed elsewhere.

This book was handed out by Jeff Sutherland at the State of Agile conference as an indication of how agile has come to represent sloppy thinking on behalf of many of its advocates. 

How Many Licks

Here's a start of actually estimating in a credible manner, using tools available to anyone. 

Start here to learn how simple it is to estimate things. Things you have never seen before. Things you have never done before Using Enrico Fermi’s theory of approximation.

The Fermi estimate, or order estimation is an estimation problem, teaches dimensional analysis, approximation, using a back-of-the-envelope calculation. The estimation technique, named after physicist Enrico Fermi, makes good approximate calculations with little or no actual data. Fermi problems typically involve making justified guesses about quantities and their variance or lower and upper bounds.

There is no excuse for not learning how to apply this approach to software development.

Economics of Itertaive SW Development

With the basic concept that estimates are straightforward, this book shows the economics of managing iterative development. Here estimates are part of planning and measuring progress.

The book speaks to assessing the technical viability of the system and the overall cost to achieve that technical viability.

These are core business processes for the success of any investment. And of course based on making decisions in the presence of uncertainty.

Estimarting SW Intensive Systems

Now that we've established with the above sources there are conjectures without basis, nonsense statements like estimates are the smell of dysfunction without ever stating what the dysfunction is or what could possibly be causing the dysfunction, here's the place to start for serious estimating for software intensive systems.

A de minimis software project rarely benefits from estimates. Willfully bad management rarely benefits from learning how to estimate. If you customer has no real value at risk, of has no real concern about showing up on time to start accruing the business value in exchange for the cost to produce that value, then estimates are unlikely to be needed.

Agile Estimating and Planning

This is a seminal book on estimating. It provides the background and the practices needed to estimate Agile projects.

Mike shows why traditional processes fail and why agile approaches work. It's standard Feature Story breakdown but with the reasoning behind the processes.

SW Estimating

This is the other seminal book on estimating.

Between these two books, you'll find need to know to make credible estimates for the development of software using Agile. The book claiming to show hwo to improve your project performance by 10X is so riddled full of holes, it's worthless. Don't waste your money on it. For the same price as that book, you can own both Mike's and Steve's books with field proven examples rather than fictitious anecdotes of bad management practices.

Probability methods for cost uncertainty analysis

All project work is probabilistic. Some probabilities are event based, some are statistically based. Cost is always a driving consideration for how products are built, delivered, and sustained. A critical success factor for all software project work is cost and the associated schedule. Showing up on or near the needed time at or near the planned cost is simple business. Anyone saying cost is not important is not accountable for the business success of the development. Ignore them, they have no seat at the business management table.

If we come out late with the product we lose revenue needed to meet the business plan. If we spend more than planned, we erode profit and fail to meet the business plan.

Both these variables - cost and schedule - along the the needed technical performance to meet the expected acceptance of the product are probabilistic. Estimates are needed to inform the decision makers of the Probability of Success of the product.

 Estimating SW Costs

Setting the date before the project is planned is the oldest root cause of project failure. Not having some sense of the scope of work, the effort needed to produce that scope, and the capacity for the development to produce the needed features for that scope is in the same class of failure modes. 

Ignoring the need to have estimates of effort, time, and cost is not only bad project development it is bad business management.

Any suggestion that decisions can be made in the presence of project uncertanty without estimates willfully ignores these principles. 

Large Scale Scrum

Large Scale Scrum (Less) is a framework for scaling Scrum to the enterprise. In the Less method, estimates are part of the Product Backlog Refinement. This process:

  • Split big items,
  • Does a light weight analysis for basic understanding,
  • Estimates the items,
  • Identifies strongly related items to reveal shared work, common work, or coordinated work.
Agile IT Org

Agile at Scale is not the same as small agile teams. Governance drives processes in Agile at Scale. Governance can be ignored or even flaunted for small self contained teams. Organizing for responsiveness to external business drivers at scale means additional cost must be absorbed to govern in the presence of these externalities. 

Agile at Scale also means dealing with architecture - technical architecture,process architecture, business architecture. Managing in the presence of all these uncertainties mandates we estimate the impact of these decisions. At scale without estimating the work processes turn into chaos.

Agile Project Management

This is one of the books that started it all. In Highsmith's books he calls out explicitly the need for estimating and some of the steps to do it.  

Any enterprise agile development operating inside a corporate governance process requires knowing something about the outcomes of the work effort. The cost, the expected delivery date, and the expected business value produce for the cost. The time cost of money is a foundation of business decision making.

O those paying you have no need to know the time cost of money, how much it will cost, what the possible business value will be and when you might be done, then estimating is not needed.

How to Measure Anyhting

Anyone suggesting you can't estimate must read this book to learn that conjecture is false - patently false - and learn how to actually make estimates of anything. 

What I've found is when there are statements like all estimates are wrong, we can't estimate, estimates are misused is that those making those conjectures aren't actually informed how good estimates are made. 

So instead of learning about estimates, they fall into the fallacy of #Noestimates.

Forecasting and Simulating

This is another book that if the #Noestimates advocates had read on day one of their exploring they would have found the destination and stopped spouting all the nonsense about the smell of dysfunction.

Troy combines all of my favorite topics - mathematics of project management, monte carlo simulation - the actual monte carlo simulation, not the bogus sampling of past performance advocated by some No estimator's, and a logical, clear, and concise approach to making estimates in the presence of uncertanty to inform the decision makers when spending their money.

Facts and Fallacies of SW

There are many fallacies in the software development world. Many of these fallacies go unchecked, unaddressed, unchallenged. 

Here's where to start learning about the fallacies and their facts. 

This is a similar issue with #Noestimates. This starts with the missing principle by which a decision can be made in the presence of uncertanty without estimating. Attempts to question these missing principles, results in further fallacies being put forward, along with labeling anyone probing further for the missing principle as aggressive, rude.

Software Cost Estimating with COCOMO II

 This is the basis of software estimating. It's been updated for agile.

Read it first, then read the agile updates. Learn how to use numbers, models, evidence, tools to estimate in the presence of uncertanty.

This is how non-trivial projects are managed. Anyone suggesting this is olde school hasn't done their homework to earn the position to be critical of the contents.


Spending other people's money involves governance of those decisions.

Governance by its definition is about decision rights

Who gets to the decide what is needed, when it is needed, how much it could cost (affordability). These decision rights are almost alwasy assigned to those paying for the outcomes.

The #NoEstimates advocates would have those decision rights transferred to those who spend, by suggesting estimates are a waste. Without stating who they are waste to. It is very unlikely they are a waste to those provided the funds that enable the #NoEstimates advocates to produce the software needed by those providing the funds.

It's illogical to invert this relationship between those paying and those spending. 

Forecasting Methods

Now we're into the heavy lifting of estimating. Yes estimating is forecasting. Forecasting is an integral part of the decision making activities of management. The organization establishes goals and objectives to produce outcomes from its decisions. The need to forecast (estimate future outcomes) is based on management's need to decrease its dependence on chance and become more predictive  in dealing with the uncertainty it encounters.

We're now down to the core processes of making decisions in the presence of uncertainty. This is how business operates. Anyone conjecturing that decisions can be made in the presence of uncertanty without estimating - forecasting is estimating outcomes in the future - needs to stop and learn more.

Learn how business actually works. Not just assume that some who make an unsubstantiated statement about estimates are the smell of dysfunction has any credibility when spending other people's money. It's time to call BS on the notion of #NoEstmates.

 Along with these books here's a collection of papers and articles showing how to estimate on agile development projects and how to avoid the Snake Oil Sales Pitch of #NoEstimates

Evm+agile estimating from Glen Alleman So stop listening to the fallacy that estimates aren't needed to make decisions. And start learning to estimate and be a proper steward of your customers money. Screen Shot 2016-05-08 at 9.20.50 AM

 Related articles

Risk Management is How Adults Manage Projects Making Choices in the Absence of Information Decision Analysis and Software Project Management Risk Management is Project Management for Adults Economics of Software Development How Not To Make Decisions Using Bad Estimates Complex, Complexity, Complicated Software Engineering is a Verb Making Conjectures Without Testable Outcomes
Categories: Project Management

An Agile Coach’s Influence Gravity Well


Every moon, planet, and sun in the universe pulls on every other moon, planet and sun; the size and distance between the objects impact the degree of influence. Each object exerts a gravitational pull, the stronger the pull the bigger and deeper the pull, a gravity well. The organizational influence of that any individuals exerts is something akin to a gravitational pull. Each person is a gravity well and their pull influences those around them. How can we map the influence of a coach? The answer depends on whether we are talking about the influence on how work is being done or the influence on organizational goals.  Hierarchically, coaches fit between IT management and the business and Scrum teams. Coaches exert influence on IT and business management who control organizational goals. They influence the Scrum teams who control how work is done. The amount of influence a coach exerts depends on how they are perceived within the organization. Coaches are part of the Agile gravity well between teams and management, drawing them both closer to the values and principles of Agile.

Agile coaches help teams and organizations embrace Agile and help maximize the delivery of business value. Coaches, whether internal or external, sit between IT management and the team acting as liaisons or middlemen.  At times this can feel like limbo. By definition coaches do not belong to either group, but their job is to influence all layers of the Agile organization. Coaches exert influence both up and down the hierarchy. Coaches influence up the hierarchy Рthey help IT management refine their interpretation and implementation of the Agile principles. And down the hierarchy, Coaches influence teams by offering advice and ideas for implementing new techniques.

The greater the professional gravitas of the coach, the closer the coach can draw the Scrum Teams and management to the values and principles of Agile. Coaches need to manage how they are perceived within the organization. Professional seriousness and importance draw management and practitioners together so help change and motivate the organizations they support.  Coaches help organizations and teams work better; they draw people together deepening the gravity well of Agile in organizations and teams.

Categories: Process Management

Your Own Personal WiFi Storage

Coding Horror - Jeff Atwood - Sat, 05/07/2016 - 07:42

Our kids have reached the age – at ages 4, 4, and 7 respectively – that taking longer trips with them is now possible without everyone losing what's left of their sanity in the process. But we still have the same problem on multiple hour trips, whether it's in a car, or on a plane – how do we bring enough stuff to keep the kids entertained without carting 5 pounds of books and equipment along, per person? And if we agree, like most parents, that the iPad is the general answer to this question, how do I get enough local media downloaded and installed on each of their iPads before the trip starts? And do I need 128GB iPads, because those are kind of expensive?

We clearly have a media sharing problem. I asked on Twitter and quite a number of people recommended the HooToo HT-TM05 TripMate Titan at $40. I took their advice, and they were right – this little device is amazing!

  • 10400mAh External Battery
  • WiFi USB 3.0 media sharing device
  • Wired-to-WiFi converter
  • WiFi-to-WiFi bridge to share a single paid connection

The value of the last two points is debatable depending on your situation, but the utility of the first two is huge! Plus the large built in battery means it can act as a self-powered WiFi hotspot for 10+ hours. All this for only forty bucks!

It's a very simple device. It has exactly one button on the top:

  • Hold the button down for 5+ seconds to power on or off.
  • Tap the button to see the current battery level, represented as 1-4 white LEDs.
  • The blue LED will change to green if connected to another WiFi or wired network.

Once you get yours, just hold down the button to power it on, let it fully boot, and connect to the new TripMateSith WiFi network. As to why it's called that, I suspect it has to do with the color scheme of the device and this guy.

I am guessing licensing issues forced them to pick the 'real' name of TripMate Titan, but wirelessly, it's known as TripMateSith-XXXX. Connect to that. The default password is 11111111 (that's eight ones).

Once connected, navigate to in your browser. Username is admin, no password.

This interface is totally smartphone compatible, for the record, but I recommend you do this from a desktop or laptop since we need to upgrade the firmware immediately. As received, the device has firmware 2.000.022 and you'll definitely want to upgrade to the latest firmware right away:

  • Make sure a small USB storage device is attached – it needs local scratch disk space to upgrade.
  • You'd think putting the firmware on a USB storage device and inserting said USB storage device into the HooToo would work, and I agree that's logical, but … you'd be wrong.
  • Connect from a laptop or desktop, then visit the Settings, Firmware page and upload the firmware file from there. (I couldn't figure out any way to upgrade firmware from a phone, at least not on iOS.)

For this particular use, so we can attach the storage, leave it attached forever, and kinda-sorta pretend it is all one device, I recommend a tiny $32 128GB USB 3.0 drive. It's not a barn-burner, but it's fast enough for its diminutive size.

In the past, I've recommended very fast USB 3.0 drives, but I think that time is coming to an end. If you need something larger than 128GB, you could carry a USB 3.0 enclosure with a traditional inexpensive 2.5" HD, but the combination of travel and spinning hard drives makes me nervous. Not to mention the extra power consumption. Instead, I recommend one of the new, budget compact M.2 SSDs in a USB 3.0 enclosure:

I discovered this brand of Phison controller based budget M.2 SSDs when I bought the Scooter Computers and they are surprisingly great performers for the price, particularly if you stick with the newest Phison S10 controller. And they run absolute circles around large USB flash drives in performance! The larger the drive, believe me, the more you need to care about this, like say you need to quickly copy a bunch of reasonably new media for the kids to enjoy before you go catch that plane.

Settings and WiFi

Let's continue setting up our HooToo Tripmate Titan. In the web interface, under Settings, Network Settings, these are the essentials:

  • In Host Name, first set the device name to something short and friendly. You will be typing this later on every device you attach to it. I used mully and sully for mine.

  • In Wi-Fi and LAN

    • pick a strong, long WiFi password, because there's very little security on the device beyond the WiFi gate.

    • set the WiFi channel to either 1, 6, or 11 so you are not crowding around other channels.

    • set security to WPA2-PSK only. No need to support old, insecure connection types.

There's more here, if you want to bridge wired or wirelessly, but this will get you started.


Connect to the HooToo's WiFi network, then type in the name of the device (mine's called sully) in Explorer or the File Run dialog, prefixed by \\.

The default user accounts are admin and guest with no passwords, unless you set one up. Admin lets you write files; guest does not.

Once you connect you'll see the default file share for the USB device and can begin browsing the files at UsbDisk1_Volume1.


I use the File Explorer app for iOS, though I am sure there are plenty of other alternatives. It's $5, and I have it installed on all my iOS devices.

Connect to the HooToo's WiFi network, then add a new Windows type share via the menu on the left. (I'm not sure if other share types work, they might, but that one definitely does.) Enter the name of the device here and the account admin with no password. If you forget to enter account info, you'll get prompted on connect.

Once set up, this connection will be automatically saved for future use. And once you connect, you can browse the single available file share at UsbDisk1_Volume1 and play back any files.

Be careful, though, as media files you open here will use the default iOS player – you may need a third party media player if the file has complex audio streams (DTS, for example) or unusual video encoders.


For some reason, with a USB 3.0 flash drive attached, the battery slowly drains even when powered off. So you'll want to remove any flash drive when the HooToo is powered off for extended periods. I have no idea why this happens, but I was definitely able to reproduce the behavior. Kind of annoying since my whole goal was to have "one" device, but oh well.

This isn't a fancy, glitzy Plex based system, it's a basic filesystem browser. Devices that have previously connected to this WiFi network will definitely connect to it when no other WiFi networks are available, like say, when you're in a van driving to Legoland, or on a plane flying to visit your grandparents. You will still have to train people to visit the File Explorer app, and the right device name to look for, or create a desktop link to the proper share.

But in my book, simple is good. The HooToo HT-TM05 TripMate plus a small 128GB flash drive is an easy, flexible way to wirelessly share large media files across a ton of devices for less than 75 bucks total, and it comes with a large, convenient rechargeable battery.

I think one of these will live, with its charger cable and a flash drive chock full of awesome media, permanently inside our van for the kids. Remember, no matter where you go, there your … files … are.

[advertisement] Building out your tech team? Stack Overflow Careers helps you hire from the largest community for programmers on the planet. We built our site with developers like you in mind.
Categories: Programming

Stuff The Internet Says On Scalability For May 6th, 2016

Hey, it's HighScalability time:

Who wants in on the over? We are not alone if the probability a habitable zone planet develops a technological species is larger than 10-24.


If you like this sort of Stuff then please support me on Patreon.
  • 100,000+: bare metal servers run by Twitter; 10 billion: Snapchat videos delivered daily; $2.57 billion: AWS fourth quarter revenues; 40 light years: potentially habitable planets; 1700: seed banks around the world; 560x: throughput after SSD optimization; 12: data science algorithms; $2.8 billion: new value of Pivotal’s Cloud Foundry;  

  • Quotable Quotes:
    • @skap5: Pied Piper's product is its stock and anything that makes its price go up! #SiliconValley
    • Seth Godin: It pays to have big dreams but low overhead. 
    • Craig Venter~ Our knowledge of the genome hasn't changed a lot since 2003, but it's about to start changing rapidly. One of the key things for understanding the genome is to get very large numbers of genomes so we can understand out of the 6.2 billion or so letters of genetic code the less than 3% that we have different amongst the entire human population. We need very large data sets to understand the differences and significances. That's where the cost and speed of sequencing has had such an immediate impact. 
    • @elonmusk: Rocket reentry is a lot faster and hotter than last time, so odds of making it are maybe even, but we should learn a lot either way
    • @EconBizFin: The space race was once between capitalism and communism. Now it's individual capitalists
    • Grit: substitute nuance for novelty. Rather than constantly moving on to a new thrill try to find another dimension of the thing you are already doing to make it more thrilling. 
    • David Rosenthal: Overall the message is: Storage Will Be Much Less Free Than It Used To Be
    • StorageMojo: The losers are the systems that make customers pay for features they no longer need. Winners will successfully blend ease of use with performance and availability – at a competitive price.
    • Tim Harford: These distractions were actually grists to their creative mill. They were able to think outside the box because their box was full of holes.
    • Juan Enriquez~ Plastics was the wrong advice to Dustin Hoffman in The Graduate. The word should have been silicon. In 2015 the word is lifecode, the various means we have to program life.
    • Benjamin Treynor Sloss: If you've ever wondered about how run reliable services, this beautifully written intro from the SRE book is the best 5-minute guide on the topic.
    • cs702: Without AWS, Amazon would have reported losses! 
    • Kode Vicious: A single cache miss is more expensive than many instructions.
    • @aminggs: “your database… unlikely to provide serializability, your multi-core processor… unlikely to provide linearizability” 
    • @mrogati: A decade in academia taught me a bunch of sophisticated algorithms; a decade in industry taught me when not to use them.
    • @mjpt777: Hardware tries so hard to make software fast; software tries so hard to make hardware slow.
    • @jyarow: Echo sold 3 million units. Gets stories that it’s next great business for Amazon. Apple Watch sold 12 million units, gets panned as a flop.
    • @balajis: 5/ At that time, the highest truth comes not from faith in god or trust in the state, but from the ability to check the math of the network.
    • Benedict Evans: The smartphone install base does have a lot of room to grow, but that's a function of replacement at close to existing volumes, and even that will be largely done in a few more years. Hence: smartphone sales growth is slowing down. 
    • @giupan: Colocated teams where Devs are sitting together with Product and UX outperform distributed teams. Don't split up skills @cagan #craftconf
    • Mathias Bynens: To me, this stuff is extremely interesting on a technical level. It’s also a little scary, however, to realize that malicious actors can use these techniques to invade your privacy while you’re browsing the web, without you ever knowing.
    • Le Corbusier: yes, the Parthenon is perhaps the most beautiful instance, the perfect example of a particular standard of architecture. The Parthenon may have achieved the platonic ideal of the standard of architecture we’ve previously established. But there are many possible standards to acknowledge, each dependent on need and use, and standards are established by experiment.
    • PaulHoule: Atom chips have always been crippled to keep them from cannibalizing more expensive chips. Skylake is a fine tablet chip, in fact, that's really what Skylake is good for. They are probably producing them in high enough numbers now that they can give up on Atom
    • Chau Tu: CyArk wants to preserve our world’s important cultural heritage sites before they turn to dust...with new imaging technologies to steadily build a digital archive of the past, for the future. 
    • Neill Turner: Over time i think OpenStack will be a niche product for large corporates that don’t want to use public clouds. For everyone else they with be doing hybrid IT – that is extending their existing IT infrastructure into the Public Cloud. When they see what is left to run to run outside public clouds then they can see where to take that portion of the workloads.

  • What if going to Mars is how we fix our economy? Trump: Before going to Mars, America needs to fix its economy. A problem can't be solved at the same level it was created. Someone smart said that once. Isn't expanding the economy in to space the only way we'll be able to generate the constant growth a modern economy so desperately devowers? Walls don't lift boats.

  • Is it dystopian to hire real meat people to train your AI? Interesting question posed by John Robb in a tweet: "they were there not to work, but to serve as training modules for Facebook’s algorithm" Journos at Fbook

  • Peter Bailis offers in a heartfelt visionary article four pieces of advice to get the database community out of its identity crisis: 1) Kill the reference architecture and rethink our conception of “database.” 2) Solve new, emerging, real problems outside traditional relational database systems. 3) Use data-intensive tools, both the tools that you’re building and the tools that others have built. 4) Do bold, weird, and hard projects and actually follow through. Examples in action: Peter Alvaro’s work on Molly and Lineage-Driven Fault Injection; Chris Ré’s work on DeepDive; A recent project I wish the database community had done is TensorFlow at Google. 

Don't miss all that the Internet has to say on Scalability, click below and become eventually consistent with all scalability knowledge (which means this post has many more items to read so please keep on reading)...

Categories: Architecture

Why Engage An External Coach?


Why would a team and/or organization want an external coach? In previous entries¬†we have discussed the attributes of a good coach ¬†and what a coach delivers, all of which may have whetted your whistle. However, it¬†doesn’t¬†answer the question why you would seek out an external coach. An external coach brings new ideas to the table, different perspectives and a shot of energy.

Software development in general, and Agile specifically, is evolving a rapid pace. New techniques and concepts are developed, vetted and deployed across the globe. Some of those ideas may work for your organization, but if you don’t know they exist, you can’t try them. External coaches, the honey bees of Agile, are a conduit for new ideas to be introduced into a team or organization. I am using the metaphor of a bumblebee to reelect the itinerant nature of coaches  (Coaching techniques used: training and mentoring).

Teams and projects get stuck. Enter the external coach, who can provide a different perspective and to help define a path forward. Often the ability to see a problem or situation with a fresh set of eyes is all that is needed to identify new options or solutions. (Coaching techniques used: cajoling, arbitrating and mentoring).

After teams or organizations implement Agile (or any major development framework), and have begun to accrue the benefits of the implementation, it is easy to relax and get complacent. Complacency is dangerous. An external coach can provide a fresh shot of energy that can keep the transformation moving. (Coaching techniques used: consulting and mentoring.)

Why would you invest in an external coach? External coaches bring new ideas, perspectives and energy into the mix to keep teams and organizations moving forward. As soon as you stop moving forward entropy will set in, and effectiveness and efficiency will suffer.

Categories: Process Management

What is the Secret to Insane Productivity?

Productivity is truly an advantage.  Imagine if you had boundless energy and could tackle your challenges with all that you are capable of.

What if you could double, triple or maybe even 10X your productivity?

Maybe you can.

But how do you take your productivity to the next level?

In What is the Secret to Insane Productivity, I walk through what it takes to achieve high levels of performance, but I want to summarize some of the key insights here.

One of the most overlooked challenges to your personal productivity is your energy level.  You can chase a bunch of mental tricks, and you can try to organize the heck out of everything you do, and you can apply extreme prioritization, and you can add in some extreme motivation, but if you don‚Äôt have the energy you need, you won‚Äôt get very far.

The key is that you have multiple sources of energy.  Start with your body.   If you start to move more, you generate more energy.  Energy isn‚Äôt something you just have.  It‚Äôs something you create.  But you have to kick start your energy factory and the key to that is to move more often.  It could be as simple as parking a little further away, getting up for quick walks, or adding a 20 or 30 minute workout in the morning.

Even Richard Branson says the secret of his extreme productivity is working out.

You can also draw energy from your mind, emotions, and spirit.  So if your body is primed and ready for action, but you have a way of knocking yourself down with negative self-talk, that‚Äôs not going to help.  The easiest way to deal with negative self-talk is to talk about to your negative thoughts.  That‚Äôs right, challenge them.  This is not a new idea.  In fact, this is a proven practice used by many of the world‚Äôs best counselors and coaches to help people get out of depression, defeat limiting beliefs, and find new levels of motivation, inspiration, and boundless energy.

Creating better energy for high performance is a a matter of both reducing negative energy drains, and adding rituals and routines that make you come alive.  A quick way to do this is to stop or limit doing the things that drain you and spend more time in your strengths.  Spend much more time in the things that you could do all day.  And then use your strengths as your creative twist to add more value in everything you do.  This is how you become unstoppable.

Energy is truly the secret of insane productivity because you can’t get more hours in a day, but you can add more energy to everything you do.

But like anything, there is no silver bullet.

So what else really makes the difference when it comes to high performance and insane productivity?

Your strategies.  Your techniques.  There are ways to do things better, faster and cheaper.  And experts around the world know them.  And they tend to share them.  They write them in books.  They share them in videos.  They are all around you.  They might be the unsung hero down the hall.  How do you find them?  You start to look for them.  You ask.  You will soon find the people that will help you take your game to the next level, as they share their best strategies and techniques with you.

OK, now.

So you have this boundless energy.  You are spending time in your strengths.  You have these super strategies and techniques for high performance.  

Have you nailed it?

Are you now super productive?

Well, there is another key you need in your arsenal of insane productivity.   There is one more true secret that is underlies exponential productivity.

The answer is this:

Value is the ultimate short cut.

And value is in the eye of the beholder or stakeholder.

When you know what is truly valued, you can trim away all the waste and want not.

So now then, how do you figure out what‚Äôs actually valued?  What is really valued by the system you are in, by your customers, by your team, by your partner, by your friends, by whoever?

Well, one way is to ask.  (Yeah, it sounds simple, but you‚Äôd be surprised by how many people don‚Äôt actually do this.   Did you ever get a gift somebody swore you would love?)

But people don‚Äôt always know.  If Ford asked his customers what they wanted, they would have said faster horses.

And value changes.  Time changes what‚Äôs important.  And ultimately the value is in the change.  So if you aren‚Äôt changing, you aren‚Äôt creating new value.

So then, how do you pursuit value?

You treat value like a verb.

Act on it.  Test it.  Learn it.

Create rapid learning loops where failure is OK and learning is valued.

Learn your way forward.

The value you create in your wake will fill a void in the world that will be your unique dent in the universe.

Categories: Architecture, Programming

Goodbye, Knowledge Workers. Welcome, Creative Workers!

NOOP.NL - Jurgen Appelo - Wed, 05/04/2016 - 17:34

Twenty years ago, I taught people how to develop their own templates, macros, and solutions in Microsoft Office programs. It was good business, for a few years. But rapid innovation in desktop software quickly eroded my business model. Deep knowledge of Office products became useless and I had to move on to other ideas.

We can see the same happening across many industries and business models nowadays.

I don’t need highly-paid photographers anymore because it’s easier than ever to take great photos with my smartphone. I hardly need my accountant because better software takes care of all the simple bookkeeping rules and answers to complicated questions can easily be found online. And I don’t need to understand how to design my blog because talented, affordable designers can be found all over the world through online marketplaces.

In this century, there is less need to know things and more need to make things.

The half-time of knowledge has been shrinking steadily over a decade or two. Has anyone recently read a manual for a tool or application? For me, the last time was five years ago, when I bought a digital camera. The only thing I remember from the manual was how to set picture quality to automatic. This turned out to be a fine setting for 99% of the photos I took with it, for two years, until smartphones stole its job.

In the 21st century, there is little value in knowing how to use a tool because tools emerge and disappear faster than piercings in a teenager’s body. The value now is in making great-looking photos with any tool you happen to have in your hands. Likewise, there is little value in knowing which tax rules to apply to which invoices. The value is in making the software that does this automatically for its users. And maybe there is some value in knowing HTML for ordinary writers and publishers. But the real value is in making blog posts and articles that are so inspiring or remarkable that they get many views.

All of this means that Peter Drucker’s knowledge workers are on their way out. Investing in knowledge and then trying to charge a good price putting this knowledge to good use is a dead business model. Knowledge can be found everywhere, at almost no cost. This century is for creative workers, who invest their time in experimentation and practice¬†while continuously updating and replacing their knowledge.

Thanks to ubiquitous information, the knowledge economy has turned into the creative economy.

photo: (c) 2016 Jurgen Appelo

The post Goodbye, Knowledge Workers. Welcome, Creative Workers! appeared first on NOOP.NL.

Categories: Project Management

A Working Definition of Agile

In a recent workshop, a¬†participant asked me, “What does agile mean? How do you know if you are agile?” He wants to use kanban to see the flow of work through his group. Someone told him he needed to use iterations to be agile. (I had a little rant about this in¬†What Does Agile Mean to You?)

I suggested this could be his working definition:

  • You can deliver what you want (some form of value).
  • You can deliver that value ¬†when you want.
  • You can then change to the next most important chunk of valuable work.
  • You learn from the previous work you did, both about the work and the process of doing the work.

That’s not all agile is, but it might be a good working definition. If you work towards being able to deliver what and when you want, move to the next thing, and learn, you have the feedback cycles. (You might also look at the agile principles behind the Manifesto.)

These are practices that increase your agile capabilities:

  • Iterations, because they limit the work a team can commit to in a given time period.
  • Kanban with work in progress limits, because they limit the work a team can do, and show the flow of work.
  • Retrospectives because you learn from previous work. (Someone important said if they only did one practice it would retrospectives. I can’t remember who said that. Sorry.)
  • Standups because they reinforce micro-commitments to finishing work.
  • Technical excellence practices from XP, because they make changing the code and tests easier.

You don’t need any of these to be agile. They help. You might find other practices to be more helpful in your context.

I have some previous posts that might be interesting if you also are wondering what agile means for you:

For me, practices are interesting, especially if I choose to experiment with them. What could I do to increase my throughput and learning, and therefore, my ability to adapt? Agile is not about specific practices. It is about a mindset of finishing small valuable chunks, feedback, and change.

Categories: Project Management