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=6' 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.

Big data in the cloud – welcome to cost oriented design

A couple of weeks ago I presented @ BDX2016

The slides are available on Slideshare

Big data in the cloud – welcome to cost oriented design from Arnon Rotem-Gal-Oz

The video is now on YouTube

Note that the first minute or so is missing – It misses the intro and  it starts toward the end of the second slide where I end my disclaimer that cost oriented design != cheap (only hopefully cheaper) costs.

Categories: Architecture

Stuff The Internet Says On Scalability For April 1st, 2016

Hey, this is no joke, it's HighScalability time:


A glorious battle in EVE. Tens of thousands of pilots fighting tens of thousands of pilots in a real time all on a single shard.

 

If you like this sort of Stuff then please consider offering your support on Patreon.
  • $9.3B: punishment for Google's temerity of using Java; 200: computer scientists and neuroscientists at Google’s DeepMind; 22: cores in Intel's new Xeon E5-2600 V4 CPU; 12: fold boost in spectrum efficiency over current 4G cellular technology using a massive antenna system; 

  • Quotable Quotes:
    • Linus Torvalds:  I’m not a big visionary. I’m a very plodding pedestrian engineer, and I try to keep my eyes firmly on the ground. I’ll let others make the big predictions about where we’ll be in 5, 10 or 25 years
    • theymos: "Core" doesn't think anything because it's not any sort of unified organization.
    • whalesalad: We are running Kubernetes in production at FarmLogs and LOVE it.
    • @StackPointCloud: The operational complexity associated with monitoring containers is multiplied given the 1:N relationship of host:containers. #NYCK8s
    • hu6Bi5To: AWS is significantly more expensive like-for-like, but it's worth remembering that you wouldn't architect your whole system that way if you were targeting AWS.
    • Demis Hassabis [DeepMind]: We don't think just observing is enough for intelligence, you also have to act. Ultimately that’s the only way you can really understand the world.
    • @inottawa: @TeslaMotors can't login to mytesla. Any chance in scaling up those servers?
    • Adrian Colyer: Cliffhanger can achieve the same hit rate with 45% less memory capacity. When memory is one of the most expensive resources in the datacenter, that’s definitely significant!
    • Google: We showed how Cloud Dataflow users no longer have to worry about specifying the number of workers or partitions, and how Cloud Dataflow dynamically adjusts the number of workers over time.
    • @PandoDaily: The switch to subscription has meant huge growth for Adobe
    • spriggan3: You're not hip enough anymore, the new good practice in the valley is femtoservices. Each statement running on its own server.
    • @adrianco: If you are confused about the Tesla Model 3 "launch" think of it as a huge $1000 Kickstarter project
    • Baidu: Our algorithm is able to use crowd data from Baidu maps to predict how many people will be [at a certain location] in the next two hours
    • @robertoglezcano: By 2020, 80% of people around the world (6 billion) will own a smartphone
    • @adrianco: Let me know when you run a 1000 node Cassandra cluster on Kubernetes :-) 
    • Seph Skerritt: The algorithm doesn’t care what you really are. It matters what you choose, and what you think you are.
    • @JimPethokoukis: "Last year, YouTube and sites like it generated $385 million in royalties ... vinyl records brought in $416 million"
    • @gigastacey: "Customers press a Dash button once every minute of the day." 
    • Julian Baggini: One of the paradoxes of creativity is that originality tends towards sameness and similarity. What makes a Wagner opera stand out from others is also what makes it unmistakably Wagnerian.
    • Grant Jensen: In this study, we revealed the beautiful complexity of this machine, [which] be the strongest motor known in nature. The machine lets M. xanthus, a predatory bacterium, move across a field to form a ‘wolf pack’ with other M. xanthus cells, and hunt together for other bacteria on which to prey

  • Chamath Palihapitiya: AWS is a tax on the compute economy.  so whether you care about mobile apps, consumer apps, IoT, SaaS etc etc, more companies than not will be using AWS vs building their own infrastructure.  ecommerce was AMZN's way to dogfood aws, and continue to do so so that it was mission grade.  if you believe that over time the software industry is a multi, deca trillion industry, then ask yourself how valuable a company would be who taxes the majority of that industry. 

  • This is spooky. Google does know everything but it's AI that makes that knowledge manifest in the world. Google shocked this man by offering sympathy on the death of his father:  Google Now was offering him condolences on the death of his dad before showing him what could be emotionally charged photos. "Mind. Blown. I'm sad, I'm amazed, I'm taken back. What a lovely moment for some automated robot voice to express it's sympathy to me," he said.

  • Stack Overflow still does the mostest with the leastest. Nick Craver with a great post on Stack Overflow: The Hardware - 2016 Edition. Sure, there's a lot of hardware porn (with pics), but Nick's mental checklist of the process he goes through to help determine what to order is really insightful. It's too big to include here, but some highlights: Is this a scale up or scale out problem? (Are we buying one bigger machine, or a few smaller ones?); How much redundancy do we need/want? (How much headroom and failover capability?); Will this server/application touch disk? (Do we need anything besides the spinny OS drives?). Also, an interesting analysis by hu6Bi5To of what Stack Overflow might look like on AWS. Less hardware redundancy, less always on capacity, more geographical redundancy. 

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

