21
Thu, Nov
1 New Articles

Agile Programming: Building Applications Your Users Are Sure to Like

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Discover Scrum and learn how to deliver build better, higher-quality applications.

 

Agile programming has gained significant momentum recently by changing the way in which organizations develop software. When I was first introduced to agile programming a few years ago by a colleague, I politely listened to his enthusiastic description, but it really did not resonate for me. The more I learned, the more fascinated I became. Now, our organization is in the process of moving to Scrum, which is a well-known agile programming methodology.

 

This article will introduce you to the basic concepts of Scrum development and help you determine if Scrum is right for you. Scrum terminology is probably rather different from what you currently use. Although some of the terminology maps closely to what you may do today, much does not. While Scrum tends to talk about "products" a lot, Scrum is equally appropriate for both IT organizations and ISVs.

 

Let's start by talking about how we determine what should be worked on.

Stakeholders and Product Owners

Scrum identifies a stakeholder as anyone who has a business interest in a particular product (or business application). Product owners are responsible for assessing  the needs of all stakeholders and making sure that those needs are met. The product owner role is often filled by people who have been business analysts, senior developers, or programming managers, though the role is rather different from any of those jobs. In product-oriented companies, they often come from the ranks of product managers. While the product owner must work closely with all the stakeholders, priorities are not set by committee; they are set by the product owners. Product owners must be skilled at working with stakeholders from various disciplines.

Product Backlog

The product backlog is the mechanism for ensuring that stakeholders get what they need. Product backlog consists of Product Backlog Items (PBIs) that are constantly "groomed" by the product owner based on changes in priorities that exist in any organization. The higher the item is in the product backlog, the more time should be spent on refining that item. As changes are frequent in most organizations, the product backlog is also subject to frequent change. This aspect of Scrum marks a fundamental difference from waterfall development approaches.

Teams and the Scrum Master

With Scrum, work is performed by teams, which  differ from teams using other traditional development approaches. A Scrum team consists of individuals with skills needed to realize items in the backlog. These individuals will be cross-functional and multidisciplinary. Not describing these individuals by job title is intentional here. Scrum teams are also self-organizing. This is probably one of the more radical, and perhaps least obvious, concepts at first glance. The dynamics of how this type of environment works are beyond the scope of this article, but the one common result reported by organizations with high-functioning teams is dramatic improvements in terms of both quality and volume of delivery. Teams commit to work as a whole, not as individuals.

 

To keep teams operating smoothly, the Scrum Master is present to eliminate any barriers to the team performing at a high level. The role in some ways is similar to an expeditor role on a manufacturing floor or a traffic cop.

Sprints

A sprint is a time-boxed iteration during which  a team fulfills a specific set of product backlog items. The team decides collectively what they can commit to deliver from the backlog.  The team can only accept backlog items in priority order from the product backlog. Only the product owner can set or change the priority of items in the product backlog. So if the team has chosen seven items from the product backlog, those items are, of course, the top seven items in the backlog. Those seven are now referred to as the sprint backlog.

 

Sprints have a relatively short time period; two to three weeks is common. The end date (or time-box) never changes once a sprint has started. Sprints typically remain the same length for each iteration. In some cases, the sprint commitment may not be met; if that's the case, the missed sprint backlog items or defects found during the sprint should be placed at the top of the product backlog, to be worked on as the top priority items in the next sprint.

 

Sprint progress is measured  by a burn down chart (see Figure 1). This is easy-to-understand chart allows all team members  to track the progress of a sprint. If the actual line (in blue) is below the plan line (red), the team is ahead of schedule; if the actual line is above the plan line, the team is not on target. In Scrum, when the team is not target, a team meeting should be called to determine if any changes can be made to stay on track.

 

012411MartySprintBurndown

Figure 1: The burn down chart tracks the progress of a sprint.

 

