Agile: Fantastic Product Owners and Where to Find Them

Scrum requires three roles to be successful: Scrum Master, Development Team and Product Owner (PO).  Kicking off a new agile-scrum engagement has prompted me to reference previous efforts that achieved high levels of success to determine what maketh a fantastic Product Owner.  This blog post, released ahead of the highly anticipated theatrical premiere of Fantastic Beasts and Where to Find Them may not be as highly anticipated but hopefully is helpful in locating individuals who have what it takes to be a Product Owner (PO) for your effort. What is Product Ownership Product Owners provide critical services for the development team and scrum master.  They serve as the requirement/user story center for the dev team and can rank order each requirement/user story by priority.  To do this, POs need to have subject matter expertise related to the business problem/need; organizational awareness to help facilitate product launch; and availability.  Perhaps more importantly than all of this, product ownership helps to level the scale; balancing accountability for successful product development.  The development team is accountable for developing quality features while the product owner is accountable for deciding what features get built. The Ownership Problem IT teams are typically in the business of building tools for one primary purchaser.  This person holds the purse strings.  While it is very important that this person have a seat at the decision-making table, he/she may be lacking the in-depth subject matter expertise necessary to be a good successful PO.  Sometimes these individuals have only high-level information about the ...
Read More
/ / Uncategorized

How I learned to stop fearing and start loving SharePoint… Sort Of – Part 2

SharePoint 2010 uses SOAP, which is messy (see what I did there?) Front-end development on SharePoint 2010 can get a little tricky.  Most web services these days use Representational State Transfer (REST) which is a nice improvement over SOAP but unfortunately that option is not always available.  If you are developing on SharePoint 2013 you are lucky and you have REST services available.  If not, be prepared to debug some weird errors with SOAP, and when I say debug I mean decrypting a modern day Rosetta Stone sans the stone or Rosetta. Use SPServices JavaScript Library For starters, I recommend using SPServices when doing any front-end development with SharePoint.  SPServices is a JavaScript library founded by Marc Anderson that takes care of a lot of the complexities when making SOAP calls in SharePoint.  It is free and works entirely on the client side meaning that you do not have to worry about a server side install.  You can download the library and view the documentation from GitHub. The Networking Tab of the Developer Console If you have not already done so, become familiar with troubleshooting issues in the network tab of the browser.  Using Chrome (I prefer Chrome) open the developer console and click on the ‘Network’ tab (example in Figure 1). In the lower left (outlined in Figure 2) you will see a list of requests to the server.  Now select one of the requests ending in ".asmx" since those are the SOAP end points for SharePoint.  In Figure 2 notice that there are three tabs now displayed on the right; Headers, ...
Read More
/ / Uncategorized

Part 3: JavaScripting on SharePoint – Lists, Content Types, and Columns

To develop JavaScript applications that will store data on SharePoint, you should have a good understanding on how to design and store data in SharePoint lists.  If you followed Part 2 of this series, we now have three sites (Production, User Testing, and Development) to conduct SCA-JavaScript development and that means we have to keep the structure of SharePoint lists consistent across the three environments.  Fortunately, SharePoint has metadata features known as site columns and site content types to help us out.  In this section, I will discuss how to approach SharePoint lists and how you need to leverage site columns and content types to store data in those SharePoint lists. The first thing a developer on SharePoint must understand is that SharePoint lists are not a table in a database.  They may have columns and they may have rows, but please do not mistake them for database tables.  A developer should consider a SharePoint list as a container of objects.  These objects are called content types and have properties that are called site columns.  Figure 1 provides an illustration of the relationship between site columns, content types and a SharePoint list. Figure 1 – An illustration of how a SharePoint list is a container of content types. At the core of SharePoint’s metadata capabilities are site columns and they can offer several different types of properties such as a single line of text, number, or date and time.  A complete list of options is available at Site column types and options.  Site columns ...
Read More
/ / Uncategorized

How I learned to stop fearing and start loving SharePoint… Sort Of – Part 1