Silverlight Resurrection

Phil Trelford's Array - Fri, 04/01/2016 - 06:58

Silverlight, once hailed by Microsoft evangelists, is now dead, crucified by the side of Flash by Jobs when he brought down his tablets from mountain view, and then buried by Sinofsky under his surfaces. But is it really dead? Silverlight certainly seems dead in the browser with Google cutting off support in Chrome followed by Microsoft in Edge. Yet Silverlight still lives on in Windows Phone and Windows Store (formerly Windows Runtime, formerly Metro).

Resurrection

Back in 2010 and 2011 I made a series of mini games written in F# with Silverlight and hosted on this blog along with some online arcade sites likes GameJolt and SilverArcade. Rather than let them slide into the sands of time never to be played again I thought I’d have a go at resurrecting them for Windows Phone.

Search for a stable… environment

I started by attempting to create a Windows Phone project in my shiny new installation of Visual Studio 2015 Community, but failed at the first hurdle. To run the Windows Phone emulator you need the Professional version of Windows and silly old me had installed the Standard edition when I rebuilt my Windows partition after a fatal blue screen in the new year.

Then I moved on and tried trusty Visual Studio 2013 but hit the same hurdle. Not to be deterred I went back another year to Visual Studio 2012 but hit a new obstacle, where the 2012 tools don’t work if you have 2013 installed.

Back to the Future

No problem, I span up a virtual machine in Oracle’s Virtual Box with ye old faithful Windows 7 and Visual Studio 2010 installed, and after pushing on VS2010 SP1 and the Windows Phone tools, then some obligatory rebooting and service patches, I was up and running and had a game ported and playing on the emulator. I used a Windows Phone project template from Dan Mohl, which requires an empty C# host project because CLR stands for Common C# Language Runtime apparently. My only remaining issue was that running the phone emulator within a VM was painful. My next step was to purchase dedicated hardware in the form of a refurbished Thinkpad (circa 2010) from Morgan Computers and I finally had a stable environment with an emulator for porting the apps and games over (although no option to deploy to a device as the Zune software is no longer supported).

Lenovo /IBM X201 Intel i5-520M 2.4GHz 12.1

Across the Universe

Microsoft are currently touting the Universal Windows Platform as the future, letting you easily deploy your apps between Windows 10 Phone, Store and other platforms. That said with Visual Studio 2010 I can target the entire Windows Phone range from 7 up to 10, note that number 9 went missing somewhere along the way.

Also note the Windows Phone 7 market currently appears to be almost as “large” as Windows 10 Mobile.

Alien Resurrection

The first game I ported over was Invadurz, a homage to a classic 80s arcade game. It’s available in the Windows Store and I’ve recently upgraded it with low-latency sound effect support via XNA.

Screenshot

And despite the screen shot being the wrong way round a few people have even downloaded it Smile

image

With a simple and stable porting system in place I quickly submitted another 4 apps and games, all available free in the store:

Submission

With some experience under my belt I recently headed down to London to the Windows App London meetup (previously the Windows Phone user group) for the Submit it! hackathon, and during the day I managed 5 submissions:

and won an Easter Egg from Tesco for my efforts!

Second Coming

Just as in the bible, a second coming is in the offing. XNA is dead, long live MonoGame.

I’m currently working on moving the Windows Phone submissions lock stock and barrel over to XNA which should give me a route to full cross platform resurrection via MonoGame with deployment to Android, iOS and beyond…

CNUG6LkWwAAlpuJ.png (433Ă—242)

and many more users, or at least that’s the theory.

Categories: Programming

Basics: The Dark Side of Process Architectures

Don't get caught up in these process mistakes.

