Extract - Scrum Tuning: Lessons learned from Scrum implementation
2009.03.01. 00:00 takacsot
Szólj hozzá!
Extract - Hyperproductive Distributed Scrum Teams
2009.02.27. 16:38 takacsot
Nagyon jó előadás a Scrumról. A címmel ellentétben kb az előadás harmada szól az distributed team-ekről. A többi pedig a Scrum maga. Nagyon érdekes mellékes dolgok derülnek ki az aleőadásból.
Szólj hozzá!
Extract - FlaccidScrum
2009.02.21. 21:01 takacsot
There's a mess I've heard about with quite a few projects recently. It works out like this:
- They want to use an agile process, and pick Scrum
- They adopt the Scrum practices, and maybe even the principles
- After a while progress is slow because the code base is a mess
What's happened is that they haven't paid enough attention to the internal quality of their software. If you make that mistake you'll soon find your productivity dragged down because it's much harder to add new features than you'd like. You've taken on a crippling TechnicalDebt and your scrum has gone weak at the knees. (And if you've been in a real scrum, you'll know that's a Bad Thing.)
Szólj hozzá!
Tom Gilb: Principles of Software Engineering Management
2009.02.19. 22:40 takacsot
Tom Gilb munkájának eredményét már korábban is ismertem (lásd Evo). elérkezett az idő arrra, hogy megszerezzem egyik könyvét és meglássam, hogy a kivonatok, cikkek alapján az egész köny és a mögötte lévő tudás is olyan jó, mint gondoltam.
Kettős eredménye lett. Tudás és érték ott van. Fenomenális mű. Ott van minden, amiről beszélni akar. De a stílusa számomra kicsit nehézkes. Vagy ami talán jobb szó lenne rá az, hogy száraz. Fele olyan tempóben nem értem végig rajta, mint Rothman könyvén (erről majd később bővebben).
Két terület igazán fontos munkályában: a követelmények kezeláse és az evolutionarz delivery. Minden fejezet ezen két téma körül forog.
Szólj hozzá!
Címkék: evo project quality management agile requirement
Susanna Clarke: A Hollókirály
2009.02.17. 22:31 takacsot
Kiválló hangulatú regény. Ugyan az írója korunkbeli, de hangulatilag roppant ódon regényt hozott össze. De pontosan ez adja azt a kiválló hangulatot, ami megragadott. Külön örömömre szolgál, hogy meglehetősen vaskos regényre sikerült, tehát tovább tartott, mint a legtöbb könyvem.
Történetileg egyszerű, de hangulatos 19. századi angliai történet. Az angol mágia felemelkedésének története. Két mágus, aki a nagy ősőkön alapuló tudományt tanulmányoz. Barátokból ellenségek, majd partnerek lesznek. És mellékesen a tündék visszatérnek Angliába.
Szólj hozzá!
Revisited - Henrik Kniberg: Scrum and XP from the Trenches
2009.02.13. 16:49 takacsot
Már korábban is írtam erről az irományról. korábban kb 45 oldal volt most már laza 100 oldalra hízott. Azaz folyamatosan fejlesztik. Szóval megint csak kiválló mű.
Szólj hozzá!
Extract - Messaging is not just for investment banks
2009.02.09. 07:36 takacsot
I’m not sure why, but I got the impression that lots of people think that messaging is only for huge systems in investment banks, not something that a small or a mid-size project should consider at all. This is false and now I’ll try to convince you.
In a nutshell, messaging allows us to reliably break up a single process into several parts which can then be executed asynchronously. They can be executed with different threads, or even on different machines. The parts communicate by sending each other messages. The messaging framework guarantees that messages get delivered to the right recipient and wake up the appropriate thread when a message arrives.
Fire and Forget
Messaging is a great solution when you want to ensure that something gets done, but you don’t really care about the results and you don’t want to wait for it to finish. This kind of behaviour can often be found when the last part of a process requires talking to an external system or some sort of batch processing.
Just leave it there when you’re done
Another very interesting case is when there is a resource intensive or a time consuming operation that we want to execute and we care about the results, such as generating a long report or processing transactions with external payment providers.
Share the load
Whenever lots of different agents can request some work to be done, consider messaging as a way to decouple requesters and workers.
Szólj hozzá!
Printable Paper - Don’t Buy Paper- Just Print It
2009.02.08. 08:57 takacsot
Szólj hozzá!
Címkék: gtd
Multitasking a dashboardon
2009.02.08. 08:40 takacsot
Feature-ök, story-k taskokból állnak. Többől is. Némely fejlesztőnél észrevettem, hogy egyszerre több taskon is dolgozik ugyan azzal a feature-vel kapcsolatban (daily standup során világosan látszik, hogy napról napra több taskot tesz fel, de ne teszi át a done állapotba). Miért lehet ez?
- Kicsik a taskok és többet is el tud végezni. Igen ez triviális, de lást entebb nem ez ahelyett, mert akkor a régiek kikerülnek in progress állapotból.
- Többen dolgoznak rajta, mint jelezték és azok munkája is az adott emberen keresztül jelenik meg. Uff! Pedig a daily standup pont erre van.
- Nem jól bontja fel a taskot. Olyan feladatokat határozott meg, amik kész volta nem egyértelműen meghatározható, csak a többi vagy éppen a teljes feature elkészítése után dönthető el.
- Hibásan értelmezi a taskot. Tipikusan kevesebbet értenek a taskba, mint ami oda tartozik. Pl "középréteg művelet implementálása" az üzleti logika kifejtését jelenti. De bizony ide tartozik a db és a kliens stubok kapcsolódó változtatása is. ez egyből több modult érint és emiatt kerül több task, mert akkor már "elkezdi" a UI-t is. Hasonló az előzőhöz.
- Nincs tisztában azza, hogyan is akarja megoldani a feladatot. Mindenbe belekap. Megint csak a hibás feladat felosztás egy variánsa.
És mit lehet tenni?
Szólj hozzá!
Címkék: standup agile scrum
Extract - Újévi fogadalom
2009.02.03. 22:03 takacsot
Pénzügyi kontroll megteremtése: tessék írásban vezetni minden kiadást és bevételt. Aztán tessék csoportosítani és összegezni. Ez egy látszólag rendkívül egyszerű dolog - ugyanakkor mintha egy hatalmas szőrös kéz nyúlna ki az ember hátsó agyából (hah micsoda kép!) és akadályozná a rendszeres bevezetést.
Kilábalás az adósság csapdából
Rövidtávú biztonság: 3-6 havi tartalék és a mindenre kiterjedő biztosítás
Megvalósítom életem nagy céljait - és most elkezdem
Szólj hozzá!
Extract - Clarifying the Purpose of Iteration Planning
2009.02.01. 20:56 takacsot
In my view, the purpose of the iteration planning is for the team to arrive at a commitment to some set of functionality that they feel reasonably confident they can complete in the coming iteration. The purpose is not to identify tasks. The purpose is not to estimate the number of hours for each of those tasks. The purpose is to figure out how many and which product backlog items they can commit to delivering in the coming iteration.
Szólj hozzá!
Extract - Differentiate to avoid being a “me too”
2009.01.28. 20:40 takacsot
Cooper offers these “seven ingredients of a unique, superior product with real value for the customer”:
Meets customers’ needs better than competitive products.
Is a better-quality product than competitors’ (however the customer defines quality).
Has unique benefits and features for the customer.
Solves customers’ problems with competitive products.
Reduces the customer’s total in-use costs (better value-in-use).
Has highly visible benefits for users.
Is innovative or novel — the first of its kind on the market.
More importantly, he adds: “Note that product superiority is defined in the eyes of the customer!” While you may believe your product to be superior on one or more of these dimensions, it is ultimately up to the market to decide whether this is the case. Too often the view of product superiority and differentiation is different from those within the company versus those in the market.
Szólj hozzá!
Extract - 100 Interview Questions for Software Developers
2009.01.26. 21:30 takacsot
Requirements
Can you name a number of non-functional (or quality) requirements?
What is your advice when a customer wants high performance, high usability and high security?
Can you name a number of different techniques for specifying requirements? What works best in which case?
What is requirements tracing? What is backward tracing vs. forward tracing?
Which tools do you like to use for keeping track of requirements?
How do you treat changing requirements? Are they good or bad? Why?
How do you search and find requirements? What are possible sources?
How do you prioritize requirements? Do you know different techniques?
Can you name the responsibilities of the user, the customer and the developer in the requirements process?
What do you do with requirements that are incomplete or incomprehensible?
Functional Design
What are metaphors used for in functional design? Can you name some successful examples?
How can you reduce the user's perception of waiting when some functions take a lot of time?
Which controls would you use when a user must select multiple items from a big list, in a minimal amount of space?
Can you name different measures to guarantee correctness of data entry?
Can you name different techniques for prototyping an application?
Can you name examples of how an application can anticipate user behavior?
Can you name different ways of designing access to a large and complex list of features?
How would you design editing twenty fields for a list of 10 items? And editing 3 fields for a list of 1000 items?
What is the problem of using different colors when highlighting pieces of a text?
Can you name some limitations of a web environment vs. a Windows environment?
Technical Design
What do low coupling and high cohesion mean? What does the principle of encapsulation mean?
How do you manage conflicts in a web application when different people are editing the same data?
Do you know about design patterns? Which design patterns have you used, and in what situations?
Do you know what a stateless business layer is? Where do long-running transactions fit into that picture?
What kinds of diagrams have you used in designing parts of an architecture, or a technical design?
Can you name the different tiers and responsibilities in an N-tier architecture?
Can you name different measures to guarantee correctness and robustness of data in an architecture?
Can you name any differences between object-oriented design and component-based design?
How would you model user authorization, user profiles and permissions in a database?
How would you model the animal kingdom (with species and their behavior) as a class system?
Construction
How do you make sure that your code can handle different kinds of error situations?
Can you explain what Test-Driven Development is? Can you name some principles of Extreme Programming?
What do you care about most when reviewing somebody else's code?
When do you use an abstract class and when do you use an interface?
Apart from the IDE, which other favorite tools do you use that you think are essential to you?
How do you make sure that your code is both safe and fast?
When do you use polymorphism and when do you use delegates?
When would you use a class with static members and when would you use a Singleton class?
Can you name examples of anticipating changing requirements in your code?
Can you describe the process you use for writing a piece of code, from requirements to delivery?
Algorithms
How do you find out if a number is a power of 2? And how do you know if it is an odd number?
How do you find the middle item in a linked list?
How would you change the format of all the phone numbers in 10,000 static html web pages?
Can you name an example of a recursive solution that you created?
Which is faster: finding an item in a hashtable or in a sorted list?
What is the last thing you learned about algorithms from a book, magazine or web site?
How would you write a function to reverse a string? And can you do that without a temporary string?
What type of language do you prefer for writing complex algorithms?
In an array with integers between 1 and 1,000,000 one value is in the array twice. How do you determine which one?
Do you know about the Traveling Salesman Problem?
Data Structures
How would you implement the structure of the London underground in a computer's memory?
How would you store the value of a color in a database, as efficiently as possible?
What is the difference between a queue and a stack?
What is the difference between storing data on the heap vs. on the stack?
How would you store a vector in N dimensions in a datatable?
What type of language do you prefer for writing complex data structures?
What is the number 21 in binary format? And in hex?
What is the last thing you learned about data structures from a book, magazine or web site?
How would you store the results of a soccer/football competition (with teams and scores) in an XML document?
Can you name some different text file formats for storing unicode characters?
Testing
Do you know what a regression test is? How do you verify that new changes have not broken existing features?
How can you implement unit testing when there are dependencies between a business layer and a data layer?
Which tools are essential to you for testing the quality of your code?
What types of problems have you encountered most often in your products after deployment?
Do you know what code coverage is? What types of code coverage are there?
Do you know the difference between functional testing and exploratory testing? How would you test a web site?
What is the difference between a test suite, a test case and a test plan? How would you organize testing?
What kind of tests would you include for a smoke test of an ecommerce web site?
What can you do reduce the chance that a customer finds things that he doesn't like during acceptance testing?
Can you tell me something that you have learned about testing and quality assurance in the last year?
Maintenance
What kind of tools are important to you for monitoring a product during maintenance?
What is important when updating a product that is in production and is being used?
How do you find an error in a large file with code that you cannot step through?
How can you make sure that changes in code will not affect any other parts of the product?
How do you create technical documentation for your products?
What measures have you taken to make your software products more easily maintainable?
How can you debug a system in a production environment, while it is being used?
Do you know what load balancing is? Can you name different types of load balancing?
Can you name reasons why maintenance of software is the biggest/most expensive part of an application's life cycle?
What is the difference between re-engineering and reverse engineering?
Configuration Management
Do you know what a baseline is in configuration management? How do you freeze an important moment in a project?
Which items do you normally place under version control?
How can you make sure that team members know who changed what in a software project?
Do you know the differences between tags and branches? When do you use which?
How would you manage changes to technical documentation, like the architecture of a product?
Which tools do you need to manage the state of all digital information in a project? Which tools do you like best?
How do you deal with changes that a customer wants in a released product?
Are there differences in managing versions and releases?
What is the difference between managing changes in text files vs. managing changes in binary files?
How would you treat simultaneous development of multiple RfC's or increments and maintenance issues?
Project Management
How many of the three variables scope, time and cost can be fixed by the customer?
Who should make estimates for the effort of a project? Who is allowed to set the deadline?
Do you prefer minimization of the number of releases or minimization of the amount of work-in-progress?
Which kind of diagrams do you use to track progress in a project?
What is the difference between an iteration and an increment?
Can you explain the practice of risk management? How should risks be managed?
Do you prefer a work breakdown structure or a rolling wave planning?
What do you need to be able to determine if a project is on time and within budget?
Can you name some differences between DSDM, Prince2 and Scrum?
How do you agree on scope and time with the customer, when the customer wants too much?
Szólj hozzá!
Extract - Open-plan offices make workers sick
2009.01.24. 20:51 takacsot
Australian scientists have reviewed a global pool of research into the effect of modern office design, concluding the switch to open-plan has led to lower productivity and higher worker stress.
Szólj hozzá!
Extract - Top 25 Most Dangerous Programming Mistakes
2009.01.20. 20:08 takacsot
Semmi kiemelendő, mert jó összefoglaló. Kár, hogy még mindig figyelni kell ezekre.
Szólj hozzá!
Extract - Retrospective Facilitation
2009.01.18. 18:05 takacsot
Before we held this retrospective, I think some of the team members felt that we would not gain much from doing a full-day retrospective this time around. We had made good progress on our action items from the previous retrospective, and the general feeling was that things were going basically well. What could we possibly need to change?
People, please don’t hold retrospectives only when your team feels like there’s a problem that needs to be dealt with. If you hold retrospectives on a regular basis, whether you feel like you “need” to or not, you will uncover issues before the become problems. In our case, we managed to uncover a number of issues during our retrospective that could easily have grown into much larger problems if we didn’t bother to think about them until the effect was obvious.