Development madness

Related gallery

10 ways to fix a slow PC

10 ways to fix a slow PC

Requirements are unclear, but coding continues as your team strives to hit deadlines. Could agile methods help ensure project success?

Software development can be maddening, especially when requirements remain murky even as coding proceeds due to deadlines. As the team leader, you're responsible for results, and so you try to pick the development methodology that will lead to success. There are many methods to choose from nowadays, and that's where you can get into trouble. As a programmer, you know programming is an art, but as a manager, you want it to be a science so you can predict the results when you follow the "rules." Following the rules means turning methodological theory into practice. This is the challenge down in the trenches, where the code meets the road.

Agile programming
In the past few years, "agile methods" have been touted as a kind of Holy Grail of development methodology. As defined by the Agile Manifesto, the term "agile" is any method of building software that emphasises:

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

These principles aren't a method, but rather the guiding framework upon which you can build a unique development style that fits your corporate culture while embracing the concepts of agility promoted by the manifesto.

Look at Figure A to see what the first agile guideline can mean for you as both a programmer and a manager.
Figure A

First guideline
Programmer perspective
Manager perspective
Individuals and interactions
Finally! I get to allow collaboration among team members to determine the release date rather than back-fill the schedule from the boss' uninformed expectations.
Hold on! You mean I have to trust the programmers and business analysts to set the agenda? Sales depend on meeting a deadline, so the team is just going to have to live with my date!
Process and tools
Yuck! We have to go through all these committees, processes, and tedious documentation to define what we already know how to build.
Great! At least I'll have a sense of control and be able to measure progress as development proceeds.

I've set up a bit of a straw man in the list above, in case you didn't notice. The two perspectives, programmer and manager, are both yours to own as the leader of the team. This is where theory meets practice. As a manager, you want control over every aspect of the development cycle. As a programmer, you know that even the best designs can change your well-conceived plans. Balancing these two perspectives is what creating a workable method is all about. The agile school says that the balance should be tipped in favor of individuals and interactions. This can leave the manager in you feeling a loss of control. Well, you may have to get over your need for control if you want to have the flexibility to adapt to changing requirements while the coding proceeds. Have you ever really worked on a software product where the requirements were truly complete before you began coding? I didn't think so.

How about the second guideline? What does it look like from your dual roles as manager and programmer? A bit like Figure B.
Figure B

Second guideline
Programmer perspective
Manager perspective
Working software
This is what they want, so what's not to like? I'll make sure it works.
Yes, this is the goal, and testing takes time; programmers aren't the best testers.
Comprehensive documentation
It will be out of date after the next version. Why bother? (Or, the deceptively simple view: The code is the documentation.)
Yeah, but how does it work, and will anybody be able to maintain and extend it? Users want help files, and design documents are needed.

Again, you must see the merit in both views and strive to seek a balance in your development methodology. Everybody wants working software, but unless it has some associated metadata, neither the programmers nor the customers are going to be able to fully appreciate the details or the way-cool features.

Let's look at the next agile guideline. We're building some momentum here that can help you put some method in the madness you struggle with daily. Take a look at Figure C.
Figure C
Third guideline
Programmer perspective
Manager perspective
Customer collaboration
Wow! Actual users are going to evaluate my interim builds? This should really help.
This project will never end because users always want to change things.
Contract negotiation
This is not what I signed up for. Let the lawyers deal with this.
If we agree to a fixed set of features, then we can control the development effort.

Sometimes programmers shy away from dealing with customers, but we all know that understanding the users' needs is the only way to build truly great software. Managers, of course, are concerned with scope creep, but if you deliver a product that no one can use, have you made the right choice? Again, balance is needed and, since no one likes lawyers, I would vote for the collaborative approach.

Finally, the fourth and final guideline can present the views in Figure D.
Figure D
Fourth guideline Programmer perspective Manager perspective
Responding to change
I do this every day. For example, yesterday's test results dictate that I must change the design if this product is going to come together.
Change is bad! I will make every effort to resist it. The requirements must be fully defined up front.
Following a plan
I'm not a machine! I want some freedom to be creative in my work.
This plan has been thoroughly thought out and, if executed properly, will produce the desired results.

Sure, plans are good, but nothing is worse than executing a plan when it produces software whose requirements were not fully understood in the first place. Sometimes, when you execute a plan blindly, you'll get what you planned for—it just won't be what you really need. On the other hand, without some kind of plan, your programmers will just code what they feel is important, and you'll still miss the mark. Obviously, you need to strike a balance between these two opposing perspectives. Your method must seek to combine the best of both ways of seeing the path to a solution.