Don’t get caught up in these process mistakes.

Almost all human endeavors use a process architecture.  Some of those architectures might not be immediately apparent, such as the scrum that often occurs at the beginning of a foot race or software development in a two-person start-up.  Others, such as the product development in the medical device fields, are far more regimented.  A mantra that many leaders in the software field utter is: “that we should only define just enough process.” It is easy to cobble together a process architecture that leads to common problems.  It isn’t that anyone goes out of their way to make a mess out of process architecture, but it happens far more often than anyone would like.  Common process architecture faux pas include:

Process Plaque: Over time this affects most of the components in process architectures. Process build-up is a condition caused when teams or organizations encounter new scenarios or problems. The natural impulse is to make process changes or to add new checks so that exceptions or problems does not happen again. While the goal is to avoid the potential for a problem,  often no one considers the probability of the same condition happening again.  The build-up in the amount of process that these changes generally cause is slow and evolutionary, therefore not recognized.  This is exactly like plaque build-up in your arteries. How many bratwurst do you have to eat before the blood in your arteries slows to a crawl? More than a few. Review every process change to ensure that they are solving problems based on impact and probability of occurrence (risk).  Remember that the best practice is for the process architecture to address normal circumstances and monitor for those scenarios that are out of the ordinary.

Mismatched Principles: Principles guide the way that people actually do their work.  Principles are a synthesis and expression of a person’s worldview.   Models, frameworks, and sometimes methodologies explicitly espouse a set of principles to help guide practitioners.  Examples are in the Agile Manifesto, SAFe is a set of lean/agile principles and the principles in the CMMI.  When principles in one part of a process architecture are at odds with the underlying principles in another, people can have problems trying match behavior. For example, if the part of your architecture is built on the principles of repeatability and process consistency (i.e. CMMI) and another portion on process flexibility (i.e. Lean Startup) there is a high probability for disagreements. Organizations in this scenario usually put an additional  step in place to adjudicate conflicts.

Culture Wars: Culture clash is a typical variation of mismatched principles that occurs at a broader organization level.  Some organizations have cultures that favor the use of one framework or method over another. For example, organizations with a hierarchical culture tend to have trouble adopting Agile Methods which promote flat, self-organizing teams. In the short term, the two “safe” ways to deal with culture are to adopt a process hierarchy that supports the culture or to hybridize the architecture, not to challenge the culture.  The unsafe approach is to wage culture wars.

Process Addiction: Occasionally teams or organizations confuse the goal of a piece of work. The goal becomes the performing the process rather than delivering value. Cutting teams off from a real product owner or customer can cause the team not to understand the value of what they deliver, and therefore, fall back on the process as the only marker of success.  Stakeholder or product owner roles need to put in place and be performed by individuals connected to the business.

Process Police: Enforcement of process performance can sometimes take center stage.  This type of issue tends to occur in organizations working on a certification that is not tied to output value but is tied to bid process.  A better process architecture would link both values in the sales cycle with delivering value to the customer. Another scenario that generates process police is an organization where the fear of making a mistake is a major motivator. Process police are tools to ensure that process consistency occurs.  Creating a process enforcement mechanism an instantiation of the belief a good process will substantially increase the likelihood of a good outcome. This belief may be true in manufacturing but is often assumed without proof in knowledge work. 

No one builds a model, methodology or processes to slow the delivery of value.  Nor are they built, at least at the beginning, to generate a cadre of bureaucrats to oversee those building and maintaining functionality.  Rather, process architecture problems tend to creep in after the fact as mismatches between the organization’s culture and the process architecture’s components are discovered.  On a positive note, friction generates the energy need to create change.  The goal must be to ensure that, as change occurs, the overhead that the process architecture levies do not lead to less efficient and effective delivery of value. Time is not a friend of any component of the process architecture unless it is constantly tended to keep it will drift and expand.


Categories: Process Management

App Monetization Insights: How MobiSystems adapted their way to success

Google Code Blog - Thu, 03/31/2016 - 23:06

Originally posted on the AdMob blog

Posted by Joe Salisbury, Product Specialist, AdMob
This is post 4 of our 5-part blog series featuring monetization tips straight from successful app developers. If you’re interested in further exploring the question, “what’s the best way to monetize my app?”, check out our free No-nonsense Guide to App Monetization.

Our guest this week is Elitza Bratkova, Director Business Development at MobiSystems, the company behind a few of the most popular business and productivity apps on Google Play.  Their flagship product, OfficeSuite, is a successful mobile office solution for Android with a user base of over 200M download and preloaded users.

