common problems of software development

Download Common Problems of Software Development

If you can't read please download the document

Upload: aleksejs-truhans

Post on 16-Apr-2017

6.742 views

Category:

Technology


4 download

TRANSCRIPT

Common Problems of Software Development

Aleksejs Truhans
10.05.2012 @ tsi.lv

Who's speaking?

Who? Programmer, student, teacher, administrator, father, analyst, project manager, team leader...

Where?citadele.lv, tsi.lv, nh.lv, javaguru.lv, agile-latvia.org

Contacts? @AleksejsTruhans, [email protected]

Things I haven't been taught in university

Unit tests

Version control

Issue tracking

Test driven development

Pair programming

=> javaguru.lv

Recent trends

Protecting personal data. And sharing them. Simultaneously

Mobile computing

Stop pushing features, start delighting users

Multiprocessor parallel computing

http://writerunboxed.com/2006/10/09/driving-the-deadline/

We work hard...

By Simon Baker, http://www.energizedwork.com/weblog/2007/11/xpday7-why-do-agile-projects-fail

yet we never know the future.

http://community.humanityhealing.net/group/toolsforshiftingperspective/forum/topics/is-what-you-see-real-change-your-perception-change-your-life

Our perception changes...

http://www.tnp.sg/picture/big-picture-week-12-finalist-5

People change...

http://vxside.deviantart.com/art/4-seasons-81436429

So does the environment.

simplicity

discipline

value

feedback

beyond rules and roles

On February 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, seventeen representatives convened...

http://agilemanifesto.org/

We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

http://www.scrollinondubs.com/2005/11/23/book-review-agile-software-development-by-alistair-cockburn/

Applicability

http://duncanpierce.org/node/163

Applicability

http://brucesmideastsoundbites.blogspot.com/2009/03/down-drain-pouring-money-down.html

Some of our work goes down the drain

Most of time it's almost ready

We lie to ourselves

Customers will understand

We will fix it in the next release

Efficiency deterioration

Continuous attention to technical excellence and good design enhances agility.


Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

http://agilemanifesto.org/

More in Economics of Software Design by J.B.Rainsberger

http://jbrains.ca

http://www.youtube.com/watch?v=7HecgbghFTk

Individuals and interactions over processes and tools

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The best architectures, requirements, and designs emerge from self-organizing teams.

http://agilemanifesto.org/

http://knolt.com/projectmanagementconstruction/

Responding to change over following a plan

Simplicity--the art of maximizing the amount of work not done--is essential.

http://agilemanifesto.org/

http://lkb.lv/

Customer collaboration over contract negotiation

Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

http://agilemanifesto.org/

http://hypertonicreservoir.tumblr.com/

Business people and developers must work together daily throughout the project.


Working software is the primary measure of progress.

http://agilemanifesto.org/

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

http://agilemanifesto.org/

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

http://agilemanifesto.org/

We

learn

analyze

invent

communicate

make decisions

http://praguestepchild.blogspot.com/2011/02/pride-of-workmanship.html

Professionalism...

http://simply-the-test.blogspot.com/2010/05/it-works-on-my-machine.html

Responsibility...

/http://uphilldowndale.files.wordpress.com/

http://www.flickr.com/photos/lululemonathletica/4207563765/

Focus...

More:

http://articles.jbrains.ca/GettingStartedWithGettingThingsDone.pdf

http://www.stevepavlina.com/blog/2005/06/self-discipline/

http://www.stevepavlina.com/blog/2007/05/33-rules-to-boost-your-productivity/

http://agilemanifesto.org/

Interested?


Watch the presentations:

http://agileee.org/2011/07/15/keynote-the-extreme-decade/

http://agileee.org/2011/07/14/keynote-effective-software-development-in-the-21st-century-the-new-face-of-software-engineering/


Read the books...