I've given you lots of theory, and here's a bit more. Walt Whitman, in his great poem Song of Myself, said in closing: "Do I contradict myself? Very well, then, I contradict myself, I am large, I contain multitudes." Whitman summarises nicely what it means to develop a practical methodology: you must hold seemingly contradictory demands in a dynamic tension that allows the fluid requirements to be eventually encapsulated by software solutions that are "good enough." You'll never get everything right or complete in Version 1. That's why we have "maintenance releases," a term often viewed as hilarious from a pure engineering perspective but truly correct in a practical sense and, thus, linguistically accurate.

In future articles, I'll explore some of the agile methods proposed in current literature as well as look at the more traditional ways of building software. Please post your comments so I can see if I'm helping address your madness or if I'm simply crazy myself.

Talkback

Add your opinion

In order to post a comment, you need to be registered. (Sign In or register below)

Post your comment

Terms of Service - As a ZDNet registrant, and by using this service, you indicate that you agree to our Terms and Conditions and have read and understand our Privacy Policy.

ZDNet Australia Live

#Spotify finally goes Live in Australia http://t.co/VFP8Xq8U

"@ZDNet: SAP gets huge cloud and extended business process boost with Ariba acquisition http://t.co/Ro04GlP4" ->#SAP strengthening its cloud

RT @zdnetaustralia: The Westpac board have gone paperless using iPads and a secure, home-grown app environment: http://t.co/F1d17bvF ^LH

BYOD: What the people think http://t.co/5Mh2x0u9 via @zite #byotchat #edtech

Interesting..Who uses Twitter for job search? http://t.co/KuWVItXK @zdnetcharlie

SAP gets huge cloud and extended business process boost with Ariba acquisition: SAP is focused on global cloud g... http://t.co/75ps1wG3

Microsoft exec: Dynamics CRM, AX aims to feast Oracle, SAP switchers http://t.co/XiC912eT

Polo Ralph Lauren est une marque de vêtements américaine haut de gamme fondée par Ralph Lauren en 1967. Dès 1969, une boutique Ralph ...

2 hours ago by geadwaylype on Westpac board goes paperless with iPads

#SAP wants to be the biggest cloud player by 2015... http://t.co/fLwejro7

RT @playbiggeradv: #SAP wants to be the biggest cloud player by 2015... http://t.co/fLwejro7

Handy overview of #Android 's major #security flaws: http://t.co/oiVrKSHb #mobile #infosec

The implications of NZ school Principals demanding access to student mobile devices | ZDNet http://t.co/jMSJXzpT

michael kors purse http://www.michaelkorshandbags-online.com/#37 ZLlrPzyxFdu

4 hours ago by YJyqTygeShm on Kodak files for bankruptcy, sues Samsung

Google closes Motorola buy: http://t.co/9ezoLnSg

War talk dominates #AusCERT 2012 - http://t.co/WbuTt174 - #security #cyber

Nuance launches in car voice activated platform (Zack Whittaker ZDNet) http://t.co/9mFEA93c

Sage simplifies SMB payment management http://t.co/gbAKq1ku

A farewell to democracy: Kaspersky http://t.co/zE2SAGol via @zdnetaustralia

Private Cloud: 'Everyone’s got one. Where's yours?': Promising the business a cloud delivered within your own ... http://t.co/jCsDqPlj

BYOD: What the people think http://t.co/hR1pokPG

@ZDNet
R they joking? iPhone only way 2 go!
New 5 out in October (we think) & will kill all copycat phones, AGAIN!!

Android's biggest security flaws - Security - News - ZDNet Australia http://t.co/6nYZRvhh
@sjshock

Google: We now own Motorola Mobility http://t.co/oeFgovzl

@dougsteelman RT @dellsecureworks : Security researcher Tim Vidas of Dell SecureWorks outlines problems with the Androi…http://t.co/BE4LmItr

EMC hones focus on hybrid cloud, big data http://t.co/To6Qpsz4 #bigdata #XBRL #GRC $$

#Security researcher Tim Vidas of @DellSecureworks outlines some concerns with the #Android operating system: http://t.co/gV8MgCiN

Article and Infographic: Retailers attracting the next-gen customer http://t.co/UL3E2Fct #socialmedianews

adgtqMkWiDg //www.2012chanelbagsforsale.com]chanel handbags RKaOBd krFiudOGrBw //www.2012chanelbagsforsale.com]chanel outlet GQXRRYsDNI...

8 hours ago by rfcdvpmubn on Deakin Uni opts for Cisco Unified Computing

“@Techmeme: TiVo streaming coming to iOS this summer (@jasonogrady / ZDNet) http://t.co/07L0ndoD ” < wonder if it will work in AU