A clear company value surfaced as a big part of MobiSystem’s success – flexibility. Check out ways you can also use flexibility to your advantage with these tips:


1. Adapt quickly to promising platforms and opportunities.

MobiSytems started over 10 years ago. In its early days, they created dictionaries for the most popular platforms – PalmOS and Pocket PC. When a new platform popped up called Symbian, they were quick to build for it, with some success.

Then Android came along in 2007, and Elitza saw the opportunity, despite the business being resource constrained.

“It was clear that mobile devices were becoming more popular for working professionals. The trend was clear. While we did opt-out of building for smaller platforms, this opportunity was in line with our vision and it seemed promising. It seemed like a platform where our target users would be. It was a risk, but we took it.”
The risk paid off. Being one of the earliests apps on the Google Play Store, and being pre-loaded on thousands of devices helped boost MobiSystems presence. Android as a platform significantly grew, expanding the user base that MobiSystems had access to.

MobiSystem’s most recent analysis of their target audience revealed that 15-20% of their users have devices on more than one platform. They’re now working on a new iteration of their products that allows users to use one license to access the app on multiple platforms.

2. Be flexible with your monetization strategy.

MobiSystem’s early users were accustomed to only one type of app monetization model from business apps – paying for access to premium versions. As consumer apps became successful with new models, the MobiSystems team was eager to adopt new monetization features in Android.

Since profiting from in-app purchases was a business model they could easily adopt, they decided to offer a version of their app for free with an in-app subscription to gain access to premium features. They saw a huge spike in downloads but some initial decline in revenues.To solve this, they turned to a monetization model that business apps never tried before—in-app advertising.

Transitioning to ads did take some time, but worked out positively. By starting slowly, experimenting with placement, being committed to showing high quality ads, and being clear that ads were critical in supporting their free version, MobiSystem bridged their revenue gap and built a successful business. Best of all, they’re able to sustainably offer a useful app for free. One of their products, OfficeSuite, has over 100,000 daily installs and has been consistently on the top free apps list in the the Play Store’s business categories.

When considering your app’s monetization strategy, consider all of your options thoroughly. There may be potential to use business models that are unusual in your space.

We hope you enjoyed the tips from MobiSystems. If you found this information helpful, don’t forget to check out The No-nonsense Guide to App Monetization. Also, stay connected on all things AdMob by following their Twitter and Google+ pages and be sure to connect with MobiSystems on Twitter here.

Categories: Programming

Change Your Friends, Change Your Life!

Making the Complex Simple - John Sonmez - Thu, 03/31/2016 - 13:00

This is a frequent question I receive and it is also a question that I often cover on my YouTube videos. It all started when I covered a concept extracted from “The Personal MBA” Book which stated that “Your Setpoints Determine Your Reality”. After that, I’ve received a lot of questions from people asking me how […]

The post Change Your Friends, Change Your Life! appeared first on Simple Programmer.

Categories: Programming

My Book Tour in North America

NOOP.NL - Jurgen Appelo - Thu, 03/31/2016 - 08:34
image@2x

This year in June, publisher John Wiley & Sons will release Managing for Happiness, the updated version of my very successful #Workout book. To celebrate this, I have a special offer for event organizers in the USA and Canada.

For an appearance at any event (either public or in-company) during my book tour, I offer 100 copies of my new book for free, and for anything above that number, I offer a 50% discount from the catalog price (USD 35). This only applies to events taking place during my book tour in North America from June 30 to August 31.

“ This year in June, publisher John Wiley & Sons will release Managing for Happiness, the updated version of my very successful #Workout book. To celebrate this, I have a special offer for event organizers in the USA and Canada. “

This year in June, publisher John Wiley & Sons will release Managing for Happiness, the updated version of my very successful #Workout book. To celebrate this, I have a special offer for event organizers in the USA and Canada.

Repeatable Methodology

For an appearance at any event (either public or in-company) during my book tour, I offer 100 copies of my new book for free, and for anything above that number, I offer a 50% discount from the catalog price (USD 35). This only applies to events taking place during my book tour in North America from June 30 to August 31.

This year in June, publisher John Wiley & Sons will release Managing for Happiness, the updated version of my very successful #Workout book. To celebrate this, I have a special offer for event organizers in the USA and Canada.

  • irreducible simplicity
  • immediate intuition
  • beauty underneath
  • approachable innovation
  • form and color agreement
  • replicable methodology

This year in June, publisher John Wiley & Sons will release Managing for Happiness, the updated version of my very successful #Workout book. To celebrate this, I have a special offer for event organizers in the USA and Canada.

The post My Book Tour in North America appeared first on NOOP.NL.

Categories: Project Management

Introducing a new developer show "Machine Learning: Recipes for New Developers"

Google Code Blog - Wed, 03/30/2016 - 18:34

Posted by Josh Gordon, Developer Advocate

To help you get started building applications with machine learning, we’re excited to launch a new developer show, Machine Learning: Recipes for New Developers. In the first few episodes, we’ll teach you the ropes of machine learning without requiring any major prerequisites (like calculus). As the series progresses, we’ll walk you from “Hello World” to solving some real world problems.

Episodes will generally publish bi-weekly, and be only about 5-10 minutes in length to keep the material lightweight. Occasionally, we’ll have guests on the show who work with machine learning on different teams around Google.

Ep #1: Hello World.

  • Six lines of Python is all it takes to write your first machine learning program! In this episode, we'll briefly introduce what machine learning is and why it's important. Then, we'll follow a recipe for supervised learning (a technique to create a classifier from examples) and code it up.

Also: Coffee with a Googler came to NYC! Laurence and Josh talk about the importance of machine learning for developers, and reducing barriers to machine learning education. Check out the video!

Categories: Programming

Introducing VR view: embed immersive content into your apps and websites

Google Code Blog - Wed, 03/30/2016 - 17:01

Posted by Nathan Martz, Product Manager

Travel apps may include turtle photos, but they're nothing like diving into the open ocean. Real estate websites may include descriptions of the dining room, but it's nothing like actually touring the home. For developers, having immersive elements in their apps and websites can be the difference between meh and magical. That's why we're introducing VR view—a quick and easy way to embed immersive content on Android, iOS and the web.

VR views take 360 VR images or videos and transform them into interactive experiences that users can view on their phone, with a Cardboard viewer, or on their desktop computer. For native apps, you can embed a VR view by grabbing the latest Cardboard SDK for Android or iOS* and adding a few lines of code. On the web, embedding a VR view is as simple as adding an iframe on your site. We’re open-sourcing the HTML and JavaScript for web developers on github, so you can self-host and modify it to match your needs.

From travel and real estate to news and entertainment, we hope embeddable VR views make it quick and easy to share your story and build immersive and engaging visual experiences your users will love. We're excited to see what you create.

*Yes, you read that right! Starting today, there’ll be a native Cardboard SDK for iOS. Provided in idiomatic Objective C, and packaged as a single, easy-to-use CocoaPod, this new SDK includes all of the features already available in the Cardboard SDK for Android.