Scrum assumes close communication among the team members. Scrum recommends teams be arranged in close proximity to each other.  The sprints are often facilitated by use of sticky notes on a wall in thecommon team area. Purpose-built software can also perform a similar role.

 

Key to a sprint's effectiveness are a specific set of meetings: before the sprint starts, during the sprint, and after the sprint ends. Once the sprint starts, there's a daily Scrum or stand-up meeting of no more than 15 minutes that consists of only the following input from each team member: What did I do yesterday? What am I doing today? What is impeding my progress??  It is the Scrum Master's role to eliminate those impediments.  The retrospective meeting at the end of the sprint includes a demo in which the product backlog items must be demonstrated to the satisfaction of the product owner and any interested  stakeholders. Any other interested parties are strongly encouraged to attend these.

 

Since the team has signed up to build specific product backlog items as defined by the product owner, the product owner should be in the same  location as the team to answer questions that my arise during the sprint.  While the product owner should be actively engaged with the team during the sprint, he or she cannot add to or change the sprint backlog during the sprint.

Potentially Shippable and Done

At the completion of a sprint, the entire product (or application) must be in a potentially shippable state. This is the responsibility of the whole team. While the business may make a decision to not deploy the product or application to the end of the sprint, all product backlog items must be complete for that sprint. Potentially shippable means that each item in the sprint backlog must be done. What done means is the often the subject of much discussion and negotiation among the team, the Scrum Master, and the product owner during the initial adoption of Scrum. In Scrum, there should be no defects at the end of a sprint. If there are, they should be the placed at the top of the backlog product log to be worked on during the next sprint.

What Does Scrum Not Do?

Scrum tends to discourage some existing practices and is silent about others. It is not a project management system. You will not see Gantt charts in Scrum. Scrum would discourage these as it implies fixed long-term commitments, which do not exist. Instead, in Scrum, you have burn down charts for the current sprint, and the product backlog is representation work to be done after the current sprint is complete.

 

Agile programming and Scrum are platform-neutral. This was not obvious to me at first. It seemed like something for those other, non-IBM i teams, but that certainly is not the case.

 

Scrum is not something you can decide to implement just as a team member or as a development manager.  As you must have all roles filled to do effective Scrum, you must have commitments from parts of the organization that you would draw stakeholder and product owner roles from. Executive  commitment is also needed due the interdepartmental nature of Scrum.

 

Scrum is silent on who manages the development. The Scrum Master serves a facilitator/expeditor role and specifically cannot be a staff manager of the teams.

How Do I Learn More?

Scrum has achieved a wide level of acceptance in our industry. As such, it has manifested itself with two main advocacy bodies: the Scrum Alliance and Scrum.org. There are also other resources, such as local user groups, international conferences, pundits, classes, certifications, articles galore, and online communities. Furthermore, you will also find many other Scrum-like approaches  to agile development that include elements of other development methodologies or give more direction in areas where Scrum is silent. 

 

Software products, whether single-purpose agile-only focused products or Application Lifecycle Management (ALM) products that include Scrum and agile capabilities in their overall set of capabilities, can help with the implementation of scrum projects and eliminate some of the more tedious manual aspects. 

In Summary

Explaining Scrum in one short article is rather challenging. I suspect you may be left with more questions than answers. Certainly, my first exposure left me a bit confused about some of the concepts. Hopefully, there has been enough here to whet your appetite and encourage you explore the topic more.

 

At the end of the day, Scrum has been used successfully in both small and larger organizations around the world to deliver better, higher-quality applications that meet the needs of their stakeholder community. At the same time, Scrum allows teams to do what they enjoy doing: build better applications.

 

Marty Acks

Marty Acks joined MKS in 1998 and plays a strategic role in defining the company's product direction for Application Lifecycle Management offerings. Mr. Acks is an authority in the area of software configuration management and change management. Prior to MKS, Mr. Acks held a variety of technical and management positions with Professional Computer Resources (PCR) and Pansophic Systems and co-founded Silvon Software.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: