Agile software development

Scrum and agile software development methodologies can reduce time & augment quality of projects significantly over traditional methods. Here's how.

07/01/2009


On every software project, it is inevitable that that someone makes the statement, “Just give me a handful of developers and I could get this done in half the time!”

In large development projects everyone seems to spend most of their time in meetings, letting everyone else know what is happening and what the problems are. There often seems to be little effort done “in moving the ball forward” (using sports terminology). In fact a lot of the effort seems to be moving the ball backwards when user requirements change and new solutions are discovered.

There is a method to address these problems. The method is controversial because it goes against the belief that more requirements are better. Many project managers believe that if only the users could write better requirements, then projects would not be late and over budget. Unfortunately, often users cannot articulate their requirements for at least two reasons: requirements change over time, and users don't know what is actually possible. Methodologies known as “Scrum” and “Agile” address these problems.

Scrum is an incremental framework for managing projects and is often coupled with the Agile software development methodology for software projects. The name Scrum comes from rugby, where teams move the ball forward in small steps as a unit by passing the ball back and forth. In software development, Scrum describes a small team working closely with end users to move the project code forward in small steps.

Scrum defines a set of practices and predefined roles for running a project through a series of small iterations called sprints. Each sprint is 10 to 20 working days long. Scrum is designed for projects with rapidly changing or not well understood requirements.

Form a Scrum team

A Scrum team typically has five to nine members. These include a “product owner” who is the user or customer representative and the ScrumMaster who is responsible for helping the team use the Scrum process and protecting the team from irrelevant outside influences. The team members are identified as either “chickens” or “pigs.”

The terms come from a joke about a chicken and pig: 'A pig and a chicken are walking down a road. The chicken looks at the pig and says, “Hey, why don't we open a restaurant?” The pig looks back at the chicken and says, “Good idea, what do you want to call it?” The chicken thinks about it and says, “Why don't we call it 'Ham and Eggs'?” “I don't think so,” says the pig, “I'd be committed, but you'd only be involved.”

The product owner, ScrumMaster and team members are pigs—they are committed to the project and process. Managers, other users and stakeholders are chickens—they are just involved in the process. Both pigs and chickens are required for a Scrum project, but the pigs do the real work.

Get agile

Agile defines a set of software development methodologies based on iterative development, where both requirements and solutions are co-developed through a collaboration process. Agile defines software development aspects which include continual peer review of developed code, real-time interaction with users to evaluate ideas and implementations, and rapid development cycles measured in hours or days.

Agile methodologies go by many names, including Extreme Programming [learn more from Control Engineering ] , Feature Driven Development, and Dynamic Systems Development. Early adaptors of the Agile methods were compared to “cowboy programmers,” but the methods are well-defined and, when honestly applied, can lead to significant reductions in project time and much higher rates of successful projects.

If your projects never seem to complete on time and budget, then Scrum and Agile may be your answer. They are a well proven approaches to software projects.

Read other engineering-IT software tutorials from Dennis Brandl .


Author Information

Dennis Brandl is president of BR&L Consulting in Cary, NC, www.brlconsulting.com . His firm focuses on manufacturing IT. Contact Dennis at dbrandl@brlconsulting.com .




No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
The System Integrator Giants program lists the top 100 system integrators among companies listed in CFE Media's Global System Integrator Database.
The Engineering Leaders Under 40 program identifies and gives recognition to young engineers who...
This eGuide illustrates solutions, applications and benefits of machine vision systems.
Learn how to increase device reliability in harsh environments and decrease unplanned system downtime.
This eGuide contains a series of articles and videos that considers theoretical and practical; immediate needs and a look into the future.
Sensor-to-cloud interoperability; PID and digital control efficiency; Alarm management system design; Automotive industry advances
Make Big Data and Industrial Internet of Things work for you, 2017 Engineers' Choice Finalists, Avoid control design pitfalls, Managing IIoT processes
Engineering Leaders Under 40; System integration improving packaging operation; Process sensing; PID velocity; Cybersecurity and functional safety
This article collection contains several articles on the Industrial Internet of Things (IIoT) and how it is transforming manufacturing.

Find and connect with the most suitable service provider for your unique application. Start searching the Global System Integrator Database Now!

SCADA at the junction, Managing risk through maintenance, Moving at the speed of data
Flexible offshore fire protection; Big Data's impact on operations; Bridging the skills gap; Identifying security risks
The digital oilfield: Utilizing Big Data can yield big savings; Virtualization a real solution; Tracking SIS performance
click me