New to SharePoint? You are a seasoned developer and your boss just told you that they need your help on a SharePoint project.  The typical thoughts may roll through your head: Why me? I hate SharePoint. It isn’t for real developers anyways While these are all valid reactions there is one silver lining to remember.  Web development is transitioning towards front end single page applications that leverage new and exciting Javascript libraries including Knockout, Angular, and many other frameworks.  SharePoint can be used as your one-stop-shop for both the database and server side code.  This allows you to focus on front end development creating fast, responsive, and sexy apps that people would never guess were running on SharePoint.  With this kind of approach in mind, let us explore a couple of tips to turn your fear and loathing of SharePoint into loving SharePoint. Overview This is the first of a two part set of blogs that serve as tips to get you started on your path to SharePoint love.  SharePoint is Microsoft’s multi-purpose IT solution for everything from websites to centralized document repositories.  It can connect to third party data sources while allowing custom development on the server through web parts.  Explaining the architecture of the SharePoint backend is beyond the scope of this blog series but there are many resources out there (just Google, Bing, or Yahoo it). Part 1 - File Editing and Source Control A Word on SharePoint Designer Sharepoint Designer is an integrated development environment (IDE) ...
Read More
/ / Uncategorized

Agile: Business Priority vs. Dev Logic

The crux of agile development is building features in order of business value and priority as well as accounting for change in the development process.  However, when starting from scratch on a blank canvas, it can prove difficult to build the items that the customer deems highest priority first.  Enter development (dev) logic.  Dev logic is a term I made up that means building the most basic functions, on which other functions will depend, first.  Consider this example: General Scope: Customer wants a system to generate documents with certain data on them.  The system should provide a review/approval process for these documents.  Additionally, the system should send email notifications based on status of the documents.  The customer also wants some other things (not relevant to this example, so not listed here). Scenario: At the beginning of the project, the customer tells you that the absolutely highest priority is for the system to generate PDF documents.  Your team has nothing but a development environment setup at this point.  Your development team is asking questions like:
  • Which document will be generated?
  • What does the document look like?
  • What data goes on the document?
  • Where does the data come from?
  • Who can edit the data?
You should be able to get those questions answered with relative ease.  But what those questions are telling you is that the first thing you build will not be PDF document generation.  Your customer expects features to be built in order of business priority.  What do ...
Read More
/ / Uncategorized

Customer-Centric Agile

Carol Maddox, Senior Business Analyst with Definitive Logic Agile methods are all about delivering value and lowering the cost of change.  These methods challenge us to ask: What is the value of doing things this way?  Too often, the answer is a simple “That’s the way things have always been done.”  Hearing that answer is a great indicator that maybe there is too little value.  Often, in a customer to project team relationship, the project team (including the PM) can’t control everything.  But PMs CAN take some of the reigns back related to how technical projects are delivered.  Here are 3 things that project teams and PMs can do to help their customers see the benefits of using Agile methods. 1.) Set the Stage Early The most important planning you’ll do at the beginning of your project is planning HOW you will deliver your product: what methodology you’ll use, what processes, etc.  During your project kick off, spend time explaining the Agile methods you’ll be using to your customer.  Go over your expectations for your customer’s involvement and explain what your customer should expect from you.  This should include: which customer resources will be responsible for reviewing and accepting work during each sprint; what days/weeks can the customer expect to be engaged for product/sprint review.  Additionally, be sure to explain that while time-frames are set, the scope or requirements to be implemented during each iteration is rather fluid.  Provide your customer with a one-page take away that explains the Agile methods ...
Read More
/ / Uncategorized

Cleaning Up the Real Estate Data Landfill

Terri Barton, Senior Data Analyst and Business Consultant with Definitive Logic, is a subject matter expert in Real Estate Leasing Business Processes and RFMIS AIS A computer system can be a wonderful thing, provided, of course, that the data going into that system is accurate. The key question in the real estate and asset management community is how to figure out what to do with our so-called “Big Data” - we’re living in an age where experiencing “data overload while being information poor” is an unfortunately common state, as executives continue to manage larger and more diverse physical footprints. We all know that garbage in is garbage out; however, identifying the errors and remediating the situation once the data has essentially amassed into a landfill is far from a simple task. As practitioners in the real estate industry, we are often charged with managing a large volume of data for multi-million dollar programs. One challenge that many have stated as a significant hurdle is tackling the discrepancies and errors associated with generating organizational analytics. This issue is a result of “data anomalies” accumulated over the years, some due to unclear business processes, and others due to lack of user training. Recently, for example, this type of data integrity issue had presented our client with difficulties in effectively utilizing the information available to them and consequently hindered management’s ability to plan and report on their real estate and asset management programs. Rolling up data into “actionable” information at a regional or department ...
Read More
/ / Uncategorized