Security researcher Tim Vidas of Dell SecureWorks outlines problems with the Android operating system: http://t.co/lA4t9ffu

Why I (now) hate Apple | ZDNet - http://t.co/f5v6BWxu

A farewell to #democracy: (according to)> #Kaspersky http://t.co/82GeK5Ik via @zdnetaustralia

I am not sure how this issue becomes an attack on Mr Turnbull. But I guess he is fair game. In any event I would have thought a Ddos woul...

9 hours ago by Doubt on National Botnet Network coming: Earthwave

RT @JamesVickery: Westpac board goes paperless with iPads http://t.co/L8V05zFs

I still use 98SE. Windows ME was an abortion in a bucket and Vista was ME without the bucket. My screen may look boring, but I jumped str...

9 hours ago by Treknology on Microsoft admits Vista was 'cheesy'

What is it [url=http://vintage-erotic.com/] retro xxx movies [/url]? And why all this it is possible to look free of charge?

9 hours ago by Drienlyinhibe on Australian police swoop on Warez community

Windows 8 includes enhanced multi-monitor support http://t.co/ZVfVHntw

This story has been voted 10 times in the last 24 hours!

10 hours ago, CeBIT 2012 opens: photos

Android users, you think only Apple are having security problems. See what is your major problem.
http://t.co/cjJYSOJw #infosec

RT @my_CISB: Android users, you think only Apple are having security problems. See what is your major problem.
http://t.co/cjJYSOJw #infosec

This story has been voted 15 times in the last 24 hours!

10 hours ago, Lenovo ThinkPad 3G tablet (32GB)

RT @aimee_maree: "For Buytaert, Drupal owes much of its success to being open source" http://t.co/RdnHB2y9 #Drupal

Malware charges users for free Android apps on Google Play - http://t.co/Zhnf2rtw

Well I don't know what they have done with their EFTPOS machines, local one in WA Coles Express I used this morning and I normally do "ch...

10 hours ago by harryinthesoup on Coles ditches PINs in payment pilot

ルブタンは彼が彼の靴に女性が感じる方法を好む、 クリスチャンルブタンポンプ これは彼がそれらを...

11 hours ago by Coiffboarieri on Reservoir blogs: Fan fakes Tarantino diary

6.7 M last ditch attempt - interesting - The Auckland region (population 1.4 mil) has estimated to have spent less than this in total ...

13 hours ago by debsteele on Vic scraps HealthSMART system

Interesting - no mention of Win 98/ME/2000 ... which heralded Internet access for millions of users ? I thought Win 98/ME would be the mo...

15 hours ago by gouranga on Microsoft admits Vista was 'cheesy'

An Application like Good from Good Technologies does the same thing, working with the enterprise email server and is off the shelf.

15 hours ago by Helpdesk123 on Westpac board goes paperless with iPads

Never mind a "B+" version, go for "C" and put in a few extras. I'd like a high speed ADC (100Msps) but that's just me... Final size? Equ...

16 hours ago by sa_penguin on Raspberry Pi architect mulls design change

what a non-story. these thing happen all the time. is zdnet short on material?

16 hours ago by paulwrussell on Spotify launch suffers redirect bungle

4 months old phone died. Took 6 weeks, three visits to the authorised repairer (Fonebiz) to "fix it". 2nd hand untested parts used, I say...

17 hours ago by paracin on Sony Ericsson Xperia Arc S

It's easy to rubbish an old operating system long after the rest of the world has already passed judgement upon it. I would be far more i...

17 hours ago by ramnet on Microsoft admits Vista was 'cheesy'

If Vista is cheesy, Metro is an over-ripe Stilton.

18 hours ago by meski on Microsoft admits Vista was 'cheesy'

you are kidding right - what qualification do you have to make such wildy stupid statements - do you really have customers who pay you fo...

18 hours ago by rant rant rant on National Botnet Network coming: Earthwave

Exactly. There are two topics of discussion, that are co-mingled; 1) Unauthorized software was put on the company device, by an IT person...

21 hours ago by lamont on ABC's Bitcoin miner tackled in minutes

First off, Bitcoin is not a virus. Second off, the only way to generate Bitcoins, is by using a Bitcoin miner. More information on this h...

1 day ago by rizowski on ABC's Bitcoin miner tackled in minutes

When an operating system is sold it should not launch until an approved security service is purchased online with a list of approved supp...

1 day ago by Kevin Cobley on National Botnet Network coming: Earthwave

Facebook Activity

Keep up with ZDNet Australia

ZDNet Events Calendar

ZDNet Events Calendar