function DeviceMotionSender(){if(!this.isIOS_()){return}window.addEventListener("devicemotion",this.onDeviceMotion_.bind(this),false);this.iframes=document.querySelectorAll("iframe.vrview")}DeviceMotionSender.prototype.onDeviceMotion_=function(e){var message={type:"DeviceMotion",deviceMotionEvent:this.cloneDeviceMotionEvent_(e)};for(var i=0;i
Categories: Programming

Should Apple Build their Own Cloud?

This is one of the most interesting build or buy questions of all time: should Apple build their own cloud? Or should Apple concentrate on what they do best and buy cloud services from the likes of Amazon, Microsoft, and Google?

It’s a decision a lot of companies have to make, just a lot bigger, and because it’s Apple, more fraught with an underlying need to make a big deal out of it.

This build or buy question was raised and thoroughly discussed across two episodes of the Exponent podcast, Low Hanging Fruit and Pickaxe Retailers, with hosts Ben Thompson and James Allworth, who regularly talk about business strategy with an emphasis on tech. A great podcast, highly recommended. There’s occasional wit and much wisdom.

Dark Clouds Over Apple’s Infrastructure Efforts
Categories: Architecture

Another Myth Busted

Herding Cats - Glen Alleman - Wed, 03/30/2016 - 14:53

There is a common misinformed conjecture that large programs are managed just like a military operation. Both these concepts are wrong - dead wrong.

Here's a great briefing on this topic. You'll find there are topics about managing in the presence of uncertainty and the need to make estimates to assess the outcomes of your decisions.

Commando code from go_oh   After this, read this, ask anyone suggesting you can make decisions in presence of uncertainty without estimates and have them show you how that conjecture does not violate managerial finance and Microeconomics principles? To date there is ZERO example of how this can happen beyond personal anecdotes that are untested outside of those personal anecdotes Screen Shot 2016-02-22 at 9.51.56 AM Related articles Making Conjectures Without Testable Outcomes The Microeconomics of a Project Driven Organization The Microeconomics of Decision Making in the Presence of Uncertainty Estimating and Making Decisions in Presence of Uncertainty The Actual Science in Management Science Architecture -Center ERP Systems in the Manufacturing Domain IT Risk Management
Categories: Project Management

Parallel Testing With Selenium Webdriver – Automation on Steroids

Making the Complex Simple - John Sonmez - Wed, 03/30/2016 - 13:00

Introduction Parallel test execution involves running a suite of automated tests in parallel as opposed to sequentially. You don’t execute your tests one by one. Rather, you take the entire batch and split it up amongst multiple servers so that each server can run a single test at a time. This techniques has some fantastic […]

The post Parallel Testing With Selenium Webdriver – Automation on Steroids appeared first on Simple Programmer.

Categories: Programming

Agile and Lean Program Management is Done

I sent my newsletter, Scaling Agile and Lean to Programs to my subscribers yesterday. (Are you one of them? No? You should be!)

If you are trying to use agile for several projects that together deliver value (a program), you might be wondering what the “right” approach is. You’ve heard of frameworks. Some of them seem to be a bit heavy.

Instead of a framework, consider your context. You and your organization are unique. Do you have hardware to integrate into your product? Do you have agile and non-agile teams who are supposed to deliver? Are you trying to work in iterations and they don’t quite work at the problem-solving level?

 Scaling Collaboration Across the OrganizationYou have many choices. In Agile and Lean Program Management: Scaling Collaboration Across the Organization, I offer you options for how to think about and solve these and many other problems. The book is principle-based, not practice-based. That way, if you consider the principles, you’ll be in great shape, regardless of what you decide to do.

Please do check out the book. It’s available everywhere fine books are sold. (I love saying that even if it is passive voice!)

Categories: Project Management

Basics: Difference Between Process, Procedures, and Techniques

Barbecue Recipe

A recipe is a form of procedure!

Models, frameworks, and methodologies are like the three outer layers of a matryoshka doll.  Once we have opened up the layers from models to frameworks and methodologies, components focused on defining “what” steps or tasks needed to build or deliver a product, the next set of layers shift to defining how to do a specific task or groups of tasks. The next three layers of our process architecture matryoshka doll are processes, procedures and techniques.  Each layer is more granular.

Processes are the workhorses of the most software departments. Processes define well-documented, repetitive groups of tasks and decisions needed to achieve an outcome. A simple example of a process is the steps needed to hold a standup meeting. A process provides a view of the main elements needed to meet the processes business goals.

The next layer of our process architecture matryoshka doll is procedures.  A procedure provides depth to a process by defining the detail needed to execute the process. I recently was using the bathroom at a client and on mirror had a sticker that provided a procedure to wash my hands (first moisten your hands, apply soap . . . ) . Procedures capture the responsibilities, objectives and tasks needed to accomplish the business goal of a process.  Processes may require the execution of multiple procedures in order to deliver value. 

Processes and procedures are often conflated.  In simple processes, they can be the same, yet for more complex operations the difference is obvious.   When my dental hygienist cleans my teeth (process) she uses multiple procedures to complete the cleaning.  The first procedure uses the ultrasonic tool to remove the larger pieces of plaque and tartar.  The second procedure uses a pick and hand tools for fine cleaning.  In this case, the complexity of the process requires several detailed procedures to accomplish the high-level goal of cleaning teeth. In general, processes define breadth and scope while procedures deliver the depth needed to execute.

The final level of our process architecture, the innermost doll, is techniques.  Techniques define specific ways to do something and are often tool or material specific. The technique for documenting a user story would be unique for a person using Jira, Version One or Rally.  Techniques focus on the lowest level of detail in this architecture.

Developing software, whether to enhance an existing product or to develop something new, is complex.  In order to combat complexity, organizations need to simplify the process of delivering value.  The pressure to simplify exists even if what is being done no more intrinsically complex than mowing the lawn or brushing our teeth.  In order to deliver value on a consistent, repeatable basis we need to agree upon a process architecture that is fit for use. For that architecture to be fit for use each layer of our process architecture matryoshka doll needs to be in harmony.  For example, it would be messy to leverage a waterfall framework with Extreme Programing (xP) as the methodology.  Sorting out the collision between big upfront designs with a sign-off gate with the iterative planning identified in xP’s planning game would require massive hybridization to both the framework and methodology.  Some practitioners hear the words methods, processes and procedure and immediately become apoplectic. The visions are of processes with rigid rules that restrict experimentation or stop teams from making the needed to decisions. Effective teams require a process architecture that makes sure the team has the information and empowerment needed to deliver value.  Agile process architectures provide just enough guidance but they necessary to teams to deliver consistently and to work with other teams. 


Categories: Process Management

Forecasting Program Performance

Herding Cats - Glen Alleman - Tue, 03/29/2016 - 19:27

Program Performance Management is a core process for any successful business venture that develops products

Forecasting cost and schedule performance from Glen Alleman
Categories: Project Management

Announcing the 2016 Android Experiments I/O Challenge!

Android Developers Blog - Tue, 03/29/2016 - 19:20

Posted by Roman Nurik, Senior Interactive Designer, and Richard The, Google Creative Lab

Last summer we launched Android Experiments: a showcase of creative Android projects, and an open invitation for all developers to submit their own experiments to the gallery. So far we’ve seen some amazing work from the developer community - from live wallpaper, to watch faces, to interesting hacks of the IOIO board - and we want to see more.

Today we announce the Android Experiments I/O Challenge: a chance for your experiment (and you) to go to I/O 2016!

From now through April 13, you can enter by submitting your experiments to the gallery. The top three winners of the contest will receive a trip to this year’s Google I/O, and the five runner-ups will get the new Nexus 6P.

So what makes a good Android Experiment? It’s a project that utilizes the unique capabilities of the Android platform in an innovative way. Here are a few suggestions:

  • Creative uses of Android’s new or distinctive features
  • Projects that explore how we interact with our devices, in small and big ways
  • Unique visual aesthetics
  • Open source projects that inspire other developers
  • Surprise us - we want to see the amazing things you’re cooking up

All projects on Android Experiments are open source. If you’re not sure where to start take a look on the site gallery, dig in and get inspired.

We can’t wait to see how you’re combining code and creativity! Enter on androidexperiments.com/challenge today.

Categories: Programming

Sponsored Post: TechSummit, zanox Group, Varnish, LaunchDarkly, Swrve, Netflix, Aerospike, TrueSight Pulse, Redis Labs, InMemory.Net, VividCortex, MemSQL, Scalyr, AiScaler, AppDynamics, ManageEngine, Site24x7

Who's Hiring?
  • The zanox Group are looking for a Senior Architect. We're looking for someone smart and pragmatic to help our engineering teams build fast, scalable and reliable solutions for our industry leading affiliate marketing platform. The role will involve a healthy mixture of strategic thinking and hands-on work - there are no ivory towers here! Our stack is diverse and interesting. You can apply for the role in either London or Berlin.

  • Swrve -- In November we closed a $30m funding round, and we’re now expanding our engineering team based in Dublin (Ireland). Our mobile marketing platform is powered by 8bn+ events a day, processed in real time. We’re hiring intermediate and senior backend software developers to join the existing team of thirty engineers. Sound like fun? Come join us.

  • Senior Service Reliability Engineer (SRE): Drive improvements to help reduce both time-to-detect and time-to-resolve while concurrently improving availability through service team engagement.  Ability to analyze and triage production issues on a web-scale system a plus. Find details on the position here: https://jobs.netflix.com/jobs/434

  • Manager - Performance Engineering: Lead the world-class performance team in charge of both optimizing the Netflix cloud stack and developing the performance observability capabilities which 3rd party vendors fail to provide.  Expert on both systems and web-scale application stack performance optimization. Find details on the position here https://jobs.netflix.com/jobs/860482

  • Software Engineer (DevOps). You are one of those rare engineers who loves to tinker with distributed systems at high scale. You know how to build these from scratch, and how to take a system that has reached a scalability limit and break through that barrier to new heights. You are a hands on doer, a code doctor, who loves to get something done the right way. You love designing clean APIs, data models, code structures and system architectures, but retain the humility to learn from others who see things differently. Apply to AppDynamics

  • Software Engineer (C++). You will be responsible for building everything from proof-of-concepts and usability prototypes to deployment- quality code. You should have at least 1+ years of experience developing C++ libraries and APIs, and be comfortable with daily code submissions, delivering projects in short time frames, multi-tasking, handling interrupts, and collaborating with team members. Apply to AppDynamics
Fun and Informative Events
  • Discover the secrets of scalability in IT. The cream of the Amsterdam and Berlin tech scene are coming together during TechSummit, hosted by LeaseWeb for a great day of tech talk. Find out how to build systems that will cope with constant change and create agile, successful businesses. Speakers from SoundCloud, Fugue, Google, Docker and other leading tech companies will share tips, techniques and the latest trends in a day of interactive presentations. But hurry. Tickets are limited and going fast! No wonder, since they are only €25 including lunch and beer.

  • Varnish Summits are a worldwide event series where Varnish customers, partners, open source users and other enthusiasts come together to network and learn.  At the summits Varnish Software's experts and core developers do a deep dive into technical best practices and offer workshops for both new and advanced Varnish users.

  • Are you developing - or thinking about creating - UDFs to use with Aerospike? Do you want to get the most out of using UDFs within Aerospike? If so, register for our webinar on April 13th at 11am PT / 2pm ET to hear Sergey Zhemzhitsky, CTO of CleverDATA (a division of LANIT, a leading system integrator in Russia) walk through real-life use cases pertaining to UDFs – namely, how his team implemented Aerospike’s UDFs at CleverDATA. Sign up here to reserve your seat!
Cool Products and Services
  • Dev teams are using LaunchDarkly’s Feature Flags as a Service to get unprecedented control over feature launches. LaunchDarkly allows you to cleanly separate code deployment from rollout. We make it super easy to enable functionality for whoever you want, whenever you want. See how it works.

  • TrueSight Pulse is SaaS IT performance monitoring with one-second resolution, visualization and alerting. Monitor on-prem, cloud, VMs and containers with custom dashboards and alert on any metric. Start your free trial with no code or credit card.

  • Turn chaotic logs and metrics into actionable data. Scalyr is a tool your entire team will love. Get visibility into your production issues without juggling multiple tools and tabs. Loved and used by teams at Codecademy, ReturnPath, and InsideSales. Learn more today or see why Scalyr is a great alternative to Splunk.

  • InMemory.Net provides a Dot Net native in memory database for analysing large amounts of data. It runs natively on .Net, and provides a native .Net, COM & ODBC apis for integration. It also has an easy to use language for importing data, and supports standard SQL for querying data. http://InMemory.Net

  • VividCortex measures your database servers’ work (queries), not just global counters. If you’re not monitoring query performance at a deep level, you’re missing opportunities to boost availability, turbocharge performance, ship better code faster, and ultimately delight more customers. VividCortex is a next-generation SaaS platform that helps you find and eliminate database performance problems at scale.

  • MemSQL provides a distributed in-memory database for high value data. It's designed to handle extreme data ingest and store the data for real-time, streaming and historical analysis using SQL. MemSQL also cost effectively supports both application and ad-hoc queries concurrently across all data. Start a free 30 day trial here: http://www.memsql.com/

  • aiScaler, aiProtect, aiMobile Application Delivery Controller with integrated Dynamic Site Acceleration, Denial of Service Protection and Mobile Content Management. Also available on Amazon Web Services. Free instant trial, 2 hours of FREE deployment support, no sign-up required. http://aiscaler.com

  • ManageEngine Applications Manager : Monitor physical, virtual and Cloud Applications.

  • www.site24x7.com : Monitor End User Experience from a global monitoring network.

If any of these items interest you there's a full description of each sponsor below...

Categories: Architecture

The Ultimate Tester

Xebia Blog - Tue, 03/29/2016 - 16:14
   

Software Development Conferences Forecast March 2016

From the Editor of Methods & Tools - Tue, 03/29/2016 - 14:41
Here is a list of software development related conferences and events on Agile project management ( Scrum, Lean, Kanban), software testing and software quality, software architecture, programming (Java, .NET, JavaScript, Ruby, Python, PHP), DevOps and databases (NoSQL, MySQL, etc.) that will take place in the coming weeks and that have media partnerships with the Methods […]

Top 10 Books To Read In 2016

Making the Complex Simple - John Sonmez - Tue, 03/29/2016 - 13:00

A lot of viewers asked me to create a top 10 list of my favorite books. After taking some time to think, I decided to create this list with my top 10 books of all time. These are, for me, the best books I’ve read in my entire life. I also think these are mandatory […]

The post Top 10 Books To Read In 2016 appeared first on Simple Programmer.

Categories: Programming