Getting the Most Out of Your Data

The Four Pillars of Business Intelligence Businesses and organizations have become experts at stockpiling data. Storage costs are shrinking and the technology to capture data is getting more precise and comprehensive. Initiatives to leverage these storehouses of data by translating raw data into meaningful insight, referred to as Business Intelligence (BI), are gaining ever greater recognition as valuable, if not indispensable, investments. Gartner estimates the global business intelligence market will reach $16.9 billion in 2016. At the same time, organizations are hesitant to launch expensive, long term BI initiatives due to a spotty industry track record of successful projects. As many CEOs have learned, having useful data and using that data effectively are two different things. This article aims to establish the foundation, or pillars, necessary for any BI initiative to succeed. Delivering information that provides business solutions, or “actionable data”, can be successfully accomplished by focusing on four key elements of the BI process:
  1. Understand the business environment, processes, and goals
  2. Analyze and organize the data (Data exploration and ETL)
  3. Present the data for maximum impact
  4. Review and improve the process
Neglecting any one of these elements endangers the success of the entire project. Understanding what each pillar entails and why it is important is the only way to ensure they get the attention required to successfully execute the project. 1. Understand the Business Gathering Requirements and Setting Business Objectives Many BI projects are doomed from the start with vague, meaningless objectives like “use data to improve ...
Read More
/ / Uncategorized

New GitHub Project – SPLibraryTree Web Part for SharePoint

Recently I had a request that our clients wanted to see one of their SharePoint document libraries in a tree view. I did some searching around to see if there were any solutions already out there, and came across this solution on CodeProject:http://www.codeproject.com/Articles/37530/Document-Library-Tree-View-Web-Part-for-SharePoint That seemed completely suitable, but it was designed for SharePoint 2007, and I was working on SharePoint 2013, so I decided to adapt it to SP2013. Since it came from the SharePoint community, and since it seems like it might be useful to someone, I thought I'd share my new version with the community as well. So I have posted my updated version of this web part on Definitive Logic's GitHub repository: https://github.com/definitivelogic/splibrarytree A few notes regarding installation and use: 1) Unlike the original CodeProject project, I do not provide an installer. You will have to download the source code, open the project in VisualStudio (2015 or Community), and build a WSP to deploy. The WSP will be a Farm solution, because the web part is based on the Microsoft.SharePoint.WebPartPages.WebPart class, which is not available in Sandbox solutions. Once you have deployed the solution, a Site scoped feature should be available that you can activate at the Site Collection level. The Feature will deploy the web part to the Site Collection's web part gallery, making it available to add to pages within that site collection. 2) Configuration of the web part is easy, and provides a couple of options. To configure the web part, once it is added ...
Read More
/ / Uncategorized

Part 1: JavaScripting on SharePoint – SCA-JS Development

Since SharePoint 2007, I have been on SharePoint projects with the goal to build rich, intuitive interfaces on top of SharePoint. In the beginning, most of my work involved using SharePoint’s out-of-the-box features and C# development. C# was core to any SharePoint development cycle, and if there was a feature I could not configure out-of-the-box I relied on C# to build that feature. As usual, I would develop the C# code and promote the code through the different tiers of SharePoint farms. Depending on the size of the project, our customers had a development, test, and production farm or just a development and production farm. I became very comfortable with C# development and SharePoint, and the code we developed in C# offered us the ability to transform SharePoint into an easy-to-use tool for our customers. However, as I saw C# development as the best solution for most of our SharePoint requirements, our approach had been impacted recently by the three major changes: 1. The Growth of JavaScript - JavaScript and JavaScript dependent-frameworks had matured to the point that it became a popular Web development language used by the most popular websites. This had influenced Microsoft to focus its efforts to build RESTful APIs, an App Model, and JSLink to promote JavaScript as the more preferred development language for SharePoint development. 2. The Restriction of C# Development - Many of our customers moved to a shared-services model, and that often meant farm solutions were no longer accepted, and in some cases, sandbox development ...
Read More
/ / Uncategorized